40namespace Gecode {
namespace Set {
namespace Convex {
44 return new (home)
Convex(home,*
this);
63 unsigned int maxWidth = 0;
64 for (;ubRangeIt();++ubRangeIt) {
66 maxWidth = std::max(maxWidth, ubRangeIt.
width());
78 for (; ubRangeItC(); ++ubRangeItC) {
int max(void) const
Return largest value of range.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
int min(void) const
Return smallest value of range.
Propagator for the convex constraint
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Range iterator for the least upper bound.
unsigned int width(void) const
Return width of range (distance between minimum and maximum)
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.
int glbMin(void) const
Return minimum of the greatest lower bound.
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.
ModEvent exclude(Space &home, int i, int j)
Restrict least upper bound to not contain all elements between and including i and j.
bool assigned(void) const
Test whether view is assigned.
ExecStatus ES_SUBSUMED(Propagator &p)
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
@ ES_FIX
Propagation has computed fixpoint.