Go to the documentation of this file.
40 namespace Gecode {
namespace Set {
namespace Rel {
42 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
45 View1 y1, CtrlView b0)
52 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
57 x0.update(home,share,
p.x0);
58 x1.update(home,share,
p.x1);
59 b.update(home,share,
p.b);
62 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
69 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
77 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
87 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) {
@ RM_PMI
Inverse implication for reification.
ExecStatus ES_SUBSUMED(Propagator &p)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Gecode::IntArgs i(4, 1, 2, 3, 4)
@ 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
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
Range iterator for computing intersection (binary)
Range iterator for computing set difference.
Range iterator for the greatest lower bound.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as ternary low)
virtual Actor * copy(Space &home, bool share)
Copy propagator during cloning.
CtrlView b
Boolean control view.
static PropCost ternary(PropCost::Mod m)
Three variables for modifier pcm.
ReSubset(Space &home, bool share, ReSubset &p)
Constructor for cloning p.
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.
#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.