Generated on Wed Jul 27 2011 15:09:12 for Gecode by doxygen 1.7.4
Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph Class Reference

View-value graph for propagation. More...

#include <distinct.hh>

List of all members.

Public Types

typedef Support::StaticStack
< ViewNode< View > *, Region
ViewNodeStack
 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.
void init (Space &home, ViewNode< View > *x)
 Initialize single view node x.
ExecStatus init (Space &home, int n, View *x)
 Initialize graph.
void mark (Space &home)
 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 (Space &home)
 Synchronize graph with new view domains.
bool match (ViewNodeStack &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.

Detailed Description

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

View-value graph for propagation.

Definition at line 184 of file distinct.hh.


Member Typedef Documentation

Stack used during matching.

Definition at line 215 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.hpp.


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.hpp.

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

Initialize single view node x.

Definition at line 276 of file dom.hpp.

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

Initialize graph.

Definition at line 312 of file dom.hpp.

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

Mark edges in graph.

Definition at line 379 of file dom.hpp.

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 530 of file dom.hpp.

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

Purge graph if necessary.

Definition at line 552 of file dom.hpp.

template<class View >
bool Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::sync ( Space home)

Synchronize graph with new view domains.

Definition at line 564 of file dom.hpp.

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

Find a matching for node x.

Definition at line 233 of file dom.hpp.


Member Data Documentation

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

Array of view nodes.

Definition at line 187 of file distinct.hh.

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

Number of view nodes.

Definition at line 189 of file distinct.hh.

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

Array of value nodes.

Definition at line 191 of file distinct.hh.

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

Number of value nodes.

Definition at line 193 of file distinct.hh.

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

Marking counter.

Definition at line 195 of file distinct.hh.


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