40 template<
class V0,
class V1,
class V2, PropCond pc>
45 x0.subscribe(home,*
this,pc);
46 x1.subscribe(home,*
this,pc);
47 x2.subscribe(home,*
this,pc);
50 template<
class V0,
class V1,
class V2, PropCond pc>
60 template<
class V0,
class V1,
class V2, PropCond pc>
66 template<
class V0,
class V1,
class V2, PropCond pc>
70 x0.reschedule(home,*
this,pc);
71 x1.reschedule(home,*
this,pc);
72 x2.reschedule(home,*
this,pc);
75 template<
class V0,
class V1,
class V2, PropCond pc>
79 x0.cancel(home,*
this,pc);
80 x1.cancel(home,*
this,pc);
81 x2.cancel(home,*
this,pc);
88 template<
class V0,
class V1,
class V2>
93 template<
class V0,
class V1,
class V2>
98 template<
class V0,
class V1,
class V2>
104 template<
class V0,
class V1,
class V2>
117 template<
class V0,
class V1,
class V2>
158 template<
class V0,
class V1,
class V2>
163 template<
class V0,
class V1,
class V2>
168 template<
class V0,
class V1,
class V2>
174 template<
class V0,
class V1,
class V2>
187 template<
class V0,
class V1,
class V2>
196 template<
class V0,
class V1,
class V2>
Base-class for both propagators and branchers.
virtual size_t dispose(Space &home)
Delete actor and return its size.
Home class for posting propagators
Boolean view for Boolean variables.
IteBase(Space &home, IteBase &p)
Constructor for cloning p.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low ternary)
virtual size_t dispose(Space &home)
Delete propagator and return its size.
BoolView b
View for condition.
virtual void reschedule(Space &home)
Schedule function.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
IteBnd(Space &home, IteBnd &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2)
Post if-then-else propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as high ternary)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
IteDom(Space &home, IteDom &p)
Constructor for cloning p.
static ExecStatus post(Home home, BoolView b, V0 x0, V1 x1, V2 x2)
Post if-then-else propagator.
static ExecStatus post(Home home, View0 x0, View1 x1)
Post bounds consistent propagator .
static ExecStatus post(Home home, View0 x0, View1 x1)
Post domain consistent propagator .
Range iterator for integer views.
Range iterator for computing union (binary)
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
ModEventDelta med
A set of modification events (used during propagation)
Propagator(Home home)
Constructor for posting.
ExecStatus ES_FIX_PARTIAL(Propagator &p, const ModEventDelta &med)
Propagator p has computed partial fixpoint
ExecStatus ES_SUBSUMED(Propagator &p)
Propagator p is subsumed
int ModEventDelta
Modification event deltas.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
RelTest rtest_eq_dom(VX x, VY y)
Test whether views x and y are equal (use full domain information)
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
RelTest rtest_eq_bnd(VX x, VY y)
Test whether views x and y are equal (use bounds information)
const Gecode::PropCond PC_BOOL_VAL
Propagate when a view becomes assigned (single value)
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
const Gecode::ModEvent ME_INT_DOM
Domain operation has changed the domain.
RelTest
Result of testing relation.
@ RT_TRUE
Relation does hold.
@ RT_FALSE
Relation does not hold.
Gecode toplevel namespace
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.
@ ES_FAILED
Execution has resulted in failure.
bool shared(ViewArray< ViewX > x, ViewArray< ViewY > y)