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.
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.
int min(void) const
Return smallest value of range.
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.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
Node * x
Pointer to corresponding Boolean expression node.
const Gecode::PropCond PC_SET_CGLB
Propagate when the cardinality or the greatest lower bound of a view changes.
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 ModEventDelta
Modification event deltas.
Home class for posting propagators
bool me_failed(ModEvent me)
Check whether modification event me is failed.