36#ifndef __GECODE_SET_INT_HH__
37#define __GECODE_SET_INT_HH__
41namespace Gecode {
namespace Set {
namespace Int {
57 Gecode::Int::IntView,Gecode::Int::PC_INT_BND> {
85 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM> {
110 template<
class View, ReifyMode rm>
113 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM,Gecode::Int::BoolView> {
172 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM> {
197 template<
class View, ReifyMode rm>
200 Gecode::Int::IntView,Gecode::Int::PC_INT_DOM,Gecode::Int::BoolView> {
231 Gecode::Int::IntView,Gecode::Int::PC_INT_BND> {
int p
Number of positive literals for node type.
Base-class for both propagators and branchers.
Home class for posting propagators
Boolean view for Boolean variables.
Integer view for integer variables.
Reified mixed binary propagator.
Base-class for propagators.
ModEventDelta med
A set of modification events (used during propagation)
Propagator for cardinality
Card(Space &home, Card &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, View s, Gecode::Int::IntView x)
Post propagator for .
Propagator for maximum element
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is the largest element of s.
MaxElement(Space &home, MaxElement &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for minimum element
MinElement(Space &home, MinElement &p)
Constructor for cloning p.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is the minimal element of s.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Propagator for not maximum element
NotMaxElement(Space &home, NotMaxElement &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is not the largest element of s.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
Propagator for not minimum element
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
NotMinElement(Space &home, NotMinElement &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
static ExecStatus post(Home home, View s, Gecode::Int::IntView x)
Post propagator for x is not the minimal element of s.
Reified propagator for maximum element
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
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)
Copy propagator during cloning.
ReMaxElement(Space &home, ReMaxElement &p)
Constructor for cloning p.
Propagator for reified minimum element
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
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.
ReMinElement(Space &home, ReMinElement &p)
Constructor for cloning p.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
Propagator for weight of a set
Gecode::Int::IntView y
The integer view.
virtual ExecStatus propagate(Space &home, const ModEventDelta &med)
Perform propagation.
virtual Actor * copy(Space &home)
Copy propagator during cloning.
SharedArray< int > weights
Weights for the elements in the upper bound.
Weights(Space &home, Weights &p)
Constructor for cloning p.
virtual PropCost cost(const Space &home, const ModEventDelta &med) const
Cost function (defined as PC_LINEAR_LO)
static ExecStatus post(Home home, const SharedArray< int > &elements, const SharedArray< int > &weights, View x, Gecode::Int::IntView y)
Post propagator for .
SharedArray< int > elements
List of elements in the upper bound.
virtual size_t dispose(Space &home)
Delete propagator and return its size.
virtual void reschedule(Space &home)
Schedule function.
Shared array with arbitrary number of elements.
int ModEventDelta
Modification event deltas.
const Gecode::PropCond PC_INT_BND
Propagate when minimum or maximum of a view changes.
const Gecode::PropCond PC_INT_DOM
Propagate when domain changes.
const Gecode::PropCond PC_SET_CARD
Propagate when the cardinality 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 x