51 return new (home)
SeqU(home,*
this);
60 for (
int i=
x.size(); i--; ) {
68 for (
int i=0; i<
x.size(); i++) {
82 for (
int i=
x.size(); i--; ) {
90 for (; diff(); ++diff)
110 bool modified =
false;
112 bool oldModified =
false;
115 oldModified = modified;
118 if (oldModified || modified || anybevent || cardevent)
120 if (oldModified || modified || anybevent)
122 if (oldModified || modified || ubevent)
124 if (oldModified || modified || ubevent)
126 if (oldModified || modified || anybevent)
128 if (oldModified || modified || cardevent || ubevent)
133 for (
int i=
x.size(); i--;)
134 if (!
x[i].assigned())
Range iterator for computing set difference.
int min(void) const
Return smallest value of range.
int max(void) const
Return largest value of range.
Range iterator for appending arbitrarily many iterators.
ModEventDelta med
A set of modification events (used during propagation)
Range iterator for integer sets.
void dispose(Space &home)
Free memory used by this set.
Growing sets of integers.
bool includeI(Space &home, I &i)
Include the set represented by i in this set.
Range iterator for the greatest lower bound.
Range iterator for the least upper bound.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
SeqU(Space &home, SeqU &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
ExecStatus propagateSeqUnion(Space &home, bool &modified, ViewArray< SetView > &x, SetView &y)
Set view for set variables
static ModEvent me(const ModEventDelta &med)
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator p is subsumed
int ModEventDelta
Modification event deltas.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
#define GECODE_ME_CHECK_MODIFIED(modified, me)
Check whether me is failed or modified, and forward failure.
const int min
Smallest allowed integer in integer set.
const int max
Largest allowed integer in integer set.
ExecStatus partitionNCard(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
ExecStatus unionNXiUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &)
ExecStatus partitionNXiLB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
ExecStatus partitionNYUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
bool testSetEventCard(ModEvent me0, ModEvent me1, ModEvent me2)
bool testSetEventUB(ModEvent me0, ModEvent me1, ModEvent me2)
bool testSetEventAnyB(ModEvent me0, ModEvent me1, ModEvent me2)
Propagators for ordered sequences of sets.
ExecStatus propagateSeq(Space &home, bool &modified, bool &assigned, ViewArray< SetView > &x)
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType r
@ ES_FIX
Propagation has computed fixpoint.
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
int ModEvent
Type for modification events.