Go to the documentation of this file.
44 namespace Gecode {
namespace Set {
namespace Rel {
46 template<
class View0,
class View1>
51 template<
class View0,
class View1>
57 template<
class View0,
class View1>
76 template<
class View0,
class View1>
82 template<
class View0,
class View1>
85 assert(x0.assigned()||x1.assigned());
106 template<
class View0>
112 template<
class View0>
121 assert(x0.lubSize()-x0.glbSize() >0);
134 if (x0.lubSize() ==
y.
cardMin() && x0.lubSize() > 0) {
145 template<
class View0>
150 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)
unsigned int cardMin(void) const
Return cardinality minimum.
void update(Space &home, bool share, ConstSetView &y)
Update this view to be a clone of view y.
Base-class for both propagators and branchers.
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.
Distinct(Space &home, bool share, Distinct &p)
Constructor for cloning p.
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.
DistinctDoit(Space &home, bool share, DistinctDoit &)
Constructor for cloning p.
Home class for posting propagators
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.
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
Propagator for negated equality
Propagator for negated equality
@ ES_FIX
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 .
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
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.
@ ES_FAILED
Execution has resulted in failure.
int ModEventDelta
Modification event deltas.
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
@ ES_OK
Execution is okay.
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)