44 #ifndef __GECODE_SET_RELOP_HH__
45 #define __GECODE_SET_RELOP_HH__
50 namespace Gecode {
namespace Set {
namespace RelOp {
64 template<
class View0,
class View1,
class View2>
94 template<
class View0,
class View1,
class View2>
100 View2,PC_SET_ANY>
::x0;
102 View2,PC_SET_ANY>
::x1;
104 View2,PC_SET_ANY>
::x2;
125 template<
class View0,
class View1,
class View2>
131 View2,PC_SET_ANY>
::x0;
133 View2,PC_SET_ANY>
::x1;
135 View2,PC_SET_ANY>
::x2;
155 template<
class View0,
class View1,
class View2>
161 View2,PC_SET_ANY>
::x0;
163 View2,PC_SET_ANY>
::x1;
165 View2,PC_SET_ANY>
::x2;
185 template<
class View0,
class View1>
220 template<
class View0,
class View1>
256 template<
class View0,
class View1>
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
const Gecode::PropCond PC_SET_CLUB
Propagate when the cardinality or the least upper bound of a view changes.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear)
IntersectionN(Space &home, bool share, IntersectionN &p)
Constructor for cloning p.
Propagator for nary union
bool shared
Whether the any views share a variable implementation.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
Propagator for ternary union
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Intersection(Space &home, bool share, Intersection &p)
Constructor for cloning p.
View2 x2
View of type View2.
Shrinking sets of integers.
Mixed (n+1)-ary propagator.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
ViewArray< View0 > x
Array of views.
Union(Space &home, bool share, Union &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
bool shared
Whether the any views share a variable implementation.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
PartitionN(Space &home, bool share, PartitionN &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Base-class for both propagators and branchers.
Propagator for the subset of union
SuperOfInter(Space &home, bool share, SuperOfInter &p)
Constructor for cloning p.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
View0 x0
View of type View0.
int p
Number of positive literals for node type.
static ExecStatus post(Home home, View0 x, View1 y, View2 z)
Post propagator .
Mixed ternary propagator.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear)
ModEventDelta med
A set of modification events (used during propagation)
Propagator for nary partition
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as low linear)
LUBndSet intOfDets
Intersection of the determined (which are dropped)
SubOfUnion(Space &home, bool share, SubOfUnion &p)
Constructor for cloning p.
GLBndSet unionOfDets
Union of the determined (which are dropped)
GLBndSet unionOfDets
Union of the determined (which are dropped)
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
Node * x
Pointer to corresponding Boolean expression node.
Growing sets of integers.
Propagator for the superset of intersection
bool shared
Whether the any views share a variable implementation.
Gecode toplevel namespace
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
UnionN(Space &home, bool share, UnionN &p)
Constructor for cloning p.
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
Propagator for nary intersection
View1 x1
View of type View1.
static ExecStatus post(Home home, ViewArray< View0 > &y, View1 x)
Post propagator .
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for ternary intersection