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 > *, Region > | ViewNodeStack
| 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:

- gecode/int/distinct.hh
- gecode/int/distinct/graph.hpp