Generated on Wed Nov 1 15:05:13 2006 for Gecode by doxygen 1.4.5

Gecode::Propagator Class Reference
[Programming actors]

Inherits Gecode::Actor.

Inherited by Gecode::BinaryPropagator< View, pc >, Gecode::BinaryPropagator< SetView, PC_SET_ANY >, Gecode::BinaryPropagator< View, PC_INT_BND >, Gecode::BinaryPropagator< View, PC_INT_DOM >, Gecode::BinaryPropagator< View, PC_INT_VAL >, Gecode::BinaryPropagator< ViewTuple< View, 2 >, PC_INT_DOM >, Gecode::BinaryPropagator< VX, PC_INT_DOM >, Gecode::BinaryPropagator< VX, PC_INT_VAL >, Gecode::InhomBinaryPropagator< View0, pc0, View1, pc1 >, Gecode::InhomBinaryPropagator< View0, PC_INT_BND, View1, PC_INT_BND >, Gecode::InhomBinaryPropagator< View0, PC_INT_DOM, View1, PC_INT_DOM >, Gecode::InhomBinaryPropagator< View0, PC_SET_ANY, View1, PC_SET_ANY >, Gecode::InhomBinaryPropagator< View0, PC_SET_CGLB, View1, PC_SET_CLUB >, Gecode::InhomBinaryPropagator< View0, PC_SET_CLUB, View1, PC_SET_CGLB >, Gecode::InhomBinaryPropagator< View0, PC_SET_VAL, View1, PC_SET_VAL >, Gecode::InhomNaryOnePropagator< View0, pc0, View1, pc1 >, Gecode::InhomNaryOnePropagator< View0, PC_SET_ANY, View1, PC_SET_ANY >, Gecode::InhomTernaryPropagator< View0, pc0, View1, pc1, View2, pc2 >, Gecode::InhomTernaryPropagator< View0, PC_SET_ANY, View1, PC_SET_ANY, View2, PC_SET_ANY >, Gecode::InhomTernaryPropagator< View0, PC_SET_ANY, View1, PC_SET_ANY, View2, PC_SET_CLUB >, Gecode::Int::Arithmetic::MultPlus< VA, VB, VC >, Gecode::Int::Arithmetic::SquarePlus< VA, VB >, Gecode::Int::Bool::BoolBinary< BVA, BVB >, Gecode::Int::Bool::BoolTernary< BVA, BVB, BVC >, Gecode::Int::Channel::Base< Info, pc >, Gecode::Int::Channel::Base< DomInfo< View >, PC_INT_DOM >, Gecode::Int::Channel::Base< ValInfo< View >, PC_INT_VAL >, Gecode::Int::Count::BaseInt< VX, VY >, Gecode::Int::Count::BaseView< VX, VY, VZ, shr >, Gecode::Int::Cumulatives::Val< ViewM, ViewD, ViewH, View >, Gecode::Int::Distinct::Bnd< View >, Gecode::Int::Element::Int< ViewA, ViewB >, Gecode::Int::Element::View< ViewA, ViewB, pcb >, Gecode::Int::Element::View< ViewA, ViewB, PC_INT_BND >, Gecode::Int::Element::View< ViewA, ViewB, PC_INT_DOM >, Gecode::Int::GCC::BndImp< View, Card, isView, shared >, Gecode::Int::GCC::Dom< View, Card, isView >, Gecode::Int::GCC::Val< View, Card, isView >, Gecode::Int::Linear::Lin< Val, P, N, pc >, Gecode::Int::Linear::Lin< Val, P, N, pc >, Gecode::Int::Linear::Lin< Val, P, N, PC_INT_BND >, Gecode::Int::Linear::Lin< Val, P, N, PC_INT_VAL >, Gecode::Int::Linear::Lin< Val, View, View, PC_INT_DOM >, Gecode::Int::Linear::LinBin< Val, A, B, pc >, Gecode::Int::Linear::LinBin< Val, A, B, PC_INT_BND >, Gecode::Int::Linear::LinBin< Val, A, B, PC_INT_VAL >, Gecode::Int::Linear::LinBoolInt< VX >, Gecode::Int::Linear::LinBoolView< XV, YV >, Gecode::Int::Linear::LinTer< Val, A, B, C, pc >, Gecode::Int::Linear::LinTer< Val, A, B, C, PC_INT_BND >, Gecode::Int::Linear::LinTer< Val, A, B, C, PC_INT_VAL >, Gecode::Int::Linear::ReLinBin< Val, A, B, pc, Ctrl >, Gecode::Int::Linear::ReLinBin< Val, A, B, PC_INT_BND, BoolView >, Gecode::Int::Linear::ReLinBin< Val, A, B, PC_INT_BND, Ctrl >, Gecode::Int::Sortedness::Sortedness< View, Tuple, Perm >, Gecode::IntSetPropagator< View, pcs, pci >, Gecode::IntSetPropagator< SetView, PC_SET_ANY, Gecode::Int::PC_INT_BND >, Gecode::IntSetPropagator< SetView, PC_SET_CARD, Gecode::Int::PC_INT_BND >, Gecode::NaryOnePropagator< View, pc >, Gecode::NaryOnePropagator< SetView, PC_SET_ANY >, Gecode::NaryOnePropagator< View, PC_INT_BND >, Gecode::NaryOnePropagator< View, PC_INT_VAL >, Gecode::NaryPropagator< View, pc >, Gecode::NaryPropagator< SetView, PC_SET_ANY >, Gecode::NaryPropagator< SetView, PC_SET_CGLB >, Gecode::NaryPropagator< View, PC_INT_BND >, Gecode::NaryPropagator< View, PC_INT_DOM >, Gecode::NaryPropagator< View, PC_INT_VAL >, Gecode::NaryPropagator< ViewTuple< View, 2 >, PC_INT_BND >, Gecode::ReBinaryPropagator< View, pc, CtrlView >, Gecode::ReBinaryPropagator< View, PC_INT_BND, CtrlView >, Gecode::ReBinaryPropagator< View, PC_INT_DOM, CtrlView >, Gecode::ReUnaryPropagator< View, pc, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_BND, BoolView >, Gecode::ReUnaryPropagator< View, PC_INT_BND, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, BoolView >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, CtrlView >, Gecode::Set::Int::Channel, Gecode::Set::Int::Match, Gecode::Set::Int::Weights, Gecode::Set::Projection::CardProjection, Gecode::Set::Projection::NaryProjection< negated >, Gecode::Set::Projection::ReNaryProjection, Gecode::Set::Rel::ReEq< View0, View1 >, Gecode::Set::Rel::ReSubset< View0, View1 >, Gecode::Set::Select::SelectDisjoint, Gecode::Set::Select::SelectIntersection< SView, RView >, Gecode::TernaryPropagator< View, pc >, Gecode::TernaryPropagator< View, PC_INT_BND >, Gecode::TernaryPropagator< View, PC_INT_DOM >, Gecode::UnaryPropagator< View, pc >, Gecode::UnaryPropagator< SetView, PC_SET_ANY >, and Gecode::UnaryPropagator< View0, PC_SET_ANY >.

List of all members.


Detailed Description

Base-class for propagators.

Definition at line 453 of file core.icc.

Propagation

virtual ExecStatus propagate (Space *)=0
 Propagation function.
virtual PropCost cost (void) const =0
 Cost function.

Partial fixpoints

ExecStatus ES_FIX_PARTIAL (PropModEvent pme)
 Propagator has computed partial fixpoint
ExecStatus ES_NOFIX_PARTIAL (PropModEvent pme)
 Propagator has not computed partial fixpoint

Protected Member Functions

 Propagator (Space *home, bool fd=false)
 Constructor for creation.
 Propagator (Space *home, bool share, Propagator &p)
 Constructor for cloning p.


Constructor & Destructor Documentation

Gecode::Propagator::Propagator Space home,
bool  fd = false
[inline, protected]
 

Constructor for creation.

Force deletion, if fd is true

Definition at line 1359 of file core.icc.

Gecode::Propagator::Propagator Space home,
bool  share,
Propagator p
[inline, protected]
 

Constructor for cloning p.

Definition at line 1365 of file core.icc.


Member Function Documentation

virtual ExecStatus Gecode::Propagator::propagate Space  )  [pure virtual]
 

Propagation function.

Implemented in Gecode::Int::Arithmetic::AbsBnd< View >, Gecode::Int::Arithmetic::AbsDom< View >, Gecode::Int::Arithmetic::Max< View >, Gecode::Int::Arithmetic::NaryMax< View >, Gecode::Int::Arithmetic::SquarePlus< VA, VB >, Gecode::Int::Arithmetic::Square< View >, Gecode::Int::Arithmetic::MultPlus< VA, VB, VC >, Gecode::Int::Arithmetic::Mult< View >, Gecode::Int::Bool::Eq< BVA, BVB >, Gecode::Int::Bool::OrTrue< BVA, BVB >, Gecode::Int::Bool::Or< BVA, BVB, BVC >, Gecode::Int::Bool::NaryOr< View >, Gecode::Int::Bool::NaryOrTrue< View >, Gecode::Int::Bool::Eqv< BVA, BVB, BVC >, Gecode::Int::Channel::Val< View >, Gecode::Int::Channel::Dom< View >, Gecode::Int::Count::EqInt< VX, VY >, Gecode::Int::Count::GqInt< VX, VY >, Gecode::Int::Count::LqInt< VX, VY >, Gecode::Int::Count::NqInt< VX, VY >, Gecode::Int::Count::EqView< VX, VY, VZ, shr >, Gecode::Int::Count::NqView< VX, VY, VZ, shr >, Gecode::Int::Count::LqView< VX, VY, VZ, shr >, Gecode::Int::Count::GqView< VX, VY, VZ, shr >, Gecode::Int::Cumulatives::Val< ViewM, ViewD, ViewH, View >, Gecode::Int::Distinct::Val< View >, Gecode::Int::Distinct::Bnd< View >, Gecode::Int::Distinct::Dom< View >, Gecode::Int::Distinct::TerDom< View >, Gecode::Int::Dom::ReRange< View >, Gecode::Int::Dom::ReIntSet< View >, Gecode::Int::Element::Int< ViewA, ViewB >, Gecode::Int::Element::ViewBnd< ViewA, ViewB >, Gecode::Int::Element::ViewDom< ViewA, ViewB >, Gecode::Int::GCC::BndImp< View, Card, isView, shared >, Gecode::Int::GCC::Dom< View, Card, isView >, Gecode::Int::GCC::Val< View, Card, isView >, Gecode::Int::Linear::EqBin< Val, A, B >, Gecode::Int::Linear::ReEqBin< Val, A, B, Ctrl >, Gecode::Int::Linear::NqBin< Val, A, B >, Gecode::Int::Linear::LqBin< Val, A, B >, Gecode::Int::Linear::GqBin< Val, A, B >, Gecode::Int::Linear::ReLqBin< Val, A, B >, Gecode::Int::Linear::EqTer< Val, A, B, C >, Gecode::Int::Linear::NqTer< Val, A, B, C >, Gecode::Int::Linear::LqTer< Val, A, B, C >, Gecode::Int::Linear::Eq< Val, P, N >, Gecode::Int::Linear::DomEq< Val, View >, Gecode::Int::Linear::ReEq< Val, P, N, Ctrl >, Gecode::Int::Linear::Nq< Val, P, N >, Gecode::Int::Linear::Lq< Val, P, N >, Gecode::Int::Linear::ReLq< Val, P, N >, Gecode::Int::Linear::EqBoolInt< VX >, Gecode::Int::Linear::GqBoolInt< VX >, Gecode::Int::Linear::NqBoolInt< VX >, Gecode::Int::Linear::EqBoolView< XV, YV >, Gecode::Int::Linear::NqBoolView< XV, YV >, Gecode::Int::Linear::GqBoolView< XV, YV >, Gecode::Int::Regular::Dom< View >, Gecode::Int::Rel::EqDom< View0, View1 >, Gecode::Int::Rel::EqBnd< View0, View1 >, Gecode::Int::Rel::NaryEqDom< View >, Gecode::Int::Rel::NaryEqBnd< View >, Gecode::Int::Rel::ReEqDom< View, CtrlView >, Gecode::Int::Rel::ReEqBnd< View, CtrlView >, Gecode::Int::Rel::ReEqDomInt< View, CtrlView >, Gecode::Int::Rel::ReEqBndInt< View, CtrlView >, Gecode::Int::Rel::Nq< View >, Gecode::Int::Rel::Lq< View >, Gecode::Int::Rel::Le< View >, Gecode::Int::Rel::ReLq< View, CtrlView >, Gecode::Int::Rel::ReLqInt< View, CtrlView >, Gecode::Int::Rel::Lex< View >, Gecode::Int::Rel::NaryNq< View >, Gecode::Int::Sortedness::Sortedness< View, Tuple, Perm >, Gecode::Set::Convex::Convex, Gecode::Set::Convex::ConvexHull, Gecode::Set::Distinct::AtmostOne, Gecode::Set::Distinct::Distinct, Gecode::Set::Int::MinElement, Gecode::Set::Int::MaxElement, Gecode::Set::Int::Card, Gecode::Set::Int::Match, Gecode::Set::Int::Channel, Gecode::Set::Int::Weights, Gecode::Set::Projection::NaryProjection< negated >, Gecode::Set::Projection::ReNaryProjection, Gecode::Set::Projection::CardProjection, Gecode::Set::RelOp::SuperOfInter< View0, View1, View2 >, Gecode::Set::RelOp::SubOfUnion< View0, View1, View2 >, Gecode::Set::RelOp::Intersection< View0, View1, View2 >, Gecode::Set::RelOp::Union< View0, View1, View2 >, Gecode::Set::RelOp::IntersectionN< View0, View1 >, Gecode::Set::RelOp::UnionN< View0, View1 >, Gecode::Set::RelOp::PartitionN< View0, View1 >, Gecode::Set::Rel::SubSet< View0, View1 >, Gecode::Set::Rel::NoSubSet< View0, View1 >, Gecode::Set::Rel::ReSubset< View0, View1 >, Gecode::Set::Rel::Eq< View0, View1 >, Gecode::Set::Rel::ReEq< View0, View1 >, Gecode::Set::Rel::Distinct< View0, View1 >, Gecode::Set::Rel::DistinctDoit< View0, View1 >, Gecode::Set::Select::SelectIntersection< SView, RView >, Gecode::Set::Select::SelectDisjoint, Gecode::Set::Sequence::Seq, and Gecode::Set::Sequence::SeqU.

virtual PropCost Gecode::Propagator::cost void   )  const [pure virtual]
 

Cost function.

Implemented in Gecode::Int::Arithmetic::AbsBnd< View >, Gecode::Int::Arithmetic::AbsDom< View >, Gecode::Int::Arithmetic::SquarePlus< VA, VB >, Gecode::Int::Arithmetic::Square< View >, Gecode::Int::Arithmetic::MultPlus< VA, VB, VC >, Gecode::Int::Arithmetic::Mult< View >, Gecode::Int::Bool::BoolBinary< BVA, BVB >, Gecode::Int::Bool::BoolTernary< BVA, BVB, BVC >, Gecode::Int::Bool::NaryOrTrue< View >, Gecode::Int::Channel::Base< Info, pc >, Gecode::Int::Channel::Dom< View >, Gecode::Int::Count::BaseInt< VX, VY >, Gecode::Int::Count::NqInt< VX, VY >, Gecode::Int::Count::BaseView< VX, VY, VZ, shr >, Gecode::Int::Cumulatives::Val< ViewM, ViewD, ViewH, View >, Gecode::Int::Distinct::Bnd< View >, Gecode::Int::Distinct::Dom< View >, Gecode::Int::Element::Int< ViewA, ViewB >, Gecode::Int::Element::View< ViewA, ViewB, pcb >, Gecode::Int::Element::ViewDom< ViewA, ViewB >, Gecode::Int::GCC::BndImp< View, Card, isView, shared >, Gecode::Int::GCC::Dom< View, Card, isView >, Gecode::Int::GCC::Val< View, Card, isView >, Gecode::Int::Linear::LinBin< Val, A, B, pc >, Gecode::Int::Linear::ReLinBin< Val, A, B, pc, Ctrl >, Gecode::Int::Linear::NqBin< Val, A, B >, Gecode::Int::Linear::LinTer< Val, A, B, C, pc >, Gecode::Int::Linear::Lin< Val, P, N, pc >, Gecode::Int::Linear::DomEq< Val, View >, Gecode::Int::Linear::LinBoolInt< VX >, Gecode::Int::Linear::NqBoolInt< VX >, Gecode::Int::Linear::LinBoolView< XV, YV >, Gecode::ReUnaryPropagator< View, pc, CtrlView >, Gecode::ReBinaryPropagator< View, pc, CtrlView >, Gecode::Int::Regular::Dom< View >, Gecode::Int::Rel::EqDom< View0, View1 >, Gecode::Int::Rel::NaryEqDom< View >, Gecode::Int::Rel::NaryEqBnd< View >, Gecode::Int::Rel::Nq< View >, Gecode::Int::Sortedness::Sortedness< View, Tuple, Perm >, Gecode::UnaryPropagator< View, pc >, Gecode::BinaryPropagator< View, pc >, Gecode::TernaryPropagator< View, pc >, Gecode::NaryPropagator< View, pc >, Gecode::NaryOnePropagator< View, pc >, Gecode::InhomBinaryPropagator< View0, pc0, View1, pc1 >, Gecode::InhomTernaryPropagator< View0, pc0, View1, pc1, View2, pc2 >, Gecode::InhomNaryOnePropagator< View0, pc0, View1, pc1 >, Gecode::Set::Int::Match, Gecode::Set::Int::Channel, Gecode::Set::Int::Weights, Gecode::Set::Projection::NaryProjection< negated >, Gecode::Set::Projection::ReNaryProjection, Gecode::Set::Projection::CardProjection, Gecode::IntSetPropagator< View, pcs, pci >, Gecode::Set::RelOp::IntersectionN< View0, View1 >, Gecode::Set::RelOp::UnionN< View0, View1 >, Gecode::Set::RelOp::PartitionN< View0, View1 >, Gecode::Set::Rel::ReSubset< View0, View1 >, Gecode::Set::Rel::ReEq< View0, View1 >, Gecode::Set::Select::SelectIntersection< SView, RView >, Gecode::Set::Select::SelectDisjoint, Gecode::Int::Channel::Base< DomInfo< View >, PC_INT_DOM >, Gecode::Int::Channel::Base< ValInfo< View >, PC_INT_VAL >, Gecode::Int::Element::View< ViewA, ViewB, PC_INT_BND >, Gecode::Int::Element::View< ViewA, ViewB, PC_INT_DOM >, Gecode::Int::Linear::LinBin< Val, A, B, PC_INT_BND >, Gecode::Int::Linear::LinBin< Val, A, B, PC_INT_VAL >, Gecode::Int::Linear::ReLinBin< Val, A, B, PC_INT_BND, Ctrl >, Gecode::Int::Linear::ReLinBin< Val, A, B, PC_INT_BND, BoolView >, Gecode::Int::Linear::LinTer< Val, A, B, C, PC_INT_BND >, Gecode::Int::Linear::LinTer< Val, A, B, C, PC_INT_VAL >, Gecode::Int::Linear::Lin< Val, View, View, PC_INT_DOM >, Gecode::Int::Linear::Lin< Val, P, N, PC_INT_VAL >, Gecode::Int::Linear::Lin< Val, P, N, pc >, Gecode::Int::Linear::Lin< Val, P, N, PC_INT_BND >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_BND, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_BND, BoolView >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, BoolView >, Gecode::ReBinaryPropagator< View, PC_INT_DOM, CtrlView >, Gecode::ReBinaryPropagator< View, PC_INT_BND, CtrlView >, Gecode::UnaryPropagator< View0, PC_SET_ANY >, Gecode::UnaryPropagator< SetView, PC_SET_ANY >, Gecode::BinaryPropagator< VX, PC_INT_VAL >, Gecode::BinaryPropagator< ViewTuple< View, 2 >, PC_INT_DOM >, Gecode::BinaryPropagator< View, PC_INT_DOM >, Gecode::BinaryPropagator< View, PC_INT_VAL >, Gecode::BinaryPropagator< VX, PC_INT_DOM >, Gecode::BinaryPropagator< View, PC_INT_BND >, Gecode::BinaryPropagator< SetView, PC_SET_ANY >, Gecode::TernaryPropagator< View, PC_INT_DOM >, Gecode::TernaryPropagator< View, PC_INT_BND >, Gecode::NaryPropagator< View, PC_INT_DOM >, Gecode::NaryPropagator< ViewTuple< View, 2 >, PC_INT_BND >, Gecode::NaryPropagator< View, PC_INT_VAL >, Gecode::NaryPropagator< View, PC_INT_BND >, Gecode::NaryPropagator< SetView, PC_SET_ANY >, Gecode::NaryPropagator< SetView, PC_SET_CGLB >, Gecode::NaryOnePropagator< View, PC_INT_VAL >, Gecode::NaryOnePropagator< View, PC_INT_BND >, Gecode::NaryOnePropagator< SetView, PC_SET_ANY >, Gecode::InhomBinaryPropagator< View0, PC_SET_CGLB, View1, PC_SET_CLUB >, Gecode::InhomBinaryPropagator< View0, PC_SET_VAL, View1, PC_SET_VAL >, Gecode::InhomBinaryPropagator< View0, PC_INT_DOM, View1, PC_INT_DOM >, Gecode::InhomBinaryPropagator< View0, PC_INT_BND, View1, PC_INT_BND >, Gecode::InhomBinaryPropagator< View0, PC_SET_ANY, View1, PC_SET_ANY >, Gecode::InhomBinaryPropagator< View0, PC_SET_CLUB, View1, PC_SET_CGLB >, Gecode::InhomTernaryPropagator< View0, PC_SET_ANY, View1, PC_SET_ANY, View2, PC_SET_CLUB >, Gecode::InhomTernaryPropagator< View0, PC_SET_ANY, View1, PC_SET_ANY, View2, PC_SET_ANY >, Gecode::InhomNaryOnePropagator< View0, PC_SET_ANY, View1, PC_SET_ANY >, Gecode::IntSetPropagator< SetView, PC_SET_ANY, Gecode::Int::PC_INT_BND >, and Gecode::IntSetPropagator< SetView, PC_SET_CARD, Gecode::Int::PC_INT_BND >.


The documentation for this class was generated from the following file: