Gecode::Propagator Class Reference
[Programming actors]
Inherits Gecode::Actor.
Inherited by Gecode::BinaryPropagator< View, pc >, Gecode::BinaryPropagator< Gecode::Set::SetView, PC_SET_ANY >, Gecode::BinaryPropagator< Gecode::ViewTuple< View, 2 >, PC_INT_DOM >, Gecode::BinaryPropagator< View, PC_INT_BND >, Gecode::BinaryPropagator< View, PC_INT_DOM >, Gecode::BinaryPropagator< View, PC_INT_VAL >, 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< Gecode::Int::Channel::DomInfo< View >, PC_INT_DOM >, Gecode::Int::Channel::Base< Gecode::Int::Channel::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< Gecode::Int::GCC::Val, P, N, pc >, Gecode::Int::Linear::Lin< Gecode::Int::GCC::Val, P, N, PC_INT_BND >, Gecode::Int::Linear::Lin< Gecode::Int::GCC::Val, P, N, PC_INT_VAL >, Gecode::Int::Linear::Lin< Gecode::Int::GCC::Val, View, View, PC_INT_DOM >, Gecode::Int::Linear::LinBin< Val, A, B, pc >, Gecode::Int::Linear::LinBin< Gecode::Int::GCC::Val, A, B, PC_INT_BND >, Gecode::Int::Linear::LinBin< Gecode::Int::GCC::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< Gecode::Int::GCC::Val, A, B, C, PC_INT_BND >, Gecode::Int::Linear::LinTer< Gecode::Int::GCC::Val, A, B, C, PC_INT_VAL >, Gecode::Int::Linear::ReLinBin< Val, A, B, pc, Ctrl >, Gecode::Int::Linear::ReLinBin< Gecode::Int::GCC::Val, A, B, PC_INT_BND, Ctrl >, Gecode::Int::Linear::ReLinBin< Gecode::Int::GCC::Val, A, B, PC_INT_BND, Gecode::Int::BoolView >, Gecode::Int::Sortedness::Sortedness< View, Tuple, Perm >, Gecode::IntSetPropagator< View, pcs, pci >, Gecode::IntSetPropagator< Gecode::Set::SetView, PC_SET_ANY, Gecode::Int::PC_INT_BND >, Gecode::IntSetPropagator< Gecode::Set::SetView, PC_SET_CARD, Gecode::Int::PC_INT_BND >, Gecode::NaryOnePropagator< View, pc >, Gecode::NaryOnePropagator< Gecode::Set::SetView, PC_SET_ANY >, Gecode::NaryOnePropagator< View, PC_INT_BND >, Gecode::NaryOnePropagator< View, PC_INT_VAL >, Gecode::NaryPropagator< View, pc >, Gecode::NaryPropagator< Gecode::Set::SetView, PC_SET_ANY >, Gecode::NaryPropagator< Gecode::Set::SetView, PC_SET_CGLB >, Gecode::NaryPropagator< Gecode::ViewTuple< View, 2 >, PC_INT_BND >, Gecode::NaryPropagator< View, PC_INT_BND >, Gecode::NaryPropagator< View, PC_INT_DOM >, Gecode::NaryPropagator< View, PC_INT_VAL >, 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, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_BND, Gecode::Int::BoolView >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, Gecode::Int::BoolView >, 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< Gecode::Set::SetView, PC_SET_ANY >, and Gecode::UnaryPropagator< View0, PC_SET_ANY >.
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] |
Gecode::Propagator::Propagator | ( | Space * | home, | |
bool | share, | |||
Propagator & | p | |||
) | [inline, protected] |
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< Gecode::Int::Channel::ValInfo< View >, PC_INT_VAL >, Gecode::Int::Channel::Base< Gecode::Int::Channel::DomInfo< View >, PC_INT_DOM >, Gecode::Int::Element::View< ViewA, ViewB, PC_INT_BND >, Gecode::Int::Element::View< ViewA, ViewB, PC_INT_DOM >, Gecode::Int::Linear::LinBin< Gecode::Int::GCC::Val, A, B, PC_INT_BND >, Gecode::Int::Linear::LinBin< Gecode::Int::GCC::Val, A, B, PC_INT_VAL >, Gecode::Int::Linear::ReLinBin< Gecode::Int::GCC::Val, A, B, PC_INT_BND, Ctrl >, Gecode::Int::Linear::ReLinBin< Gecode::Int::GCC::Val, A, B, PC_INT_BND, Gecode::Int::BoolView >, Gecode::Int::Linear::LinTer< Gecode::Int::GCC::Val, A, B, C, PC_INT_VAL >, Gecode::Int::Linear::LinTer< Gecode::Int::GCC::Val, A, B, C, PC_INT_BND >, Gecode::Int::Linear::Lin< Gecode::Int::GCC::Val, P, N, PC_INT_BND >, Gecode::Int::Linear::Lin< Gecode::Int::GCC::Val, View, View, PC_INT_DOM >, Gecode::Int::Linear::Lin< Gecode::Int::GCC::Val, P, N, pc >, Gecode::Int::Linear::Lin< Gecode::Int::GCC::Val, P, N, PC_INT_VAL >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_BND, CtrlView >, Gecode::ReUnaryPropagator< View, PC_INT_DOM, Gecode::Int::BoolView >, Gecode::ReUnaryPropagator< View, PC_INT_BND, Gecode::Int::BoolView >, Gecode::ReBinaryPropagator< View, PC_INT_DOM, CtrlView >, Gecode::ReBinaryPropagator< View, PC_INT_BND, CtrlView >, Gecode::UnaryPropagator< View0, PC_SET_ANY >, Gecode::UnaryPropagator< Gecode::Set::SetView, PC_SET_ANY >, Gecode::BinaryPropagator< VX, PC_INT_VAL >, Gecode::BinaryPropagator< Gecode::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< Gecode::Set::SetView, PC_SET_ANY >, Gecode::TernaryPropagator< View, PC_INT_DOM >, Gecode::TernaryPropagator< View, PC_INT_BND >, Gecode::NaryPropagator< Gecode::Set::SetView, PC_SET_CGLB >, Gecode::NaryPropagator< Gecode::ViewTuple< View, 2 >, PC_INT_BND >, Gecode::NaryPropagator< View, PC_INT_DOM >, Gecode::NaryPropagator< View, PC_INT_VAL >, Gecode::NaryPropagator< View, PC_INT_BND >, Gecode::NaryPropagator< Gecode::Set::SetView, PC_SET_ANY >, Gecode::NaryOnePropagator< View, PC_INT_VAL >, Gecode::NaryOnePropagator< View, PC_INT_BND >, Gecode::NaryOnePropagator< Gecode::Set::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< Gecode::Set::SetView, PC_SET_CARD, Gecode::Int::PC_INT_BND >, and Gecode::IntSetPropagator< Gecode::Set::SetView, PC_SET_ANY, Gecode::Int::PC_INT_BND >.
The documentation for this class was generated from the following file:
- gecode/kernel/core.icc (Revision: 3787)