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);
145 template<
class View0>
150 template<
class View0>
#define GECODE_REWRITE(prop, post)
Rewrite propagator by executing post function.
Range iterator for greatest lower bound of constant set view
Propagator for negated equality
void update(Space &home, bool share, ConstSetView &y)
Update this view to be a clone of view y.
ExecStatus ES_SUBSUMED(Propagator &p)
View0 x0
View of type View0.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Range iterator for least upper bound of constant set view
bool equal(I &i, J &j)
Check whether range iterators i and j are equal.
Range iterator for the greatest lower bound.
Propagation has computed fixpoint.
View1 x1
View of type View1.
Range iterator for the least upper bound.
Base-class for both propagators and branchers.
DistinctDoit(Space &home, bool share, DistinctDoit &)
Constructor for cloning p.
Distinct(Space &home, bool share, Distinct &p)
Constructor for cloning p.
#define GECODE_ES_CHECK(es)
Check whether execution status es is failed or subsumed, and forward failure or subsumption.
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.
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
Post propagator for SetVar SetOpType SetVar y
static ExecStatus post(Home home, View0 x, ConstSetView y)
Post propagator .
ConstSetView y
The view that is already assigned.
Propagator for negated equality
Post propagator for SetVar x
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
unsigned int cardMax(void) const
Return cardinality maximum.
bool subset(I &i, J &j)
Check whether range iterator i is subset of range iterator j.
Gecode toplevel namespace
const Gecode::PropCond PC_SET_VAL
Propagate when a view becomes assigned (single value)
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .