40#ifndef __GECODE_SET_RELOP_HH__
41#define __GECODE_SET_RELOP_HH__
60 template<
class View0,
class View1,
class View2>
90 template<
class View0,
class View1,
class View2>
121 template<
class View0,
class View1,
class View2>
151 template<
class View0,
class View1,
class View2>
181 template<
class View0,
class View1>
217 template<
class View0,
class View1>
254 template<
class View0,
class View1>
Home class for posting propagators
MixNaryOnePropagator(Space &home, MixNaryOnePropagator &p)
MixTernaryPropagator(Space &home, MixTernaryPropagator &p)
ModEventDelta med
A set of modification events (used during propagation)
Growing sets of integers.
Shrinking sets of integers.
LUBndSet intOfDets
Intersection of the determined (which are dropped)
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
bool shared
Whether the any views share a variable implementation.
IntersectionN(Space &home, IntersectionN &p)
Constructor for cloning p.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Intersection(Space &home, Intersection &p)
Constructor for cloning p.
bool shared
Whether the any views share a variable implementation.
PartitionN(Space &home, PartitionN &p)
Constructor for cloning p.
GLBndSet unionOfDets
Union of the determined (which are dropped)
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
SubOfUnion(Space &home, SubOfUnion &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
SuperOfInter(Space &home, SuperOfInter &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
GLBndSet unionOfDets
Union of the determined (which are dropped)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
bool shared
Whether the any views share a variable implementation.
UnionN(Space &home, UnionN &p)
Constructor for cloning p.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Union(Space &home, Union &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
int ModEventDelta
Modification event deltas.
Standard set operation 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_ANY
Propagate when any bound or the cardinality of a view changes.
Gecode toplevel namespace
Post propagator for SetVar SetOpType SetVar SetRelType SetVar z
Post propagator for SetVar SetOpType SetVar y
Post propagator for SetVar x