Go to the documentation of this file.
42 namespace Gecode {
namespace Set {
namespace Sequence {
51 return new (home)
SeqU(home,*
this);
70 before.includeI(home, xiub);
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)
ExecStatus propagateSeq(Space &home, bool &modified, bool &assigned, ViewArray< SetView > &x)
Post propagator for SetVar x
Post propagator for SetVar SetOpType SetVar y
#define GECODE_ME_CHECK_MODIFIED(modified, me)
Check whether me is failed or modified, and forward failure.
ExecStatus partitionNXiLB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
ModEvent exclude(Space &home, View &x, int s)
Prune view x to exclude all values from s.
ExecStatus propagateSeqUnion(Space &home, bool &modified, ViewArray< SetView > &x, SetView &y)
Range iterator for least upper bound of set variable views
void max(Home home, FloatVar x0, FloatVar x1, FloatVar x2)
Post propagator for .
ExecStatus ES_SUBSUMED(Propagator &p)
bool includeI(Space &home, I &i)
Include the set represented by i in this set.
ExecStatus partitionNCard(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
const int min
Smallest allowed integer in integer set.
bool assigned(View x, int v)
Whether x is assigned to value v.
SeqU(Space &home, SeqU &p)
Constructor for cloning p.
Range iterator for greatest lower bound of set variable views
ExecStatus partitionNYUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
ViewArray< SetView > x
Array of views.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
bool testSetEventCard(ModEvent me0, ModEvent me1, ModEvent me2)
union Gecode::@602::NNF::@65 u
Union depending on nodetype t.
Gecode toplevel namespace
bool testSetEventUB(ModEvent me0, ModEvent me1, ModEvent me2)
const int max
Largest allowed integer in integer set.
Range iterator for appending arbitrarily many iterators.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
int min(void) const
Return smallest value of range.
static ModEvent me(const ModEventDelta &med)
Return modification event for view type in med.
Post propagator for SetVar SetOpType SetVar SetRelType r
Range iterator for computing set difference.
ModEventDelta med
A set of modification events (used during propagation)
int ModEvent
Type for modification events.
void dispose(Space &home)
Free memory used by this set.
Set view for set variables
bool testSetEventAnyB(ModEvent me0, ModEvent me1, ModEvent me2)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagation has computed fixpoint.
int max(void) const
Return largest value of range.
int size(void) const
Return size of array (number of elements)
Range iterator for integer sets.
Growing sets of integers.
ModEvent includeI(Space &home, I &i)
Include range sequence described by i in greatest lower bound.
int ModEventDelta
Modification event deltas.
Gecode::IntArgs i({1, 2, 3, 4})
ExecStatus unionNXiUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &)