Generated on Tue Feb 11 2025 17:33:26 for Gecode by doxygen 1.12.0
Gecode::Int::Distinct::Graph< View > Class Template Reference

View-value graph for propagation. More...

#include <distinct.hh>

Public Member Functions

 Graph (void)
 Construct graph as not yet initialized.
 
ExecStatus init (Space &home, ViewArray< View > &x)
 Initialize graph.
 
bool mark (void)
 Mark edges in graph, return true if pruning is at all possible.
 
ExecStatus prune (Space &home, bool &assigned)
 Prune unmarked edges, assigned is true if a view got assigned.
 
bool sync (void)
 Synchronize graph with new view domains.
 
- Public Member Functions inherited from Gecode::Int::ViewValGraph::Graph< View >
 Graph (void)
 Construct graph as not yet initialized.
 
 operator bool (void) const
 Test whether graph has been initialized.
 
void purge (void)
 Purge graph if necessary (reset information to avoid overflow)
 

Additional Inherited Members

- Protected Types inherited from Gecode::Int::ViewValGraph::Graph< View >
typedef Support::StaticStack< ViewNode< View > *, RegionViewNodeStack
 Stack used during matching.
 
- Protected Member Functions inherited from Gecode::Int::ViewValGraph::Graph< View >
void init (Space &home, ViewNode< View > *x)
 Initialize the edges for the view node x.
 
bool match (ViewNodeStack &m, ViewNode< View > *x)
 Find a matching for node x.
 
void scc (void)
 Compute the strongly connected components.
 
- Protected Attributes inherited from Gecode::Int::ViewValGraph::Graph< View >
ViewNode< View > ** view
 Array of view nodes.
 
ValNode< View > * val
 Array of value nodes.
 
int n_view
 Number of view nodes.
 
int n_val
 Number of value nodes.
 
unsigned int count
 Marking counter.
 

Detailed Description

template<class View>
class Gecode::Int::Distinct::Graph< View >

View-value graph for propagation.

Definition at line 218 of file distinct.hh.

Constructor & Destructor Documentation

◆ Graph()

template<class View >
Graph::Graph ( void )
inline

Construct graph as not yet initialized.

Definition at line 40 of file graph.hpp.

Member Function Documentation

◆ init()

template<class View >
ExecStatus Graph::init ( Space & home,
ViewArray< View > & x )
inline

Initialize graph.

Definition at line 44 of file graph.hpp.

◆ mark()

template<class View >
bool Graph::mark ( void )
inline

Mark edges in graph, return true if pruning is at all possible.

Definition at line 176 of file graph.hpp.

◆ prune()

template<class View >
ExecStatus Graph::prune ( Space & home,
bool & assigned )
inline

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

Definition at line 240 of file graph.hpp.

◆ sync()

template<class View >
bool Graph::sync ( void )
inline

Synchronize graph with new view domains.

Definition at line 112 of file graph.hpp.


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