Generated on Mon Aug 25 11:35:51 2008 for Gecode by doxygen 1.5.6

Gecode::Int::Count::EqView< VX, VY, VZ, shr > Class Template Reference
[Integer propagators]

#include <count.hh>

Inherits Gecode::Int::Count::BaseView< VX, VY, VZ, shr >.

List of all members.


Detailed Description

template<class VX, class VY, class VZ, bool shr>
class Gecode::Int::Count::EqView< VX, VY, VZ, shr >

Propagator for counting views (equal to number of equal views)

Not all combinations of views are possible. The types VX and VY must be either equal, or VY must be ConstIntView.

Requires

 #include "gecode/int/count.hh" 

Definition at line 326 of file count.hh.


Public Member Functions

 EqView (Space *home, ViewArray< VX > &x, VY y, VZ z, int c)
 Constructor for creation.
virtual Actorcopy (Space *home, bool shr)
 Create copy during cloning.
virtual ExecStatus propagate (Space *home, ModEventDelta med)
 Perform propagation.
virtual Reflection::ActorSpec spec (const Space *home, Reflection::VarMap &m) const
 Specification for this propagator.

Static Public Member Functions

static Support::Symbol ati (void)
 Name of this propagator.
static void post (Space *home, Reflection::VarMap &vars, const Reflection::ActorSpec &spec)
 Post propagator according to specification.
static ExecStatus post (Space *home, ViewArray< VX > &x, VY y, VZ z, int c)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=z+c$.

Protected Member Functions

 EqView (Space *home, bool shr, EqView &p)
 Constructor for cloning p.

Constructor & Destructor Documentation

template<class VX, class VY, class VZ, bool shr>
Gecode::Int::Count::EqView< VX, VY, VZ, shr >::EqView ( Space home,
bool  shr,
EqView< VX, VY, VZ, shr > &  p 
) [inline, protected]

Constructor for cloning p.

Definition at line 164 of file view.icc.

template<class VX, class VY, class VZ, bool shr>
Gecode::Int::Count::EqView< VX, VY, VZ, shr >::EqView ( Space home,
ViewArray< VX > &  x,
VY  y,
VZ  z,
int  c 
) [inline]

Constructor for creation.

Definition at line 145 of file view.icc.


Member Function Documentation

template<class VX, class VY, class VZ, bool shr>
Actor * Gecode::Int::Count::EqView< VX, VY, VZ, shr >::copy ( Space home,
bool  shr 
) [inline, virtual]

Create copy during cloning.

Implements Gecode::Actor.

Definition at line 170 of file view.icc.

template<class VX, class VY, class VZ, bool shr>
ExecStatus Gecode::Int::Count::EqView< VX, VY, VZ, shr >::propagate ( Space home,
ModEventDelta  med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 200 of file view.icc.

template<class VX, class VY, class VZ, bool shr>
Reflection::ActorSpec Gecode::Int::Count::EqView< VX, VY, VZ, shr >::spec ( const Space home,
Reflection::VarMap m 
) const [inline, virtual]

Specification for this propagator.

Reimplemented from Gecode::Actor.

Definition at line 182 of file view.icc.

template<class VX, class VY, class VZ, bool shr>
Support::Symbol Gecode::Int::Count::EqView< VX, VY, VZ, shr >::ati ( void   )  [inline, static]

Name of this propagator.

Definition at line 176 of file view.icc.

template<class VX, class VY, class VZ, bool shr>
void Gecode::Int::Count::EqView< VX, VY, VZ, shr >::post ( Space home,
Reflection::VarMap vars,
const Reflection::ActorSpec spec 
) [inline, static]

Post propagator according to specification.

Definition at line 188 of file view.icc.

template<class VX, class VY, class VZ, bool shr>
ExecStatus Gecode::Int::Count::EqView< VX, VY, VZ, shr >::post ( Space home,
ViewArray< VX > &  x,
VY  y,
VZ  z,
int  c 
) [inline, static]

Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}=z+c$.

Definition at line 151 of file view.icc.


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