71 return x->lubSize() -
x->glbSize();
79 return x->knownOut(i);
117 return x->cardMin(home, m);
122 return x->cardMax(home, m);
127 return x->include(home,from,to);
132 return x->include(home,n);
137 return x->exclude(home, n);
142 return x->intersect(home,from,to);
147 return x->intersect(home,n);
152 return x->includeI(home, iter);
157 return x->exclude(home,from,to);
161 return x->excludeI(home, iter);
165 return x->intersectI(home, iter);
Generic domain change information to be supplied to advisors.
GlbRanges(void)
Default constructor.
void init(const T &x)
Initialize with greatest lower bound ranges for set variable x.
GlbRanges(void)
Default constructor.
LubRanges(void)
Default constructor.
LubRanges(void)
Default constructor.
void init(const T &x)
Initialize with least upper bound ranges for set variable x.
Finite integer set variable implementation.
int glbMin(void) const
Return minimum of the greatest lower bound.
static bool lubAny(const Delta &d)
Test whether arbitrary values got pruned from lub.
int lubMin(void) const
Return minimum of the least upper bound.
int lubMax(void) const
Return maximum of the least upper bound.
int glbMax(void) const
Return maximum of the greatest lower bound.
static bool glbAny(const Delta &d)
Test whether arbitrary values got pruned from glb.
Set view for set variables
bool contains(int i) const
Test whether i is in the greatest lower bound.
bool lubAny(const Delta &d) const
Test whether arbitrary values got pruned from lub.
bool glbAny(const Delta &d) const
Test whether arbitrary values got pruned from glb.
unsigned int unknownSize(void) const
Return the number of unknown elements.
SetView(void)
Default constructor.
ModEvent intersectI(Space &home, I &iter)
Intersect least upper bound with range sequence described by i.
ModEvent include(Space &home, int i, int j)
Update greatest lower bound to include all elements between and including i and j.
int glbMax(void) const
Return maximum of the greatest lower bound.
unsigned int lubSize(void) const
Return the number of elements in the least upper bound.
int lubMax(void) const
Return maximum of the least upper bound.
int lubMin(void) const
Return minimum of the least upper bound.
int lubMinN(unsigned int n) const
Return n-th smallest element of the least upper bound.
int glbMin(void) const
Return minimum of the greatest lower bound.
static ModEvent modevent(const Delta &d)
Return modification event.
unsigned int cardMin(void) const
Return minimum cardinality.
unsigned int cardMax(void) const
Return maximum cardinality.
unsigned int glbSize(void) const
Return the number of elements in the greatest lower bound.
bool notContains(int i) const
Test whether i is not in the least upper bound.
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 excludeI(Space &home, I &i)
Remove range sequence described by i from least upper bound.
ModEvent exclude(Space &home, int i, int j)
Restrict least upper bound to not contain all elements between and including i and j.
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
void varimp(VarImpType *y)
static ModEvent modevent(const Delta &d)
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar y
Post propagator for SetVar x
int ModEvent
Type for modification events.