Go to the documentation of this file.
40 #ifndef __GECODE_SET_RELOP_HH__
41 #define __GECODE_SET_RELOP_HH__
46 namespace Gecode {
namespace Set {
namespace RelOp {
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>
Propagator for nary intersection
Post propagator for SetVar x
Propagator for ternary union
Post propagator for SetVar SetOpType SetVar y
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
View1 x1
View of type View1.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
ViewArray< View0 > x
Array of views.
Post propagator for SetVar SetOpType SetVar SetRelType SetVar z
Propagator for the subset of union
View0 x0
View of type View0.
Base-class for both propagators and branchers.
Union(Space &home, Union &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Mixed (n+1)-ary propagator.
SubOfUnion(Space &home, SubOfUnion &p)
Constructor for cloning p.
bool shared
Whether the any views share a variable implementation.
Propagator for nary partition
Mixed ternary propagator.
Gecode toplevel namespace
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
const Gecode::PropCond PC_SET_CLUB
Propagate when the cardinality or the least upper bound of a view changes.
Propagator for ternary intersection
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
Home class for posting propagators
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for nary union
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.
GLBndSet unionOfDets
Union of the determined (which are dropped)
ModEventDelta med
A set of modification events (used during propagation)
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
bool shared
Whether the any views share a variable implementation.
LUBndSet intOfDets
Intersection of the determined (which are dropped)
virtual Actor * copy(Space &home)
Copy propagator during cloning.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
GLBndSet unionOfDets
Union of the determined (which are dropped)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
View2 x2
View of type View2.
Intersection(Space &home, Intersection &p)
Constructor for cloning p.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
Growing sets of integers.
bool shared
Whether the any views share a variable implementation.
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
Propagator for the superset of intersection
SuperOfInter(Space &home, SuperOfInter &p)
Constructor for cloning p.
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
Shrinking sets of integers.
IntersectionN(Space &home, IntersectionN &p)
Constructor for cloning p.
int ModEventDelta
Modification event deltas.
UnionN(Space &home, UnionN &p)
Constructor for cloning p.
int p
Number of positive literals for node type.
PartitionN(Space &home, PartitionN &p)
Constructor for cloning p.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function.