- Gecode
- Set
Finite integer sets. More...
Namespaces | |
Branch | |
Set branchings | |
Channel | |
Channeling propagators for set variables. | |
Convex | |
Propagators for convexity. | |
Distinct | |
Propagators for global distinctness constraints. | |
Element | |
Set element propagators | |
Int | |
Propagators connecting set and int variables. | |
LDSB | |
Symmetry breaking for set variables. | |
Limits | |
Numerical limits for set variables. | |
Precede | |
Value precedence propagators. | |
Rel | |
Standard set relation propagators. | |
RelOp | |
Standard set operation propagators. | |
Sequence | |
Propagators for ordered sequences of sets. | |
Classes | |
class | SetVarImpBase |
Base-class for Set-variable implementations. More... | |
class | SetVarImpConf |
Configuration for Set-variable implementations. More... | |
class | OutOfLimits |
Exception: Value out of limits More... | |
class | VariableEmptyDomain |
Exception: Variable created with empty domain More... | |
class | TooFewArguments |
Exception: No arguments available in argument array More... | |
class | ArgumentSizeMismatch |
Exception: Arguments are of different size More... | |
class | UnknownBranching |
Exception: Unknown value or variable selection passed as argument More... | |
class | UnknownRelation |
Exception: Unknown relation type passed as argument More... | |
class | UnknownOperation |
Exception: Unknown operation type passed as argument More... | |
class | IllegalOperation |
Exception: Illegal operation passed as argument More... | |
class | Relax |
Class for posting equalities for non-relaxed variables. More... | |
class | SetTraceView |
Duplicate of a set view. More... | |
class | LubRanges< SetVarImp * > |
Range iterator for the least upper bound of a set variable implementation. More... | |
class | GlbRanges< SetVarImp * > |
Range iterator for the greatest lower bound of a set variable implementation. More... | |
class | SetDelta |
Finite set delta information for advisors. More... | |
class | BndSet |
Sets of integers. More... | |
class | BndSetRanges |
Range iterator for integer sets. More... | |
class | GLBndSet |
Growing sets of integers. More... | |
class | LUBndSet |
Shrinking sets of integers. More... | |
class | RangesCompl |
A complement iterator spezialized for the BndSet limits. More... | |
class | LubRanges |
Range iterator for the least upper bound. More... | |
class | GlbRanges |
Range iterator for the greatest lower bound. More... | |
class | UnknownRanges |
Range iterator for the unknown set. More... | |
class | SetVarImp |
Finite integer set variable implementation. More... | |
class | LubRanges< CachedView< View > > |
Range iterator for least upper bound of cached set views More... | |
class | GlbRanges< CachedView< View > > |
Range iterator for greatest lower bound of cached set views More... | |
class | LubRanges< ComplementView< View > > |
Range iterator for least upper bound of complement set views More... | |
class | LubRanges< ComplementView< ComplementView< View > > > |
Range iterator for the least upper bound of double-complement-views. More... | |
class | GlbRanges< ComplementView< View > > |
Range iterator for greatest lower bound of complement set views More... | |
class | GlbRanges< ComplementView< ComplementView< View > > > |
Range iterator for the greatest lower bound of double-complement-views. More... | |
class | ArrayRanges |
Range iterator for a two-dimensional array More... | |
class | LubRanges< EmptyView > |
Range iterator for least upper bound of constantly empty set view More... | |
class | GlbRanges< EmptyView > |
Range iterator for greatest lower bound of constantly empty set view More... | |
class | LubRanges< UniverseView > |
Range iterator for least upper bound of constant universe set view More... | |
class | GlbRanges< UniverseView > |
Range iterator for greatest lower bound of constant universe set view More... | |
class | LubRanges< ConstSetView > |
Range iterator for least upper bound of constant set view More... | |
class | GlbRanges< ConstSetView > |
Range iterator for greatest lower bound of constant set view More... | |
class | LubRanges< SetView > |
Range iterator for least upper bound of set variable views More... | |
class | GlbRanges< SetView > |
Range iterator for greatest lower bound of set variable views More... | |
class | LubRanges< SingletonView > |
Range iterator for least upper bound of singleton set view More... | |
class | GlbRanges< SingletonView > |
Range iterator for greatest lower bound of singleton set view More... | |
class | SetView |
Set view for set variables More... | |
class | ConstSetView |
Constant view. More... | |
class | EmptyView |
Constant view for the empty set. More... | |
class | UniverseView |
Constant view for the universe. More... | |
class | SingletonView |
Singleton set view. More... | |
class | ComplementView |
Complement set view. More... | |
class | LubDiffRanges |
Range iterator for difference of least upper bound and cache More... | |
class | GlbDiffRanges |
Range iterator for difference of greatest lower bound and cache More... | |
class | CachedView |
Cached set view. More... | |
Functions | |
template<class View0 , class View1 > | |
void | rel_post (Home home, View0 x0, SetRelType r, View1 x1) |
template<class View0 , class View1 , ReifyMode rm> | |
void | rel_re (Home home, View0 x, SetRelType r, View1 y, BoolVar b) |
template<class Char , class Traits , class View > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const CachedView< View > &x) |
template<class View > | |
bool | operator== (const CachedView< View > &x, const CachedView< View > &y) |
template<class View > | |
bool | operator!= (const CachedView< View > &x, const CachedView< View > &y) |
template<class Char , class Traits , class View > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ComplementView< View > &x) |
template<class View > | |
bool | operator== (const ComplementView< View > &x, const ComplementView< View > &y) |
template<class View > | |
bool | operator!= (const ComplementView< View > &x, const ComplementView< View > &y) |
bool | operator== (const ConstSetView &x, const ConstSetView &y) |
bool | operator!= (const ConstSetView &x, const ConstSetView &y) |
bool | operator== (const EmptyView &, const EmptyView &) |
bool | operator!= (const EmptyView &, const EmptyView &) |
bool | operator== (const UniverseView &, const UniverseView &) |
bool | operator!= (const UniverseView &, const UniverseView &) |
template<class Char , class Traits , class I > | |
void | printBound (std::basic_ostream< Char, Traits > &s, I &r) |
Print bound of a set view or variable. More... | |
template<class Char , class Traits , class IL , class IU > | |
void | print (std::basic_ostream< Char, Traits > &s, bool assigned, IL &lb, IU &ub, unsigned int cardMin, unsigned int cardMax) |
Print set view. More... | |
template<class Char , class Traits > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SetView &x) |
template<class Char , class Traits > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const EmptyView &) |
template<class Char , class Traits > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const UniverseView &) |
template<class Char , class Traits > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const ConstSetView &x) |
template<class Char , class Traits > | |
std::basic_ostream< Char, Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const SingletonView &x) |
bool | operator== (const SingletonView &x, const SingletonView &y) |
bool | operator!= (const SingletonView &x, const SingletonView &y) |
Variables | |
const Gecode::ModEvent | ME_SET_FAILED = Gecode::ME_GEN_FAILED |
Domain operation has resulted in failure. More... | |
const Gecode::ModEvent | ME_SET_NONE = Gecode::ME_GEN_NONE |
Domain operation has not changed domain. More... | |
const Gecode::ModEvent | ME_SET_VAL = Gecode::ME_GEN_ASSIGNED |
Domain operation has resulted in a value (assigned variable) More... | |
const Gecode::ModEvent | ME_SET_CARD = Gecode::ME_GEN_ASSIGNED + 1 |
Domain operation has changed the variable cardinality. More... | |
const Gecode::ModEvent | ME_SET_LUB = Gecode::ME_GEN_ASSIGNED + 2 |
Domain operation has changed the least upper bound. More... | |
const Gecode::ModEvent | ME_SET_GLB = Gecode::ME_GEN_ASSIGNED + 3 |
Domain operation has changed the greatest lower bound. More... | |
const Gecode::ModEvent | ME_SET_BB = Gecode::ME_GEN_ASSIGNED + 4 |
Domain operation has changed both greatest lower and least upper bound. More... | |
const Gecode::ModEvent | ME_SET_CLUB = Gecode::ME_GEN_ASSIGNED + 5 |
Domain operation has changed the least upper bound and the cardinality. More... | |
const Gecode::ModEvent | ME_SET_CGLB = Gecode::ME_GEN_ASSIGNED + 6 |
Domain operation has changed the greatest lower bound and the cardinality. More... | |
const Gecode::ModEvent | ME_SET_CBB = Gecode::ME_GEN_ASSIGNED + 7 |
Domain operation has changed both the greatest lower bound and the least upper bound, as well as the cardinality. More... | |
const Gecode::PropCond | PC_SET_NONE = Gecode::PC_GEN_NONE |
Propagation condition to be ignored (convenience) More... | |
const Gecode::PropCond | PC_SET_VAL = Gecode::PC_GEN_ASSIGNED |
Propagate when a view becomes assigned (single value) More... | |
const Gecode::PropCond | PC_SET_CARD = Gecode::PC_GEN_ASSIGNED + 1 |
Propagate when the cardinality of a view changes. More... | |
const Gecode::PropCond | PC_SET_CLUB = Gecode::PC_GEN_ASSIGNED + 2 |
Propagate when the cardinality or the least upper bound of a view changes. More... | |
const Gecode::PropCond | PC_SET_CGLB = Gecode::PC_GEN_ASSIGNED + 3 |
Propagate when the cardinality or the greatest lower bound of a view changes. More... | |
const Gecode::PropCond | PC_SET_ANY = Gecode::PC_GEN_ASSIGNED + 4 |
Propagate when any bound or the cardinality of a view changes. More... | |
Finite integer sets.
The Gecode::Set namespace contains all functionality required to program propagators and branchers for finite integer sets. In addition, all propagators and branchers for finite integer sets provided by Gecode are contained as nested namespaces.
|
inline |
|
inline |
|
related |
Definition at line 368 of file cached.hpp.
|
related |
Definition at line 381 of file cached.hpp.
|
related |
Definition at line 387 of file cached.hpp.
|
related |
Definition at line 535 of file complement.hpp.
|
related |
Definition at line 553 of file complement.hpp.
|
related |
Definition at line 559 of file complement.hpp.
|
related |
|
related |
|
related |
|
related |
void Gecode::Set::printBound | ( | std::basic_ostream< Char, Traits > & | s, |
I & | r | ||
) |
void Gecode::Set::print | ( | std::basic_ostream< Char, Traits > & | s, |
bool | assigned, | ||
IL & | lb, | ||
IU & | ub, | ||
unsigned int | cardMin, | ||
unsigned int | cardMax | ||
) |
|
related |
|
related |
|
related |
|
related |
|
related |
|
related |
Definition at line 295 of file singleton.hpp.
|
related |
Definition at line 300 of file singleton.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_FAILED = Gecode::ME_GEN_FAILED |
Domain operation has resulted in failure.
Definition at line 138 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_NONE = Gecode::ME_GEN_NONE |
Domain operation has not changed domain.
Definition at line 140 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_VAL = Gecode::ME_GEN_ASSIGNED |
Domain operation has resulted in a value (assigned variable)
Definition at line 142 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_CARD = Gecode::ME_GEN_ASSIGNED + 1 |
Domain operation has changed the variable cardinality.
Note that this implies that the domain has not resulted in a value.
Definition at line 148 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_LUB = Gecode::ME_GEN_ASSIGNED + 2 |
Domain operation has changed the least upper bound.
Note that this implies that the domain has not resulted in a value and that also neither cardinality nor the greatest lower bound have changed.
Definition at line 156 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_GLB = Gecode::ME_GEN_ASSIGNED + 3 |
Domain operation has changed the greatest lower bound.
Note that this implies that the domain has not resulted in a value and that also neither cardinality nor the least upper bound have changed.
Definition at line 164 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_BB = Gecode::ME_GEN_ASSIGNED + 4 |
Domain operation has changed both greatest lower and least upper bound.
Note that this implies that the domain has not resulted in a value and that also the cardinality has not changed.
Definition at line 172 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_CLUB = Gecode::ME_GEN_ASSIGNED + 5 |
Domain operation has changed the least upper bound and the cardinality.
Note that this implies that the domain has not resulted in a value and that also the greatest lower bound has not changed.
Definition at line 179 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_CGLB = Gecode::ME_GEN_ASSIGNED + 6 |
Domain operation has changed the greatest lower bound and the cardinality.
Note that this implies that the domain has not resulted in a value and that also the least upper bound has not changed.
Definition at line 186 of file var-type.hpp.
const Gecode::ModEvent Gecode::Set::ME_SET_CBB = Gecode::ME_GEN_ASSIGNED + 7 |
Domain operation has changed both the greatest lower bound and the least upper bound, as well as the cardinality.
Note that this implies that the domain has not resulted in a value.
If a propagator subscribes to this variable, it will be processed assuming a ME_SET_CBB modification event.
Definition at line 197 of file var-type.hpp.
const Gecode::PropCond Gecode::Set::PC_SET_NONE = Gecode::PC_GEN_NONE |
Propagation condition to be ignored (convenience)
Definition at line 199 of file var-type.hpp.
const Gecode::PropCond Gecode::Set::PC_SET_VAL = Gecode::PC_GEN_ASSIGNED |
Propagate when a view becomes assigned (single value)
If a propagator p depends on a view x with propagation condition PC_SET_VAL, then p is propagated when a domain update operation on x returns the modification event ME_SET_VAL.
Definition at line 207 of file var-type.hpp.
const Gecode::PropCond Gecode::Set::PC_SET_CARD = Gecode::PC_GEN_ASSIGNED + 1 |
Propagate when the cardinality of a view changes.
If a propagator p depends on a view x with propagation condition PC_SET_CARD, then p is propagated when a domain update operation on x returns the modification event ME_SET_VAL, ME_SET_CARD, ME_SET_CGLB, ME_SET_CLUB, or ME_SET_CBB.
Definition at line 216 of file var-type.hpp.
const Gecode::PropCond Gecode::Set::PC_SET_CLUB = Gecode::PC_GEN_ASSIGNED + 2 |
Propagate when the cardinality or the least upper bound of a view changes.
If a propagator p depends on a view x with propagation condition PC_SET_CLUB, then p is propagated when a domain update operation on x returns the modification event ME_SET_VAL, ME_SET_LUB, ME_SET_BB, ME_SET_CARD, ME_SET_CGLB, ME_SET_CLUB, or ME_SET_CBB.
Definition at line 227 of file var-type.hpp.
const Gecode::PropCond Gecode::Set::PC_SET_CGLB = Gecode::PC_GEN_ASSIGNED + 3 |
Propagate when the cardinality or the greatest lower bound of a view changes.
If a propagator p depends on a view x with propagation condition PC_SET_CGLB, then p is propagated when a domain update operation on x returns the modification event ME_SET_VAL, ME_SET_GLB, ME_SET_BB, ME_SET_CARD, ME_SET_CGLB, ME_SET_CLUB, or ME_SET_CBB.
Definition at line 238 of file var-type.hpp.
const Gecode::PropCond Gecode::Set::PC_SET_ANY = Gecode::PC_GEN_ASSIGNED + 4 |
Propagate when any bound or the cardinality of a view changes.
If a propagator p depends on a view x with propagation condition PC_SET_ANY, then p is propagated when a domain update operation on x returns any modification event but ME_SET_FAILED and ME_SET_NONE.
Definition at line 248 of file var-type.hpp.