Related Functions |
(Note that these are not member functions.)
|
template<class Char , class Traits > |
std::basic_ostream< Char,
Traits > & | operator<< (std::basic_ostream< Char, Traits > &os, const UniverseView &x) |
| Print universe set view.
|
Constructors and initialization |
|
| UniverseView (void) |
| Default constructor.
|
Value access |
|
unsigned int | cardMin (void) const |
| Return minimum cardinality.
|
unsigned int | cardMax (void) const |
| Return maximum cardinality.
|
int | lubMin (void) const |
| Return minimum of the least upper bound.
|
int | lubMax (void) const |
| Return maximum of the least upper bound.
|
int | lubMinN (unsigned int n) const |
| Return n-th smallest element of the least upper bound.
|
int | glbMin (void) const |
| Return minimum of the greatest lower bound.
|
int | glbMax (void) const |
| Return maximum of the greatest lower bound.
|
unsigned int | glbSize (void) const |
| Return the number of elements in the greatest lower bound.
|
unsigned int | lubSize (void) const |
| Return the number of elements in the least upper bound.
|
unsigned int | unknownSize (void) const |
| Return the number of unknown elements.
|
Domain tests |
|
bool | assigned (void) const |
| Test whether view is assigned.
|
bool | contains (int i) const |
| Test whether i is in the greatest lower bound.
|
bool | notContains (int i) const |
| Test whether i is not in the least upper bound.
|
Domain update by value |
|
ModEvent | cardMin (Space &home, unsigned int m) |
| Restrict cardinality to be greater than or equal to m.
|
ModEvent | cardMax (Space &home, unsigned int m) |
| Restrict cardinality to be less than or equal to m.
|
ModEvent | include (Space &home, int i, int j) |
| Update greatest lower bound to include all elements between and including i and j.
|
ModEvent | exclude (Space &home, int i, int j) |
| Restrict least upper bound to not contain all elements between and including i and j.
|
ModEvent | include (Space &home, int i) |
| Update greatest lower bound to contain i.
|
ModEvent | exclude (Space &home, int i) |
| Restrict least upper bound to not contain i.
|
ModEvent | intersect (Space &home, int i, int j) |
| Update least upper bound to contain at most all elements between and including i and j.
|
ModEvent | intersect (Space &home, int i) |
| Update least upper bound to contain at most the element i.
|
Domain update by range iterator |
|
template<class I > |
ModEvent | excludeI (Space &home, I &i) |
| Remove range sequence described by i from least upper bound.
|
template<class I > |
ModEvent | includeI (Space &home, I &i) |
| Include range sequence described by i in greatest lower bound.
|
template<class I > |
ModEvent | intersectI (Space &home, I &iter) |
| Intersect least upper bound with range sequence described by i.
|
Dependencies |
|
void | subscribe (Space &home, Propagator &p, PropCond pc, bool process=true) |
| Subscribe propagator p with propagation condition pc to view.
|
void | cancel (Space &home, Propagator &p, PropCond pc) |
| Cancel subscription of propagator p with propagation condition pc to view.
|
void | subscribe (Space &home, Advisor &a) |
| Subscribe advisor a to view.
|
void | cancel (Space &home, Advisor &a) |
| Cancel subscription of advisor a.
|
Cloning |
|
void | update (Space &home, bool share, UniverseView &x) |
| Update this view to be a clone of view x.
|
Delta information for advisors |
|
int | glbMin (const Delta &d) const |
| Return minimum value just pruned from glb.
|
int | glbMax (const Delta &d) const |
| Return maximum value just pruned from glb.
|
bool | glbAny (const Delta &d) const |
| Test whether arbitrary values got pruned from glb.
|
int | lubMin (const Delta &d) const |
| Return minimum value just pruned from lub.
|
int | lubMax (const Delta &d) const |
| Return maximum value just pruned from lub.
|
bool | lubAny (const Delta &d) const |
| Test whether arbitrary values got pruned from lub.
|
static ModEvent | modevent (const Delta &d) |
| Return modification event.
|
View-dependent propagator support |
|
static void | schedule (Space &home, Propagator &p, ModEvent me) |
| Schedule propagator p with modification event me.
|
static ModEvent | me (const ModEventDelta &med) |
| Return modification event for view type in med.
|
static ModEventDelta | med (ModEvent) |
| Translate modification event me to modification event delta for view.
|
View comparison |
|
bool | same (const Set::UniverseView &x, const Set::UniverseView &y) |
| Test whether views x and y are the same.
|
bool | before (const Set::UniverseView &x, const Set::UniverseView &y) |
| Test whether view x comes before y (arbitrary order).
|
Constant view for the universe.