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)