57 if (
s0.max() +
p0 <=
s1.min()) {
60 }
else if (
s1.max() +
p1 <=
s0.min()) {
63 }
else if ((
s1.min() +
p1 >
s0.max()) ||
b.zero()) {
67 }
else if ((
s0.min() +
p0 >
s1.max()) ||
b.one()) {
virtual size_t dispose(Space &home)
Delete actor and return its size.
BoolView b
Boolean view for order.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low binary)
virtual Actor * copy(Space &home)
Copy propagator during cloning.
OrderProp(Space &home, OrderProp &p)
Constructor for cloning.
IntView s0
View for start times.
virtual void reschedule(Space &home)
Schedule function.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, V0 x0, V1 x1)
Post propagator .
static PropCost binary(PropCost::Mod m)
Two variables for modifier pcm.
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.
Int for ordering two tasks
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
Gecode toplevel namespace
@ ES_FIX
Propagation has computed fixpoint.