45 template<
class View0,
class View1>
51 template<
class View0,
class View1>
57 template<
class View0,
class View1>
68 template<
class View0,
class View1>
74 template<
class View0,
class View1>
87 if (breakers.
min() == breakers.
max()) {
88 int b1 = breakers.
min();
90 if (breakers()) {
return ES_FIX; }
Base-class for both propagators and branchers.
Home class for posting propagators
Range iterator for computing set difference.
int min(void) const
Return smallest value of range.
int max(void) const
Return largest value of range.
MixBinaryPropagator(Space &home, MixBinaryPropagator &p)
Range iterator for the greatest lower bound.
Range iterator for the least upper bound.
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
NoSubset(Space &home, NoSubset &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
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.
bool me_failed(ModEvent me)
Check whether modification event me is failed.
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
Standard set relation propagators.
const Gecode::PropCond PC_SET_CLUB
Propagate when the cardinality or the least upper bound of a view changes.
const Gecode::PropCond PC_SET_CGLB
Propagate when the cardinality or the greatest lower bound of a view changes.
Gecode toplevel namespace
bool same(VarArgArray< Var > x, VarArgArray< Var > y)
Post propagator for SetVar SetOpType SetVar y
@ ES_OK
Execution is okay.
@ ES_FIX
Propagation has computed fixpoint.
@ ES_FAILED
Execution has resulted in failure.
Post propagator for SetVar x