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)