Gecode::SetVar Class Reference
Functionality by programming task » Programming models » Using integer set variables and constraints » Set variables

Set variables More...

`#include <set.hh>`

## Related Symbols

(Note that these are not member symbols.)
template<class Char, class Traits>
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SetVar &x)
| Print set variable x.

## Constructors and initialization

| SetVar (void)
| Default constructor.
| SetVar (const SetVar &y)
| Initialize from set variable y.
| SetVar (const Set::SetView &y)
| Initialize from set view y.
| SetVar (Space &home)
| Initialize variable with empty greatest lower and full least upper bound.
| SetVar (Space &home, int glbMin, int glbMax, int lubMin, int lubMax, unsigned int cardMin=0, unsigned int cardMax=Set::Limits::card)
| Initialize variable with given bounds and cardinality.
| SetVar (Space &home, const IntSet &glbD, int lubMin, int lubMax, unsigned int cardMin=0, unsigned int cardMax=Set::Limits::card)
| Initialize variable with given bounds and cardinality.
| SetVar (Space &home, int glbMin, int glbMax, const IntSet &lubD, unsigned int cardMin=0, unsigned int cardMax=Set::Limits::card)
| Initialize variable with given bounds and cardinality.
| SetVar (Space &home, const IntSet &glbD, const IntSet &lubD, unsigned int cardMin=0, unsigned int cardMax=Set::Limits::card)
| Initialize variable with given bounds and cardinality.

## Value access

unsigned int | glbSize (void) const
| Return number of elements in the greatest lower bound.
unsigned int | lubSize (void) const
| Return number of elements in the least upper bound.
unsigned int | unknownSize (void) const
| Return number of unknown elements (elements in lub but not in glb).
unsigned int | cardMin (void) const
| Return cardinality minimum.
unsigned int | cardMax (void) const
| Return cardinality maximum.
int | lubMin (void) const
| Return minimum element of least upper bound.
int | lubMax (void) const
| Return maximum element of least upper bound.
int | glbMin (void) const
| Return minimum element of greatest lower bound.
int | glbMax (void) const
| Return maximum of greatest lower bound.

## Domain tests

bool | contains (int i) const
| Test whether i is in greatest lower bound.
bool | notContains (int i) const
| Test whether i is not in the least upper bound.

## Additional Inherited Members

Public Types inherited from Gecode::VarImpVar< Set::SetVarImp >
typedef Set::SetVarImp | VarImpType
| The variable implementation type corresponding to the variable.
Set::SetVarImp * | varimp (void) const
| Return variable implementation of variable.
unsigned int | degree (void) const
| Return degree (number of subscribed propagators and advisors).
double | afc (void) const
| Return accumulated failure count.
bool | assigned (void) const
| Test whether view is assigned.
void | update (Space &home, VarImpVar< Set::SetVarImp > &y)
| Update this variable to be a clone of variable y.
Protected Member Functions inherited from Gecode::VarImpVar< Set::SetVarImp >
| VarImpVar (void)
| Default constructor.
Protected Attributes inherited from Gecode::VarImpVar< Set::SetVarImp >
Set::SetVarImp * | x
| Pointer to variable implementation.

## Detailed Description

Set variables

Definition at line 127 of file set.hh.

## Constructor & Destructor Documentation

## SetVar() [1/8]

Gecode::SetVar::SetVar | ( | void |  | ) |

inline

Default constructor.

Definition at line 46 of file set.hpp.

## SetVar() [2/8]

Gecode::SetVar::SetVar | ( | const SetVar & | y | ) |

inline

Initialize from set variable y.

Definition at line 49 of file set.hpp.

## SetVar() [3/8]

Gecode::SetVar::SetVar | ( | const Set::SetView & | y | ) |

inline

Initialize from set view y.

Definition at line 53 of file set.hpp.

## SetVar() [4/8]

Gecode::SetVar::SetVar | ( | Space & | home | ) |

Initialize variable with empty greatest lower and full least upper bound.

Definition at line 43 of file set.cpp.

## SetVar() [5/8]

Gecode::SetVar::SetVar | ( | Space & | home,
|  | int | glbMin,
|  | int | glbMax,
|  | int | lubMin,
|  | int | lubMax,
|  | unsigned int | cardMin = 0,
|  | unsigned int | cardMax = Set::Limits::card )

Initialize variable with given bounds and cardinality.

The variable is created with greatest lower bound , least upper bound , and cardinality minimum cardMin and maximum cardMax. The following exceptions might be thrown:

- If the bounds are no legal set bounds (between Set::Limits::min and Set::Limits::max), an exception of type Gecode::Set::OutOfLimits is thrown.
- If the cardinality is greater than Set::Limits::max_set_size, an exception of type Gecode::Set::OutOfLimits is thrown.
- If cardMin > cardMax, an exception of type Gecode::Set::VariableEmptyDomain is thrown.

Definition at line 46 of file set.cpp.

## SetVar() [6/8]

Gecode::SetVar::SetVar | ( | Space & | home,
|  | const IntSet & | glbD,
|  | int | lubMin,
|  | int | lubMax,
|  | unsigned int | cardMin = 0,
|  | unsigned int | cardMax = Set::Limits::card )

Initialize variable with given bounds and cardinality.

The variable is created with greatest lower bound glbD, least upper bound , and cardinality minimum cardMin and maximum cardMax. The following exceptions might be thrown:

- If the bounds are no legal set bounds (between Set::Limits::min and Set::Limits::max), an exception of type Gecode::Set::OutOfLimits is thrown.
- If the cardinality is greater than Set::Limits::max_set_size, an exception of type Gecode::Set::OutOfLimits is thrown.
- If cardMin > cardMax, an exception of type Gecode::Set::VariableEmptyDomain is thrown.

Definition at line 61 of file set.cpp.

## SetVar() [7/8]

Gecode::SetVar::SetVar | ( | Space & | home,
|  | int | glbMin,
|  | int | glbMax,
|  | const IntSet & | lubD,
|  | unsigned int | cardMin = 0,
|  | unsigned int | cardMax = Set::Limits::card )

Initialize variable with given bounds and cardinality.

The variable is created with greatest lower bound , least upper bound lubD, and cardinality minimum cardMin and maximum cardMax. The following exceptions might be thrown:

- If the bounds are no legal set bounds (between Set::Limits::min and Set::Limits::max), an exception of type Gecode::Set::OutOfLimits is thrown.
- If the cardinality is greater than Set::Limits::max_set_size, an exception of type Gecode::Set::OutOfLimits is thrown.
- If minCard > maxCard, an exception of type Gecode::Set::VariableEmptyDomain is thrown.

Definition at line 74 of file set.cpp.

## SetVar() [8/8]

Gecode::SetVar::SetVar | ( | Space & | home,
|  | const IntSet & | glbD,
|  | const IntSet & | lubD,
|  | unsigned int | cardMin = 0,
|  | unsigned int | cardMax = Set::Limits::card )

Initialize variable with given bounds and cardinality.

The variable is created with greatest lower bound glbD, least upper bound lubD, and cardinality minimum cardMin and maximum cardMax. The following exceptions might be thrown:

- If the bounds are no legal set bounds (between Set::Limits::min and Set::Limits::max), an exception of type Gecode::Set::OutOfLimits is thrown.
- If the cardinality is greater than Set::Limits::max_set_size, an exception of type Gecode::Set::OutOfLimits is thrown.
- If minCard > maxCard, an exception of type Gecode::Set::VariableEmptyDomain is thrown.

Definition at line 89 of file set.cpp.

## Member Function Documentation

## glbSize()

unsigned int Gecode::SetVar::glbSize | ( | void |  | ) | const

inline

Return number of elements in the greatest lower bound.

Definition at line 63 of file set.hpp.

## lubSize()

unsigned int Gecode::SetVar::lubSize | ( | void |  | ) | const

inline

Return number of elements in the least upper bound.

Definition at line 66 of file set.hpp.

## unknownSize()

unsigned int Gecode::SetVar::unknownSize | ( | void |  | ) | const

inline

Return number of unknown elements (elements in lub but not in glb).

Definition at line 69 of file set.hpp.

## cardMin()

unsigned int Gecode::SetVar::cardMin | ( | void |  | ) | const

inline

Return cardinality minimum.

Definition at line 78 of file set.hpp.

## cardMax()

unsigned int Gecode::SetVar::cardMax | ( | void |  | ) | const

inline

Return cardinality maximum.

Definition at line 81 of file set.hpp.

## lubMin()

int Gecode::SetVar::lubMin | ( | void |  | ) | const

inline

Return minimum element of least upper bound.

Definition at line 84 of file set.hpp.

## lubMax()

int Gecode::SetVar::lubMax | ( | void |  | ) | const

inline

Return maximum element of least upper bound.

Definition at line 87 of file set.hpp.

## glbMin()

int Gecode::SetVar::glbMin | ( | void |  | ) | const

inline

Return minimum element of greatest lower bound.

Definition at line 90 of file set.hpp.

## glbMax()

int Gecode::SetVar::glbMax | ( | void |  | ) | const

inline

Return maximum of greatest lower bound.

Definition at line 93 of file set.hpp.

## contains()

bool Gecode::SetVar::contains | ( | int | i | ) | const

inline

Test whether i is in greatest lower bound.

Definition at line 72 of file set.hpp.

## notContains()

bool Gecode::SetVar::notContains | ( | int | i | ) | const

inline

Test whether i is not in the least upper bound.

Definition at line 75 of file set.hpp.

## Friends And Related Symbol Documentation

## operator<<()

template<class Char, class Traits>

std::basic_ostream< Char, Traits > & operator<< | ( | std::basic_ostream< Char, Traits > & | os,
|  | const SetVar & | x )

related

Print set variable x.

Definition at line 1 of file print.hpp.

The documentation for this class was generated from the following files:

- gecode/set.hh
- gecode/set/var/set.cpp
- gecode/set/var/set.hpp