40#ifndef __GECODE_SET_REL_HH__
41#define __GECODE_SET_REL_HH__
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>
Home class for posting propagators
Boolean view for Boolean variables.
MixBinaryPropagator(Space &home, MixBinaryPropagator &p)
ModEventDelta med
A set of modification events (used during propagation)
Propagator(Home home)
Constructor for posting.
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.
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.
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 .
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 .
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.
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.
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.
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.
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.
UnaryPropagator(Space &home, UnaryPropagator &p)
int ModEventDelta
Modification event deltas.
Simple relation propagators.
const Gecode::PropCond PC_SET_CLUB
Propagate when the cardinality or the least upper bound of a view changes.
const Gecode::PropCond PC_SET_VAL
Propagate when a view becomes assigned (single value)
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
const Gecode::PropCond PC_SET_CGLB
Propagate when the cardinality or the greatest lower bound of a view changes.
Gecode toplevel namespace
bool same(VarArgArray< Var > x, VarArgArray< Var > y)
Post propagator for SetVar SetOpType SetVar y
Post propagator for SetVar x