40namespace Gecode {
namespace Set {
namespace Rel {
42 template<
class View0,
class View1>
48 template<
class View0,
class View1>
54 template<
class View0,
class View1>
61 template<
class View0,
class View1>
64 return new (home)
Subset(home,*
this);
67 template<
class View0,
class View1>
70 bool oneassigned = x0.assigned() || x1.assigned();
71 unsigned int x0glbsize;
77 x0glbsize = x0.glbSize();
80 }
while (x0.glbSize() > x0glbsize);
82 if (x0.cardMin() == x1.cardMax())
int p
Number of positive literals for node type.
Base-class for both propagators and branchers.
Home class for posting propagators
Range iterator for the greatest lower bound.
Range iterator for the least upper bound.
Propagator for set equality
Propagator for the subset constraint
Subset(Space &home, Subset &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
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.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
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_NOFIX
Propagation has not computed fixpoint.
bool shared(ViewArray< ViewX > x, ViewArray< ViewY > y)
Post propagator for SetVar x