Go to the documentation of this file.
44 namespace Gecode {
namespace Set {
75 return x->lubSize() -
x->glbSize();
83 return x->knownOut(
i);
103 return x->lubMinN(
n);
121 return x->cardMin(home, m);
126 return x->cardMax(home, m);
131 return x->include(home,from,to);
136 return x->include(home,
n);
141 return x->exclude(home,
n);
146 return x->intersect(home,from,to);
151 return x->intersect(home,
n);
156 return x->includeI(home, iter);
161 return x->exclude(home,from,to);
165 return x->excludeI(home, iter);
169 return x->intersectI(home, iter);
bool notContains(int i) const
Test whether i is not in the least upper bound.
unsigned int lubSize(void) const
Return the number of elements in the least upper bound.
VarImpType * x
Pointer to variable implementation.
Post propagator for SetVar x
unsigned int cardMax(void) const
Return maximum cardinality.
Post propagator for SetVar SetOpType SetVar y
static ModEvent modevent(const Delta &d)
Return modification event.
int lubMinN(unsigned int n) const
Return n-th smallest element of the least upper bound.
SetView(void)
Default constructor.
int lubMax(void) const
Return maximum of the least upper bound.
LubRanges(void)
Default constructor.
static bool lubAny(const Delta &d)
Test whether arbitrary values got pruned from lub.
Gecode::IntArgs i(4, 1, 2, 3, 4)
static bool glbAny(const Delta &d)
Test whether arbitrary values got pruned from glb.
void init(const T &x)
Initialize with least upper bound ranges for set variable x.
unsigned int glbSize(void) const
Return the number of elements in the greatest lower bound.
ModEvent intersectI(Space &home, I &iter)
Intersect least upper bound with range sequence described by i.
Gecode toplevel namespace
unsigned int unknownSize(void) const
Return the number of unknown elements.
int glbMax(void) const
Return maximum of the greatest lower bound.
int lubMin(void) const
Return minimum of the least upper bound.
unsigned int cardMin(void) const
Return minimum cardinality.
ModEvent intersect(Space &home, int i, int j)
Update least upper bound to contain at most all elements between and including i and j.
GlbRanges(void)
Default constructor.
Generic domain change information to be supplied to advisors.
VarImp * varimp(void) const
Return variable implementation of variable.
int glbMax(void) const
Return maximum of the greatest lower bound.
Range iterator for the greatest lower bound.
ModEvent exclude(Space &home, int i, int j)
Restrict least upper bound to not contain all elements between and including i and j.
int glbMin(void) const
Return minimum of the greatest lower bound.
int ModEvent
Type for modification events.
ModEvent excludeI(Space &home, I &i)
Remove range sequence described by i from least upper bound.
bool glbAny(const Delta &d) const
Test whether arbitrary values got pruned from glb.
Set view for set variables
Range iterator for the least upper bound.
int glbMin(void) const
Return minimum of the greatest lower bound.
static ModEvent modevent(const Delta &d)
Return modification event.
Finite integer set variable implementation.
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
int lubMax(void) const
Return maximum of the least upper bound.
bool contains(int i) const
Test whether i is in the greatest lower bound.
void init(const T &x)
Initialize with greatest lower bound ranges for set variable x.
int n
Number of negative literals for node type.
int lubMin(void) const
Return minimum of the least upper bound.
Base-class for variable implementation views.
ModEvent include(Space &home, int i, int j)
Update greatest lower bound to include all elements between and including i and j.
bool lubAny(const Delta &d) const
Test whether arbitrary values got pruned from lub.