.
Constant view for the universe.
|
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 (int n) const |
| | Return n-th smallest element of the least upper bound.
|
| int | lubMaxN (int n) const |
| | Return the n-th largest 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 variable.
|
| void | cancel (Space *home, Propagator *p, PropCond pc) |
| | Cancel subscription of propagator p with propagation condition pc to view.
|
Cloning |
| void | update (Space *home, bool share, UniverseView &x) |
| | Update this view to be a clone of view x.
|
Propagator modification events |
| static ModEvent | pme (const Propagator *p) |
| | Return modification event of propagator p for view.
|
| static PropModEvent | pme (ModEvent) |
| | Translate modification event me to propagator modification event 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).
|
Related Functions |
(Note that these are not member functions.)
|
| std::ostream & | operator<< (std::ostream &, const Gecode::Set::UniverseView &) |
| | Print universe set view.
|