Go to the documentation of this file.
40 namespace Gecode {
namespace Set {
namespace Rel {
42 template<
class View0,
class View1>
47 template<
class View0,
class View1>
53 template<
class View0,
class View1>
74 template<
class View0,
class View1>
80 template<
class View0,
class View1>
83 assert(x0.assigned()||x1.assigned());
104 template<
class View0>
110 template<
class View0>
119 assert(x0.lubSize()-x0.glbSize() >0);
132 if (x0.lubSize() ==
y.
cardMin() && x0.lubSize() > 0) {
143 template<
class View0>
148 template<
class View0>
Post propagator for SetVar x
Post propagator for SetVar SetOpType SetVar y
Range iterator for greatest lower bound of constant set view
ExecStatus ES_SUBSUMED(Propagator &p)
Distinct(Space &home, Distinct &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
unsigned int cardMin(void) const
Return cardinality minimum.
Base-class for both propagators and branchers.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
bool assigned(void) const
Test whether view is assigned.
Gecode toplevel namespace
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Home class for posting propagators
bool same(VX, VY)
Test whether two views are in fact the same.
ConstSetView y
The view that is already assigned.
unsigned int cardMax(void) const
Return cardinality maximum.
Range iterator for the greatest lower bound.
bool equal(I &i, J &j)
Check whether range iterators i and j are equal.
void update(Space &home, ConstSetView &y)
Update this view to be a clone of view y.
DistinctDoit(Space &home, DistinctDoit &)
Constructor for cloning p.
Propagator for negated equality
Propagator for negated equality
Propagation has computed fixpoint.
Range iterator for the least upper bound.
Range iterator for least upper bound of constant set view
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
Execution has resulted in failure.
int ModEventDelta
Modification event deltas.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
int p
Number of positive literals for node type.
static ExecStatus post(Home home, View0 x, ConstSetView y)
Post propagator .
const Gecode::PropCond PC_SET_VAL
Propagate when a view becomes assigned (single value)