Shrinking sets of integers. More...
#include <var-imp.hpp>
Constructors and initialization | |
LUBndSet (void) | |
Default constructor. Creates an empty set. More... | |
LUBndSet (Space &home) | |
Initialize as the full set including everything between Limits::min and Limits::max. More... | |
LUBndSet (Space &home, int i, int j) | |
Initialize as the set ![]() | |
LUBndSet (Space &home, const IntSet &s) | |
Initialize as the set represented by s. More... | |
void | init (Space &home) |
Initialize as the full set including everything between Limits::min and Limits::max. More... | |
Update operations | |
bool | exclude (Space &home, int i, int j, SetDelta &d) |
Exclude the set ![]() | |
bool | intersect (Space &home, int i, int j) |
Intersect this set with the set ![]() | |
template<class I > | |
bool | intersectI (Space &home, I &i) |
Exclude all elements not in the set represented by i from this set. More... | |
template<class I > | |
bool | excludeI (Space &home, I &i) |
Exclude all elements in the set represented by i from this set. More... | |
void | excludeAll (Space &home) |
Exclude all elements from this set. More... | |
Additional Inherited Members | |
![]() | |
bool | isConsistent (void) const |
Check whether internal invariants hold. More... | |
BndSet (void) | |
Default constructor. Creates an empty set. More... | |
BndSet (Space &home, int i, int j) | |
Initialize as the set ![]() | |
BndSet (Space &home, const IntSet &s) | |
Initialize as the set represented by s. More... | |
void | dispose (Space &home) |
Free memory used by this set. More... | |
int | min (void) const |
Return smallest element. More... | |
int | max (void) const |
Return greatest element. More... | |
int | minN (unsigned int n) const |
Return n -th smallest element. More... | |
unsigned int | size (void) const |
Return size. More... | |
unsigned int | card (void) const |
Return cardinality. More... | |
void | card (unsigned int c) |
Set cardinality. More... | |
bool | empty (void) const |
Test whether this set is empty. More... | |
bool | in (int i) const |
Test whether i is an element of this set. More... | |
void | become (Space &home, const BndSet &s) |
Make this set equal to s. More... | |
RangeList * | ranges (void) const |
Return range list for iteration. More... | |
void | update (Space &home, BndSet &x) |
Update this set to be a clone of set x. More... | |
![]() | |
static const int | MAX_OF_EMPTY = Limits::min-1 |
Returned by empty sets when asked for their maximum element. More... | |
static const int | MIN_OF_EMPTY = Limits::max+1 |
Returned by empty sets when asked for their minimum element. More... | |
![]() | |
void | fst (RangeList *r) |
Set first range to r. More... | |
void | lst (RangeList *r) |
Set last range to r. More... | |
RangeList * | fst (void) const |
Return first range. More... | |
RangeList * | lst (void) const |
Return last range. More... | |
template<class I > | |
bool | overwrite (Space &home, I &i) |
Overwrite the ranges with those represented by i. More... | |
![]() | |
unsigned int | _size |
The size of this set. More... | |
unsigned int | _card |
The cardinality this set represents. More... | |
Shrinking sets of integers.
These sets provide operations for monotonically shrinking the set. Shrinking sets are used for implementing the least upper bound of set variables.
Definition at line 247 of file var-imp.hpp.
|
inline |
Default constructor. Creates an empty set.
Definition at line 317 of file integerset.hpp.
|
inline |
Initialize as the full set including everything between Limits::min and Limits::max.
Definition at line 320 of file integerset.hpp.
|
inline |
Initialize as the set .
Definition at line 324 of file integerset.hpp.
Initialize as the set represented by s.
Definition at line 328 of file integerset.hpp.
|
inline |
Initialize as the full set including everything between Limits::min and Limits::max.
Definition at line 332 of file integerset.hpp.
Exclude the set from this set.
Definition at line 343 of file integerset.hpp.
|
inline |
Intersect this set with the set .
Definition at line 359 of file integerset.hpp.
bool Gecode::Set::LUBndSet::intersectI | ( | Space & | home, |
I & | i | ||
) |
Exclude all elements not in the set represented by i from this set.
Definition at line 374 of file integerset.hpp.
bool Gecode::Set::LUBndSet::excludeI | ( | Space & | home, |
I & | i | ||
) |
Exclude all elements in the set represented by i from this set.
Definition at line 389 of file integerset.hpp.
|
inline |
Exclude all elements from this set.
Definition at line 399 of file integerset.hpp.