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: