Generated on Wed Nov 1 15:05:20 2006 for Gecode by doxygen 1.4.5

Gecode::Int::Regular::Dom< View > Class Template Reference
[Integer propagators]

#include <regular.hh>

Inherits Gecode::NaryPropagator< View, PC_INT_DOM >.

List of all members.


Detailed Description

template<class View>
class Gecode::Int::Regular::Dom< View >

Domain-consistent regular propagator.

The algorithm for the regular propagator is based on: Gilles Pesant, A Regular Language Membership Constraint for Finite Sequences of Variables, CP 2004. Pages 482-495, LNCS 3258, Springer-Verlag, 2004.

Requires

Definition at line 46 of file regular.hh.

Public Member Functions

virtual Actorcopy (Space *home, bool share)
 Copy propagator during cloning.
virtual PropCost cost (void) const
 Cost function (defined as dynamic PC_LINEAR_HI).
virtual ExecStatus propagate (Space *home)
 Perform propagation.
virtual void flush (void)
 Flush layered graph.
virtual size_t size (void) const
 Returns size of layered graph.
virtual size_t dispose (Space *home)
 Delete propagator and return its size.

Static Public Member Functions

static ExecStatus post (Space *home, ViewArray< View > &x, DFA &d)
 Post propagator on views x and DFA d.

Protected Member Functions

 Dom (Space *home, bool shared, Dom< View > &p)
 Constructor for cloning p (use shared for dfa).
 Dom (Space *home, ViewArray< View > &x, DFA &d)
 Constructor for posting.

Protected Attributes

DFA dfa
 The DFA describing the language.
LayeredGraphlg
 Propagation is performed on a layered graph (used as cache).

Classes

class  LayeredGraph
 LayeredGraph as data structure used for propagation in regular More...


Constructor & Destructor Documentation

template<class View>
Gecode::Int::Regular::Dom< View >::Dom Space home,
bool  shared,
Dom< View > &  p
[inline, protected]
 

Constructor for cloning p (use shared for dfa).

Definition at line 439 of file dom.icc.

template<class View>
Gecode::Int::Regular::Dom< View >::Dom Space home,
ViewArray< View > &  x,
DFA d
[inline, protected]
 

Constructor for posting.

Definition at line 425 of file dom.icc.


Member Function Documentation

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

Copy propagator during cloning.

Implements Gecode::Actor.

Definition at line 473 of file dom.icc.

template<class View>
PropCost Gecode::Int::Regular::Dom< View >::cost void   )  const [virtual]
 

Cost function (defined as dynamic PC_LINEAR_HI).

Reimplemented from Gecode::NaryPropagator< View, PC_INT_DOM >.

Definition at line 467 of file dom.icc.

template<class View>
ExecStatus Gecode::Int::Regular::Dom< View >::propagate Space home  )  [virtual]
 

Perform propagation.

Implements Gecode::Propagator.

Definition at line 414 of file dom.icc.

template<class View>
void Gecode::Int::Regular::Dom< View >::flush void   )  [virtual]
 

Flush layered graph.

Reimplemented from Gecode::Actor.

Definition at line 455 of file dom.icc.

template<class View>
size_t Gecode::Int::Regular::Dom< View >::size void   )  const [virtual]
 

Returns size of layered graph.

Definition at line 461 of file dom.icc.

template<class View>
size_t Gecode::Int::Regular::Dom< View >::dispose Space home  )  [virtual]
 

Delete propagator and return its size.

Reimplemented from Gecode::NaryPropagator< View, PC_INT_DOM >.

Definition at line 446 of file dom.icc.

template<class View>
ExecStatus Gecode::Int::Regular::Dom< View >::post Space home,
ViewArray< View > &  x,
DFA d
[static]
 

Post propagator on views x and DFA d.

Definition at line 432 of file dom.icc.


Member Data Documentation

template<class View>
DFA Gecode::Int::Regular::Dom< View >::dfa [protected]
 

The DFA describing the language.

Definition at line 49 of file regular.hh.

template<class View>
LayeredGraph* Gecode::Int::Regular::Dom< View >::lg [protected]
 

Propagation is performed on a layered graph (used as cache).

Definition at line 51 of file regular.hh.


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