Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 > Class Template Reference
[CpltSet propagators]
#include <propagators.hh>
Inherits Gecode::Propagator.
Detailed Description
template<class View0, class View1>
class Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >
Propagator for CpltSet variables with n+2 arguments.
Propagates a constraint specified as a bdd.
Requires
#include "gecode/cpltset/propagators.hh"
Definition at line 222 of file propagators.hh.
Public Member Functions | |
| virtual Reflection::ActorSpec | spec (const Space *home, Reflection::VarMap &m) const |
| Specification for this propagator. | |
| virtual PropCost | cost (ModEventDelta med) const |
| Cost function (defined as dynamic PC_LINEAR_LO). | |
| virtual size_t | dispose (Space *home) |
| Delete propagator. | |
| virtual Actor * | copy (Space *home, bool) |
| Copy propagator during cloning. | |
| virtual ExecStatus | propagate (Space *home, ModEventDelta med) |
| Perform propagation. | |
Static Public Member Functions | |
| static Support::Symbol | ati (void) |
| Name of this propagator. | |
| static ExecStatus | post (Space *home, ViewArray< View0 > &x, View1 &y, View1 &z, bdd &d) |
Protected Member Functions | |
| NaryTwoCpltSetPropagator (Space *home, bool share, NaryTwoCpltSetPropagator &p) | |
| Constructor for cloning p. | |
| NaryTwoCpltSetPropagator (Space *home, ViewArray< View0 > &, View1 &, View1 &, bdd &) | |
| Constructor for posting. | |
| ExecStatus | divide_conquer (Space *home, bdd &p, int l, int r, int ypos, int zpos) |
| Divide and conquer method including additional y and z views. | |
Protected Attributes | |
| ViewArray< View0 > | x |
| Array of views of type View0. | |
| View1 | y |
| First view of type View1. | |
| View1 | z |
| Second view of type View1. | |
| bdd | d |
| Bdd representation of the constraint. | |
Constructor & Destructor Documentation
template<class View0, class View1>
| Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::NaryTwoCpltSetPropagator | ( | Space * | home, | |
| bool | share, | |||
| NaryTwoCpltSetPropagator< View0, View1 > & | p | |||
| ) | [inline, protected] |
template<class View0, class View1>
| Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::NaryTwoCpltSetPropagator | ( | Space * | home, | |
| ViewArray< View0 > & | x0, | |||
| View1 & | y0, | |||
| View1 & | z0, | |||
| bdd & | ||||
| ) | [inline, protected] |
Member Function Documentation
template<class View0, class View1>
| ExecStatus Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::divide_conquer | ( | Space * | home, | |
| bdd & | p, | |||
| int | l, | |||
| int | r, | |||
| int | ypos, | |||
| int | zpos | |||
| ) | [inline, protected] |
Divide and conquer method including additional y and z views.
Definition at line 42 of file narytwo.icc.
template<class View0, class View1>
| Reflection::ActorSpec Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::spec | ( | const Space * | home, | |
| Reflection::VarMap & | m | |||
| ) | const [inline, virtual] |
Specification for this propagator.
Reimplemented from Gecode::Actor.
Definition at line 136 of file narytwo.icc.
template<class View0, class View1>
| Support::Symbol Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::ati | ( | void | ) | [inline, static] |
template<class View0, class View1>
| PropCost Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::cost | ( | ModEventDelta | med | ) | const [inline, virtual] |
Cost function (defined as dynamic PC_LINEAR_LO).
Implements Gecode::Propagator.
Definition at line 171 of file narytwo.icc.
template<class View0, class View1>
| size_t Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::dispose | ( | Space * | home | ) | [inline, virtual] |
template<class View0, class View1>
| Actor * Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::copy | ( | Space * | home, | |
| bool | share | |||
| ) | [inline, virtual] |
Copy propagator during cloning.
Implements Gecode::Actor.
Definition at line 143 of file narytwo.icc.
template<class View0, class View1>
| ExecStatus Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::propagate | ( | Space * | home, | |
| ModEventDelta | med | |||
| ) | [inline, virtual] |
template<class View0, class View1>
| ExecStatus Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::post | ( | Space * | home, | |
| ViewArray< View0 > & | x, | |||
| View1 & | y, | |||
| View1 & | z, | |||
| bdd & | d | |||
| ) | [inline, static] |
Definition at line 121 of file narytwo.icc.
Member Data Documentation
template<class View0, class View1>
ViewArray<View0> Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::x [protected] |
template<class View0, class View1>
View1 Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::y [protected] |
template<class View0, class View1>
View1 Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::z [protected] |
template<class View0, class View1>
bdd Gecode::CpltSet::NaryTwoCpltSetPropagator< View0, View1 >::d [protected] |
The documentation for this class was generated from the following files:
- gecode/cpltset/propagators.hh (Revision: 5993)
- gecode/cpltset/propagators/narytwo.icc (Revision: 6017)
