Generated on Thu Jul 6 07:07:04 2006 for Gecode by doxygen 1.4.7

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: