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

Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph Class Reference

#include <distinct.hh>

List of all members.


Detailed Description

template<class View>
class Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph

View-value graph for propagation.

Definition at line 200 of file distinct.hh.


Public Types

typedef Support::SentinelStack
< ViewNode< View > * > 
MatchStack
 Stack used during matching.

Public Member Functions

 ViewValGraph (void)
 Construct graph as not yet initialized.
bool initialized (void) const
 Test whether graph has been initialized.
ExecStatus init (Space *home, int n, View *x)
 Initialize graph.
void mark (void)
 Mark edges in graph.
ExecStatus tell (Space *home, bool &assigned)
 Prune unmarked edges, assigned is true if a view got assigned.
void purge (void)
 Purge graph if necessary.
bool sync (void)
 Synchronize graph with new view domains.
bool match (MatchStack &m, ViewNode< View > *x)
 Find a matching for node x.

Public Attributes

ViewNode< View > ** view
 Array of view nodes.
int n_view
 Number of view nodes.
ValNode< View > * val
 Array of value nodes.
int n_val
 Number of value nodes.
unsigned int count
 Marking counter.

Member Typedef Documentation

Stack used during matching.

Definition at line 229 of file distinct.hh.


Constructor & Destructor Documentation

template<class View>
Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::ViewValGraph ( void   )  [inline]

Construct graph as not yet initialized.

Definition at line 222 of file dom.icc.


Member Function Documentation

template<class View>
bool Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::initialized ( void   )  const [inline]

Test whether graph has been initialized.

Definition at line 227 of file dom.icc.

template<class View>
ExecStatus Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::init ( Space home,
int  n,
View *  x 
) [inline]

Initialize graph.

Definition at line 276 of file dom.icc.

template<class View>
void Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::mark ( void   )  [inline]

Mark edges in graph.

Definition at line 373 of file dom.icc.

template<class View>
ExecStatus Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::tell ( Space home,
bool &  assigned 
) [inline]

Prune unmarked edges, assigned is true if a view got assigned.

Definition at line 523 of file dom.icc.

template<class View>
void Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::purge ( void   )  [inline]

Purge graph if necessary.

Definition at line 545 of file dom.icc.

template<class View>
bool Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::sync ( void   )  [inline]

Synchronize graph with new view domains.

Definition at line 557 of file dom.icc.

template<class View>
bool Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::match ( MatchStack m,
ViewNode< View > *  x 
) [inline]

Find a matching for node x.

Definition at line 233 of file dom.icc.


Member Data Documentation

template<class View>
ViewNode<View>** Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::view

Array of view nodes.

Definition at line 203 of file distinct.hh.

template<class View>
int Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::n_view

Number of view nodes.

Definition at line 205 of file distinct.hh.

template<class View>
ValNode<View>* Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::val

Array of value nodes.

Definition at line 207 of file distinct.hh.

template<class View>
int Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::n_val

Number of value nodes.

Definition at line 209 of file distinct.hh.

template<class View>
unsigned int Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::count

Marking counter.

Definition at line 211 of file distinct.hh.


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