Gecode::Set::ComplementView< View > Class Template Reference
[Set views]
List of all members.Detailed Description
template<class View>
class Gecode::Set::ComplementView< View >
Complement set view.
A complement set view
for a set view
provides operations such that
behaves like the complement of
. The complement is defined in terms of the set universe.
Definition at line 796 of file view.icc.
Constructors and initialization | |
| ComplementView (void) | |
| Default constructor. | |
| ComplementView (View &x) | |
| Initialize with set view x. | |
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) |
| Subscribe propagator p with propagation condition pc to view. | |
| void | cancel (Propagator *p, PropCond pc) |
| Cancel subscription of propagator p with propagation condition pc to view. | |
Cloning | |
| void | update (Space *home, bool share, ComplementView &x) |
| Update this view to be a clone of view x. | |
| static bool | destruct (void) |
| Whether this view needs to be destructed. | |
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::ComplementView< View > &x, const Set::ComplementView< View > &y) |
| Test whether views x and y are the same. | |
| bool | before (const Set::ComplementView< View > &x, const Set::ComplementView< View > &y) |
| Test whether view x comes before y (arbitrary order). | |
View comparison | |
| bool | same (const Set::ComplementView< Set::ComplementView< View > > &x, const Set::ComplementView< Set::ComplementView< View > > &y) |
| Test whether views x and y are the same. | |
| bool | before (const Set::ComplementView< Set::ComplementView< View > > &x, const Set::ComplementView< Set::ComplementView< View > > &y) |
| Test whether view x comes before y (arbitrary order). | |
Static Protected Member Functions | |
| static PropCond | pc_negateset (PropCond pc) |
| Negate the propagation condition pc. | |
| static ModEvent | me_negateset (ModEvent me) |
| Negate the modification event me. | |
Related Functions | |
| (Note that these are not member functions.) | |
| std::ostream & | operator<< (std::ostream &, const Gecode::Set::ComplementView< View > &) |
| Print set complement view. | |
Constructor & Destructor Documentation
|
||||||||||
|
Default constructor.
Definition at line 30 of file complement.icc. |
|
||||||||||
|
Initialize with set view x.
Definition at line 34 of file complement.icc. |
Member Function Documentation
|
||||||||||
|
Negate the propagation condition pc.
Definition at line 51 of file complement.icc. |
|
||||||||||
|
Negate the modification event me.
Definition at line 39 of file complement.icc. |
|
||||||||||
|
Return minimum cardinality.
Definition at line 91 of file complement.icc. |
|
||||||||||
|
Return maximum cardinality.
Definition at line 97 of file complement.icc. |
|
||||||||||
|
Return minimum of the least upper bound.
Definition at line 103 of file complement.icc. |
|
||||||||||
|
Return maximum of the least upper bound.
Definition at line 115 of file complement.icc. |
|
||||||||||
|
Return n-th smallest element of the least upper bound.
|
|
||||||||||
|
Return the n-th largest element of the least upper bound.
|
|
||||||||||
|
Return minimum of the greatest lower bound.
Definition at line 128 of file complement.icc. |
|
||||||||||
|
Return maximum of the greatest lower bound.
Definition at line 140 of file complement.icc. |
|
||||||||||
|
Return the number of elements in the greatest lower bound.
Definition at line 65 of file complement.icc. |
|
||||||||||
|
Return the number of elements in the least upper bound.
Definition at line 71 of file complement.icc. |
|
||||||||||
|
Return the number of unknown elements.
Definition at line 77 of file complement.icc. |
|
||||||||||
|
Test whether view is assigned.
Definition at line 61 of file complement.icc. |
|
||||||||||
|
Test whether i is in the greatest lower bound.
Definition at line 83 of file complement.icc. |
|
||||||||||
|
Test whether i is not in the least upper bound.
Definition at line 87 of file complement.icc. |
|
||||||||||||||||
|
Restrict cardinality to be greater than or equal to m.
Definition at line 153 of file complement.icc. |
|
||||||||||||||||
|
Restrict cardinality to be less than or equal to m.
Definition at line 161 of file complement.icc. |
|
||||||||||||||||||||
|
Update greatest lower bound to include all elements between and including i and j.
Definition at line 195 of file complement.icc. |
|
||||||||||||||||||||
|
Restrict least upper bound to not contain all elements between and including i and j.
Definition at line 201 of file complement.icc. |
|
||||||||||||||||
|
Update greatest lower bound to contain i.
Definition at line 169 of file complement.icc. |
|
||||||||||||||||
|
Restrict least upper bound to not contain i.
Definition at line 175 of file complement.icc. |
|
||||||||||||||||||||
|
Update least upper bound to contain at most all elements between and including i and j.
Definition at line 188 of file complement.icc. |
|
||||||||||||||||
|
Update least upper bound to contain at most the element i.
Definition at line 181 of file complement.icc. |
|
||||||||||||||||||||
|
Remove range sequence described by i from least upper bound.
Definition at line 207 of file complement.icc. |
|
||||||||||||||||||||
|
Include range sequence described by i in greatest lower bound.
Definition at line 213 of file complement.icc. |
|
||||||||||||||||||||
|
Intersect least upper bound with range sequence described by i.
Definition at line 219 of file complement.icc. |
|
||||||||||
|
Return modification event of propagator p for view.
Definition at line 238 of file complement.icc. |
|
||||||||||
|
Translate modification event me to propagator modification event for view.
Definition at line 244 of file complement.icc. |
|
||||||||||||||||||||
|
Subscribe propagator p with propagation condition pc to view.
Definition at line 226 of file complement.icc. |
|
||||||||||||||||
|
Cancel subscription of propagator p with propagation condition pc to view.
Definition at line 232 of file complement.icc. |
|
||||||||||||||||||||
|
Update this view to be a clone of view x.
Definition at line 250 of file complement.icc. |
|
||||||||||
|
Whether this view needs to be destructed.
Definition at line 257 of file complement.icc. |
Friends And Related Function Documentation
|
||||||||||||||||
|
Test whether views x and y are the same.
Definition at line 496 of file complement.icc. |
|
||||||||||||||||
|
Test whether view x comes before y (arbitrary order).
Definition at line 502 of file complement.icc. |
|
||||||||||||||||
|
Test whether views x and y are the same.
Definition at line 508 of file complement.icc. |
|
||||||||||||||||
|
Test whether view x comes before y (arbitrary order).
Definition at line 514 of file complement.icc. |
|
||||||||||||||||
|
Print set complement view.
Definition at line 524 of file complement.icc. |
The documentation for this class was generated from the following files:
