42 namespace Gecode {
namespace Set {
namespace Rel {
49 template<
class View0,
class View1>
55 template<
class View0,
class View1>
62 template<
class View0,
class View1>
71 template<
class View0,
class View1>
77 template<
class View0,
class View1>
84 if (x0.cardMin()>x1.cardMax()) {
return home.
ES_SUBSUMED(*
this); }
90 if (breakers.
min() == breakers.
max()) {
91 int b1 = breakers.
min();
93 if (breakers()) {
return ES_FIX; }
const Gecode::PropCond PC_SET_CLUB
Propagate when the cardinality or the least upper bound of a view changes.
ExecStatus ES_SUBSUMED(Propagator &p)
int max(void) const
Return largest value of range.
Range iterator for the greatest lower bound.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Propagation has computed fixpoint.
Range iterator for the least upper bound.
Base-class for both propagators and branchers.
NoSubset(Space &home, bool share, NoSubset &p)
Constructor for cloning p.
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
int p
Number of positive literals for node type.
Execution has resulted in failure.
unsigned int cardMin(void) const
Return cardinality minimum.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Post propagator for SetVar SetOpType SetVar y
const Gecode::PropCond PC_SET_CGLB
Propagate when the cardinality or the greatest lower bound of a view changes.
Post propagator for SetVar x
Propagator for the negated subset constraint
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Gecode toplevel namespace
Range iterator for computing set difference.
int min(void) const
Return smallest value of range.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
bool me_failed(ModEvent me)
Check whether modification event me is failed.