40 #ifndef __GECODE_SET_REL_HH__
41 #define __GECODE_SET_REL_HH__
45 namespace Gecode {
namespace Set {
namespace Rel {
53 template<
class VX,
class VY>
54 bool same(VX
c, VY y);
63 template<
class View0,
class View1>
89 template<
class View0,
class View1>
114 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
149 template<
class View0,
class View1>
173 template<
class View0,
class View1,
class CtrlView, ReifyMode rm>
207 template<
class View0,
class View1,
bool strict=false>
233 template<
class View0,
class View1, ReifyMode rm,
bool strict=false>
266 template<
class View0,
class View1>
295 template<
class View0>
int p
Number of positive literals for node type.
Node * x
Pointer to corresponding Boolean expression node.
Base-class for both propagators and branchers.
Home class for posting propagators
Boolean view for Boolean variables.
View1 x1
View of type View1.
View0 x0
View of type View0.
Base-class for propagators.
ModEventDelta med
A set of modification events (used during propagation)
Propagator for negated equality
DistinctDoit(Space &home, DistinctDoit &)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, View0 x, ConstSetView y)
Post propagator .
ConstSetView y
The view that is already assigned.
Propagator for negated equality
Distinct(Space &home, Distinct &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for set equality
Eq(Space &home, Eq &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
Propagator for set less than or equal
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Lq(Space &home, Lq &p)
Constructor for cloning p.
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
Propagator for the negated subset constraint
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
NoSubset(Space &home, NoSubset &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Reified equality propagator
static ExecStatus post(Home home, View0 x, View1 y, CtrlView b)
Post propagator for .
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_TERNARY_LO)
ReEq(Space &home, ReEq &)
Constructor for cloning p.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual void reschedule(Space &home)
Schedule function.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Reified propagator for set less than or equal
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_TERNARY_LO)
static ExecStatus post(Home home, View0 x, View1 y, Gecode::Int::BoolView b)
Post propagator for .
virtual void reschedule(Space &home)
Schedule function.
ReLq(Space &home, ReLq &p)
Constructor for cloning p.
Reified subset propagator
virtual size_t dispose(Space &home)
Delete propagator and return its size.
CtrlView b
Boolean control view.
ReSubset(Space &home, ReSubset &p)
Constructor for cloning p.
virtual void reschedule(Space &home)
Schedule function.
static ExecStatus post(Home home, View0 x, View1 y, CtrlView b)
Post propagator for .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as ternary low)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for the subset constraint
Subset(Space &home, Subset &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Post propagator for SetVar SetOpType SetVar y
int ModEventDelta
Modification event deltas.
bool same(VX, VY)
Test whether two views are in fact the same.
Gecode::FloatVal c(-8, 8)