Universe::IUniverseDomain class

The IUniverseDomain class represents the domain of a IUniverseVariable in a constraint problem.

Derived classes

class UniverseJavaDomain

Constructors, destructors, conversion operators

~IUniverseDomain() defaulted virtual

Public functions

auto size() const -> size_t pure virtual
auto currentSize() const -> size_t pure virtual
auto min() const -> Universe::BigInteger pure virtual
auto max() const -> Universe::BigInteger pure virtual
auto getValues() -> const std::vector<Universe::BigInteger>& pure virtual
auto getCurrentValues() -> const std::vector<Universe::BigInteger>& pure virtual
void keepValues(const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void keepValues(const std::vector<Universe::BigInteger>& values) pure virtual
void removeValues(const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void removeValues(const std::vector<Universe::BigInteger>& values) pure virtual

Function documentation

Universe::IUniverseDomain::~IUniverseDomain() virtual defaulted

Destroys this IUniverseDomain.

size_t Universe::IUniverseDomain::size() const pure virtual

Returns The size of this domain.

Gives the initial size of this domain, measured in number of values.

size_t Universe::IUniverseDomain::currentSize() const pure virtual

Returns The current size of this domain.

Gives the current size of this domain, measured in number of values.

Universe::BigInteger Universe::IUniverseDomain::min() const pure virtual

Returns The minimum value.

Gives the minimum value of this domain.

Universe::BigInteger Universe::IUniverseDomain::max() const pure virtual

Returns The maximum value.

Gives the maximum value of this domain.

const std::vector<Universe::BigInteger>& Universe::IUniverseDomain::getValues() pure virtual

Returns The list of initial values.

Gives the list of initial values of this domain.

const std::vector<Universe::BigInteger>& Universe::IUniverseDomain::getCurrentValues() pure virtual

Returns The list of current values.

Gives the list of current values of this domain.

void Universe::IUniverseDomain::keepValues(const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

Parameters
min The minimum value to keep (included).
max The maximum value to keep (excluded).

Keeps in this domain only the values between min and max.

void Universe::IUniverseDomain::keepValues(const std::vector<Universe::BigInteger>& values) pure virtual

Parameters
values The list of values to keep.

Keeps in this domain only the given values.

void Universe::IUniverseDomain::removeValues(const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

Parameters
min The minimum value to remove (included).
max The maximum value to remove (excluded).

Removes from this domain all the values between min and max.

void Universe::IUniverseDomain::removeValues(const std::vector<Universe::BigInteger>& values) pure virtual

Parameters
values The list of values to remove.

Removes from this domain all the given values.