76 return sd.is_set() || (v->comp ==
sd.ptr(v)->comp);
114 return home.ralloc(s);
void add(BiLink *l)
Add l after this element.
void unlink(void)
Unlink this element.
BiLink * next(void) const
Return next element.
Edges in view-value graph.
Edge(ValNode< View > *v, ViewNode< View > *x)
Construct new edge between x and v.
ValNode< View > * val(ViewNode< View > *x) const
Return value node when view node x is given.
CombPtrFlag< Node< View > > sd
Combine source and destination node and flag.
Edge< View > * next_edge(void) const
Return next edge in list of value edges.
ViewNode< View > * view(ValNode< View > *v) const
Return view node when value node v is given.
Edge< View > ** next_edge_ref(void)
Return reference to next edge in list of value edges.
Node< View > * dst(Node< View > *s) const
Return destination of edge when source s is given.
void free(void)
Unmark node as used.
Edge< View > * _next_edge
Next edge in chain of value edges.
void use(void)
Mark node as used.
Edge< View > * next(void) const
Return next edge in list of edges per node.
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)
Base-class for nodes (both view and value nodes)
Value nodes in view-value graph.
View nodes in view-value graph.
Support classes for propagators using a view-value graph.
Gecode toplevel namespace
Post propagator for SetVar x