Go to the documentation of this file.
46 namespace Gecode {
namespace Set {
namespace Sequence {
55 return new (home)
SeqU(home,share,*
this);
74 before.includeI(home, xiub);
94 for (; diff(); ++diff)
114 bool modified =
false;
116 bool oldModified =
false;
119 oldModified = modified;
122 if (oldModified || modified || anybevent || cardevent)
124 if (oldModified || modified || anybevent)
126 if (oldModified || modified || ubevent)
128 if (oldModified || modified || ubevent)
130 if (oldModified || modified || anybevent)
132 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)
bool before(const ConstSetView &x, const ConstSetView &y)
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 .
SeqU(Space &home, bool share, SeqU &p)
Constructor for cloning p.
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.
Gecode::IntArgs i(4, 1, 2, 3, 4)
Range iterator for greatest lower bound of set variable views
ExecStatus partitionNYUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &unionOfDets)
union Gecode::@579::NNF::@61 u
Union depending on nodetype t.
ViewArray< SetView > x
Array of views.
bool testSetEventCard(ModEvent me0, ModEvent me1, ModEvent me2)
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.
@ ES_FIX
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.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
ExecStatus unionNXiUB(Space &home, bool &modified, ViewArray< View0 > &x, View1 &y, GLBndSet &)