38namespace Gecode {
namespace Set {
namespace Rel {
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>
81 if (x0.cardMin()>x1.cardMax()) {
return home.
ES_SUBSUMED(*
this); }
87 if (breakers.
min() == breakers.
max()) {
88 int b1 = breakers.
min();
90 if (breakers()) {
return ES_FIX; }
int p
Number of positive literals for node type.
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.
unsigned int cardMin(void) const
Return cardinality minimum.
Range iterator for the greatest lower bound.
Range iterator for the least upper bound.
Propagator for the negated subset constraint
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)
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.
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