Gecode::Set::ComplementView< View > Class Template Reference
[Set views]
Inherits Gecode::DerivedViewBase< View >< View >.
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 783 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 (Space *home, 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. | |
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
| Gecode::Set::ComplementView< View >::ComplementView | ( | void | ) | [inline] |
| Gecode::Set::ComplementView< View >::ComplementView | ( | View & | x | ) | [inline] |
Member Function Documentation
| PropCond Gecode::Set::ComplementView< View >::pc_negateset | ( | PropCond | pc | ) | [inline, static, protected] |
| ModEvent Gecode::Set::ComplementView< View >::me_negateset | ( | ModEvent | me | ) | [inline, static, protected] |
| unsigned int Gecode::Set::ComplementView< View >::cardMin | ( | void | ) | const [inline] |
| unsigned int Gecode::Set::ComplementView< View >::cardMax | ( | void | ) | const [inline] |
| int Gecode::Set::ComplementView< View >::lubMin | ( | void | ) | const [inline] |
| int Gecode::Set::ComplementView< View >::lubMax | ( | void | ) | const [inline] |
| int Gecode::Set::ComplementView< View >::lubMinN | ( | int | n | ) | const |
Return n-th smallest element of the least upper bound.
| int Gecode::Set::ComplementView< View >::lubMaxN | ( | int | n | ) | const |
Return the n-th largest element of the least upper bound.
| int Gecode::Set::ComplementView< View >::glbMin | ( | void | ) | const [inline] |
| int Gecode::Set::ComplementView< View >::glbMax | ( | void | ) | const [inline] |
| unsigned int Gecode::Set::ComplementView< View >::glbSize | ( | void | ) | const [inline] |
Return the number of elements in the greatest lower bound.
Definition at line 65 of file complement.icc.
| unsigned int Gecode::Set::ComplementView< View >::lubSize | ( | void | ) | const [inline] |
Return the number of elements in the least upper bound.
Definition at line 71 of file complement.icc.
| unsigned int Gecode::Set::ComplementView< View >::unknownSize | ( | void | ) | const [inline] |
| bool Gecode::Set::ComplementView< View >::assigned | ( | void | ) | const [inline] |
| bool Gecode::Set::ComplementView< View >::contains | ( | int | i | ) | const [inline] |
| bool Gecode::Set::ComplementView< View >::notContains | ( | int | i | ) | const [inline] |
| ModEvent Gecode::Set::ComplementView< View >::cardMin | ( | Space * | home, | |
| unsigned int | m | |||
| ) | [inline] |
Restrict cardinality to be greater than or equal to m.
Definition at line 153 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::cardMax | ( | Space * | home, | |
| unsigned int | m | |||
| ) | [inline] |
| ModEvent Gecode::Set::ComplementView< View >::include | ( | Space * | home, | |
| int | i, | |||
| int | j | |||
| ) | [inline] |
Update greatest lower bound to include all elements between and including i and j.
Definition at line 195 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::exclude | ( | Space * | home, | |
| int | i, | |||
| int | j | |||
| ) | [inline] |
Restrict least upper bound to not contain all elements between and including i and j.
Definition at line 201 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::include | ( | Space * | home, | |
| int | i | |||
| ) | [inline] |
| ModEvent Gecode::Set::ComplementView< View >::exclude | ( | Space * | home, | |
| int | i | |||
| ) | [inline] |
| ModEvent Gecode::Set::ComplementView< View >::intersect | ( | Space * | home, | |
| int | i, | |||
| int | j | |||
| ) | [inline] |
Update least upper bound to contain at most all elements between and including i and j.
Definition at line 188 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::intersect | ( | Space * | home, | |
| int | i | |||
| ) | [inline] |
Update least upper bound to contain at most the element i.
Definition at line 181 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::excludeI | ( | Space * | home, | |
| I & | i | |||
| ) |
Remove range sequence described by i from least upper bound.
Definition at line 207 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::includeI | ( | Space * | home, | |
| I & | i | |||
| ) |
Include range sequence described by i in greatest lower bound.
Definition at line 213 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::intersectI | ( | Space * | home, | |
| I & | iter | |||
| ) |
Intersect least upper bound with range sequence described by i.
Definition at line 219 of file complement.icc.
| ModEvent Gecode::Set::ComplementView< View >::pme | ( | const Propagator * | p | ) | [inline, static] |
| PropModEvent Gecode::Set::ComplementView< View >::pme | ( | ModEvent | ) | [inline, static] |
Translate modification event me to propagator modification event for view.
Definition at line 244 of file complement.icc.
| void Gecode::Set::ComplementView< View >::subscribe | ( | Space * | home, | |
| Propagator * | p, | |||
| PropCond | pc | |||
| ) | [inline] |
Subscribe propagator p with propagation condition pc to view.
Definition at line 226 of file complement.icc.
| void Gecode::Set::ComplementView< View >::cancel | ( | Space * | home, | |
| Propagator * | p, | |||
| PropCond | pc | |||
| ) | [inline] |
Cancel subscription of propagator p with propagation condition pc to view.
Definition at line 232 of file complement.icc.
| void Gecode::Set::ComplementView< View >::update | ( | Space * | home, | |
| bool | share, | |||
| ComplementView< View > & | x | |||
| ) | [inline] |
Friends And Related Function Documentation
| bool same | ( | const Set::ComplementView< View > & | x, | |
| const Set::ComplementView< View > & | y | |||
| ) | [related] |
| bool before | ( | const Set::ComplementView< View > & | x, | |
| const Set::ComplementView< View > & | y | |||
| ) | [related] |
Test whether view x comes before y (arbitrary order).
Definition at line 498 of file complement.icc.
| bool same | ( | const Set::ComplementView< Set::ComplementView< View > > & | x, | |
| const Set::ComplementView< Set::ComplementView< View > > & | y | |||
| ) | [related] |
| bool before | ( | const Set::ComplementView< Set::ComplementView< View > > & | x, | |
| const Set::ComplementView< Set::ComplementView< View > > & | y | |||
| ) | [related] |
Test whether view x comes before y (arbitrary order).
Definition at line 510 of file complement.icc.
| std::ostream & operator<< | ( | std::ostream & | , | |
| const Gecode::Set::ComplementView< View > & | ||||
| ) | [related] |
The documentation for this class was generated from the following files:
- gecode/set/view.icc (Revision: 3241)
- gecode/set/view/complement.icc (Revision: 3241)
