Go to the documentation of this file.
36 namespace Gecode {
namespace Set {
namespace Rel {
38 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
41 View1 y1, CtrlView b0)
48 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
58 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
65 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
73 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
83 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
95 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
101 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
117 if (x0.cardMin() > x1.cardMax()) {
144 }
else if (x0.assigned() && x1.assigned()) {
151 if (x0.cardMin() > 0) {
virtual Actor * copy(Space &home)
Copy propagator during cloning.
@ RM_PMI
Inverse implication for reification.
ExecStatus ES_SUBSUMED(Propagator &p)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
ReSubset(Space &home, ReSubset &p)
Constructor for cloning p.
@ RM_IMP
Implication for reification.
Base-class for both propagators and branchers.
Propagator for the subset constraint
virtual void reschedule(Space &home)
Schedule function.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
Gecode toplevel namespace
Base-class for propagators.
Home class for posting propagators
bool same(VX, VY)
Test whether two views are in fact the same.
Range iterator for computing intersection (binary)
Range iterator for computing set difference.
struct Gecode::@602::NNF::@65::@66 b
For binary nodes (and, or, eqv)
Range iterator for the greatest lower bound.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as ternary low)
CtrlView b
Boolean control view.
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
const Gecode::PropCond PC_INT_VAL
Propagate when a view becomes assigned (single value)
@ ES_FIX
Propagation has computed fixpoint.
Range iterator for the least upper bound.
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
#define GECODE_ME_CHECK(me)
Check whether modification event me is failed, and forward failure.
virtual size_t dispose(Space &home)
Delete actor and return its size.
Propagator for the negated subset constraint
Reified subset propagator
static ExecStatus post(Home home, View0 x, View1 y, CtrlView b)
Post propagator for .
int ModEventDelta
Modification event deltas.
Gecode::IntArgs i({1, 2, 3, 4})
#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.