Generated on Mon May 10 06:46:58 2010 for Gecode by doxygen 1.6.3

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

Propagator for counting views (not equal integer to number of equal views) More...

#include <count.hh>

List of all members.

Public Member Functions

virtual Actorcopy (Space &home, bool share)
 Copy propagator during cloning.
virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as low linear).
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
 Perform propagation.
virtual size_t dispose (Space &home)
 Delete propagator and return its size.

Static Public Member Functions

static ExecStatus post (Home home, ViewArray< VX > &x, VY y, int c)
 Post propagator for $\#\{i\in\{0,\ldots,|x|-1\}\;|\;x_i=y\}\neq c$.

Protected Member Functions

bool resubscribe (Space &home, VX &z)
 Update subscription.
 NqInt (Home home, ViewArray< VX > &x, VY y, int c)
 Constructor for posting.
 NqInt (Space &home, bool share, NqInt &p)
 Constructor for cloning p.

Protected Attributes

ViewArray< VX > x
 Views not yet subscribed to.
VY y
 View to compare with.
int c
 Righthandside.

Detailed Description

template<class VX, class VY>
class Gecode::Int::Count::NqInt< VX, VY >

Propagator for counting views (not equal integer 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 207 of file count.hh.


Constructor & Destructor Documentation

template<class VX , class VY >
Gecode::Int::Count::NqInt< VX, VY >::NqInt ( Home  home,
ViewArray< VX > &  x,
VY  y,
int  c 
) [inline, protected]

Constructor for posting.

Definition at line 379 of file int.hpp.

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

Constructor for cloning p.

Definition at line 398 of file int.hpp.


Member Function Documentation

template<class VX , class VY >
bool Gecode::Int::Count::NqInt< VX, VY >::resubscribe ( Space home,
VX &  z 
) [inline, protected]

Update subscription.

Definition at line 444 of file int.hpp.

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

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 432 of file int.hpp.

template<class VX , class VY >
PropCost Gecode::Int::Count::NqInt< VX, VY >::cost ( const Space home,
const ModEventDelta med 
) const [inline, virtual]

Cost function (defined as low linear).

Reimplemented from Gecode::BinaryPropagator< VX, PC_INT_DOM >.

Definition at line 438 of file int.hpp.

template<class VX , class VY >
ExecStatus Gecode::Int::Count::NqInt< VX, VY >::propagate ( Space home,
const ModEventDelta med 
) [inline, virtual]

Perform propagation.

Implements Gecode::Propagator.

Definition at line 477 of file int.hpp.

template<class VX , class VY >
ExecStatus Gecode::Int::Count::NqInt< VX, VY >::post ( Home  home,
ViewArray< VX > &  x,
VY  y,
int  c 
) [inline, static]

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

Definition at line 406 of file int.hpp.

template<class VX , class VY >
size_t Gecode::Int::Count::NqInt< VX, VY >::dispose ( Space home  )  [inline, virtual]

Delete propagator and return its size.

Reimplemented from Gecode::BinaryPropagator< VX, PC_INT_DOM >.

Definition at line 390 of file int.hpp.


Member Data Documentation

template<class VX, class VY>
ViewArray<VX> Gecode::Int::Count::NqInt< VX, VY >::x [protected]

Views not yet subscribed to.

Definition at line 212 of file count.hh.

template<class VX, class VY>
VY Gecode::Int::Count::NqInt< VX, VY >::y [protected]

View to compare with.

Definition at line 214 of file count.hh.

template<class VX, class VY>
int Gecode::Int::Count::NqInt< VX, VY >::c [protected]

Righthandside.

Definition at line 216 of file count.hh.


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