View-value graph for propagation. More...
#include <distinct.hh>
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. |
View-value graph for propagation.
Definition at line 184 of file distinct.hh.
typedef Support::StaticStack<ViewNode<View>*,Region> Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::ViewNodeStack |
Stack used during matching.
Definition at line 215 of file distinct.hh.
Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::ViewValGraph | ( | void | ) | [inline] |
bool Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::initialized | ( | void | ) | const [inline] |
void Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::init | ( | Space & | home, |
ViewNode< View > * | x | ||
) | [inline] |
ExecStatus Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::init | ( | Space & | home, |
int | n, | ||
View * | x | ||
) |
void Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::mark | ( | Space & | home | ) | [inline] |
ExecStatus Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::tell | ( | Space & | home, |
bool & | assigned | ||
) | [inline] |
void Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::purge | ( | void | ) | [inline] |
bool Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::sync | ( | Space & | home | ) |
bool Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::match | ( | ViewNodeStack & | m, |
ViewNode< View > * | x | ||
) | [inline] |
ViewNode<View>** Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::view |
Array of view nodes.
Definition at line 187 of file distinct.hh.
int Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::n_view |
Number of view nodes.
Definition at line 189 of file distinct.hh.
ValNode<View>* Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::val |
Array of value nodes.
Definition at line 191 of file distinct.hh.
int Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::n_val |
Number of value nodes.
Definition at line 193 of file distinct.hh.
unsigned int Gecode::Int::Distinct::DomCtrl< View >::ViewValGraph::count |
Marking counter.
Definition at line 195 of file distinct.hh.