38 namespace Gecode {
namespace Int {
namespace ViewValGraph {
49 : _next_edge(n), sd(s,d) {
80 return sd.is_set() || (v->
comp == sd.ptr(v)->comp);
118 return home.ralloc(s);
Edge< View > * next_edge(void) const
Return next edge in list of value edges.
ValNode< View > * val(ViewNode< View > *x) const
Return value node when view node x is given.
Edge< View > ** next_edge_ref(void)
Return reference to next edge in list of value edges.
Edge< View > * next(void) const
Return next edge in list of edges per node.
ViewNode< View > * view(ValNode< View > *v) const
Return view node when value node v is given.
Edges in view-value graph.
void add(BiLink *l)
Add l after this element.
int n
Number of negative literals for node type.
View nodes in view-value graph.
void revert(Node< View > *d)
Revert edge to node d for matching.
bool used(Node< View > *v) const
Whether edge is used (marked or between nodes from the same scc)
void use(void)
Mark node as used.
Node * x
Pointer to corresponding Boolean expression node.
Value nodes in view-value graph.
void free(void)
Unmark node as used.
Gecode toplevel namespace
Node< View > * dst(Node< View > *s) const
Return destination of edge when source s is given.
Edge(ValNode< View > *v, ViewNode< View > *x)
Construct new edge between x and v.
Base-class for nodes (both view and value nodes)
BiLink * next(void) const
Return next element.