40 #ifndef __GECODE_SET_INT_HH__
41 #define __GECODE_SET_INT_HH__
45 namespace Gecode {
namespace Set {
namespace Int {
61 Gecode::Int::IntView,Gecode::Int::PC_INT_BND> {
89 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM> {
114 template<
class View, ReifyMode rm>
117 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM,Gecode::Int::BoolView> {
176 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM> {
201 template<
class View, ReifyMode rm>
204 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM,Gecode::Int::BoolView> {
235 Gecode::Int::IntView,Gecode::Int::PC_INT_BND> {
244 Card(
Home home, View, Gecode::Int::IntView);
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is the minimal element of s.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
const Gecode::PropCond PC_SET_CARD
Propagate when the cardinality of a view changes.
SharedArray< int > weights
Weights for the elements in the upper bound.
View x0
View of type View0.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
Propagator for not maximum element
ReMinElement(Space &home, bool share, ReMinElement &p)
Constructor for cloning p.
Reified mixed binary propagator.
Base-class for propagators.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is not the minimal element of s.
Gecode::Int::IntView x1
View of type View1.
Base-class for both propagators and branchers.
Propagator for reified minimum element
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for .
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
int p
Number of positive literals for node type.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for not minimum element
Weights(Space &home, bool share, Weights &p)
Constructor for cloning p.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x, Gecode::Int::BoolView b)
Post reified propagator for b iff x is the minimal element of s.
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
ModEventDelta med
A set of modification events (used during propagation)
View x0
View of type View0.
static ExecStatus post(Home home, const SharedArray< int > &elements, const SharedArray< int > &weights, View x, Gecode::Int::IntView y)
Post propagator for .
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
MaxElement(Space &home, bool share, MaxElement &p)
Constructor for cloning p.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is the largest element of s.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
Gecode::Int::IntView y
The integer view.
ReMaxElement(Space &home, bool share, ReMaxElement &p)
Constructor for cloning p.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_LINEAR_LO)
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
const Gecode::PropCond PC_SET_ANY
Propagate when any bound or the cardinality of a view changes.
NotMaxElement(Space &home, bool share, NotMaxElement &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for maximum element
Integer view for integer variables.
Card(Space &home, bool share, Card &p)
Constructor for cloning p.
Node * x
Pointer to corresponding Boolean expression node.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
Reified propagator for maximum element
Gecode::Int::BoolView b
Boolean control view.
MinElement(Space &home, bool share, MinElement &p)
Constructor for cloning p.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
Propagator for weight of a set
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
NotMinElement(Space &home, bool share, NotMinElement &p)
Constructor for cloning p.
Gecode toplevel namespace
SharedArray< int > elements
List of elements in the upper bound.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x, Gecode::Int::BoolView b)
Post reified propagator for b iff x is the largest element of s.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Gecode::Int::IntView x1
View of type View1.
int ModEventDelta
Modification event deltas.
Home class for posting propagators
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is not the largest element of s.
Propagator for cardinality
Propagator for minimum element
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home, bool)
Copy propagator during cloning.
Boolean view for Boolean variables.