Generated on Wed Jan 4 17:49:21 2006 for Gecode by doxygen 1.4.6

Gecode::Int::GCC::Dom< View, Card, isView > Class Template Reference
[Integer propagators]

#include <gcc.hh>

Inherits Gecode::Propagator.

List of all members.


Detailed Description

template<class View, class Card, bool isView>
class Gecode::Int::GCC::Dom< View, Card, isView >

Domain-consistent global cardinality propagator.

[Reference]
The algorithm is taken from:
     @PROCEEDINGS{improvedgcc,
     title     = {Improved Algorithms for the 
                  Global Cardinality Constraint},
     year      = {2004},
     volume    = {3528},
     address   = {Toronto, Canada},
     month     = {September},
     author    = {Claude-Guy Quimper and Peter van Beek and 
                  Alejandro López-Ortiz and Alexander Golynski},
     booktitle = {Proceedings of the 10th International 
                  Conference on Principles and Practice of 
		  Constraint Programming},
     url       = {http://ai.uwaterloo.ca/~vanbeek/publications},
     }
     
Requires
 #include "int/gcc.hh" 

Definition at line 168 of file gcc.hh.

Public Member Functions

virtual ~Dom (void)
virtual void flush (void)
 Flush cache datastructures.
virtual Actorcopy (Space *home, bool share)
 Create copy.
virtual PropCost cost (void) const
 Cost function.
virtual ExecStatus propagate (Space *home)
 Propagation function.

Static Public Member Functions

static ExecStatus post (Space *home, ViewArray< View > &, Card &)

Protected Member Functions

 Dom (Space *home, bool, Dom< View, VarCard, isView > &)
 Dom (Space *home, bool, Dom< View, FixCard, isView > &)
 Dom (Space *home, ViewArray< View > &, Card &)

Protected Attributes

ViewArray< View > x
ViewArray< View > y
Card k
Card l
VarValGraph< View, Card, isView > * vvg


Constructor & Destructor Documentation

template<class View, class Card, bool isView>
Gecode::Int::GCC::Dom< View, Card, isView >::Dom Space home,
bool  ,
Dom< View, VarCard, isView > & 
[inline, protected]
 

Definition at line 61 of file dom.icc.

template<class View, class Card, bool isView>
Gecode::Int::GCC::Dom< View, Card, isView >::Dom Space home,
bool  ,
Dom< View, FixCard, isView > & 
[inline, protected]
 

Definition at line 71 of file dom.icc.

template<class View, class Card, bool isView>
Gecode::Int::GCC::Dom< View, Card, isView >::Dom Space home,
ViewArray< View > &  ,
Card & 
[inline, protected]
 

Definition at line 49 of file dom.icc.

template<class View, class Card, bool isView>
Gecode::Int::GCC::Dom< View, Card, isView >::~Dom void   )  [virtual]
 

Definition at line 80 of file dom.icc.


Member Function Documentation

template<class View, class Card, bool isView>
void Gecode::Int::GCC::Dom< View, Card, isView >::flush void   )  [inline, virtual]
 

Flush cache datastructures.

Reimplemented from Gecode::Actor.

Definition at line 88 of file dom.icc.

template<class View, class Card, bool isView>
Actor * Gecode::Int::GCC::Dom< View, Card, isView >::copy Space home,
bool  share
[inline, virtual]
 

Create copy.

Implements Gecode::Actor.

Definition at line 95 of file dom.icc.

template<class View, class Card, bool isView>
PropCost Gecode::Int::GCC::Dom< View, Card, isView >::cost void   )  const [inline, virtual]
 

Cost function.

Implements Gecode::Propagator.

Definition at line 101 of file dom.icc.

template<class View, class Card, bool isView>
ExecStatus Gecode::Int::GCC::Dom< View, Card, isView >::propagate Space home  )  [virtual]
 

Propagation function.

Implements Gecode::Propagator.

Definition at line 126 of file dom.icc.

template<class View, class Card, bool isView>
ExecStatus Gecode::Int::GCC::Dom< View, Card, isView >::post Space home,
ViewArray< View > &  ,
Card & 
[inline, static]
 

Definition at line 433 of file dom.icc.


Member Data Documentation

template<class View, class Card, bool isView>
ViewArray<View> Gecode::Int::GCC::Dom< View, Card, isView >::x [protected]
 

Definition at line 170 of file gcc.hh.

template<class View, class Card, bool isView>
ViewArray<View> Gecode::Int::GCC::Dom< View, Card, isView >::y [protected]
 

Definition at line 171 of file gcc.hh.

template<class View, class Card, bool isView>
Card Gecode::Int::GCC::Dom< View, Card, isView >::k [protected]
 

Definition at line 172 of file gcc.hh.

template<class View, class Card, bool isView>
Card Gecode::Int::GCC::Dom< View, Card, isView >::l [protected]
 

Definition at line 173 of file gcc.hh.

template<class View, class Card, bool isView>
VarValGraph<View, Card, isView>* Gecode::Int::GCC::Dom< View, Card, isView >::vvg [protected]
 

Definition at line 174 of file gcc.hh.


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