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

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

#include <count.hh>

Inherits BinaryPropagator< VX, PC_INT_DOM >.

List of all members.


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 234 of file count.hh.


Public Member Functions

virtual Actorcopy (Space *home, bool share)
 Copy propagator during cloning.
virtual PropCost cost (ModEventDelta med) const
 Cost function (defined as PC_LINEAR_LO).
virtual ExecStatus propagate (Space *home, ModEventDelta med)
 Perform propagation.
virtual Reflection::ActorSpec spec (const Space *home, Reflection::VarMap &m) const
 Specification for this propagator.
virtual size_t dispose (Space *home)
 Delete propagator and return its size.

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, 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 (Space *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.

Constructor & Destructor Documentation

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

Constructor for posting.

Definition at line 462 of file int.icc.

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 481 of file int.icc.


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 561 of file int.icc.

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 515 of file int.icc.

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

Cost function (defined as PC_LINEAR_LO).

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

Definition at line 521 of file int.icc.

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

Perform propagation.

Implements Gecode::Propagator.

Definition at line 594 of file int.icc.

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

Specification for this propagator.

Reimplemented from Gecode::Actor.

Definition at line 533 of file int.icc.

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

Name of this propagator.

Definition at line 527 of file int.icc.

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

Post propagator according to specification.

Definition at line 543 of file int.icc.

template<class VX, class VY>
ExecStatus Gecode::Int::Count::NqInt< VX, VY >::post ( Space 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 489 of file int.icc.

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 473 of file int.icc.


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 239 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 241 of file count.hh.

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

Righthandside.

Definition at line 243 of file count.hh.


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