Gecode::Int::ViewValGraph::Edge< View > Class Template Reference

Edges in view-value graph. More...

`#include <view-val-graph.hh>`

## Public Member Functions

| Edge (ValNode< View > *v, ViewNode< View > *x)
| Construct new edge between x and v.
| Edge (ValNode< View > *v, ViewNode< View > *x, Edge< View > *n)
| Construct new edge between x and v with next edge n.
Node< View > * | dst (Node< View > *s) const
| Return destination of edge when source s is given.
ViewNode< View > * | view (ValNode< View > *v) const
| Return view node when value node v is given.
ValNode< View > * | val (ViewNode< View > *x) const
| Return value node when view node x is given.
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.
void | free (void)
| Unmark node as used.
void | revert (Node< View > *d)
| Revert edge to node d for matching.
Edge< View > * | next_edge (void) const
| Return next edge in list of value edges.
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.
Public Member Functions inherited from Gecode::Int::ViewValGraph::BiLink
| BiLink (void)
| Initialize as empty (self referenced).
BiLink * | prev (void) const
| Return previous element.
BiLink * | next (void) const
| Return next element.
void | prev (BiLink *l)
| Set previous element to l.
void | next (BiLink *l)
| Set next element to l.
void | add (BiLink *l)
| Add l after this element.
void | unlink (void)
| Unlink this element.
void | mark (void)
| Mark element (invalidates next element pointer).
bool | marked (void) const
| Whether element is marked.
bool | empty (void) const
| Whether element has no previous and next element.

## Static Public Member Functions

static void * | operator new (size_t, Space &)
| Allocate memory from space.
static void | operator delete (void *, size_t)
| Needed for exceptions.
static void | operator delete (void *, Space &)
| Needed for exceptions.

## Protected Attributes

Edge< View > * | _next_edge
| Next edge in chain of value edges.
CombPtrFlag< Node< View > > | sd
| Combine source and destination node and flag.

## Detailed Description

template<class View>
class Gecode::Int::ViewValGraph::Edge< View >

Edges in view-value graph.

Definition at line 208 of file view-val-graph.hh.

## Constructor & Destructor Documentation

## Edge() [1/2]

template<class View>

Gecode::Int::ViewValGraph::Edge< View >::Edge | ( | ValNode< View > * | v,
|  | ViewNode< View > * | x )

inline

Construct new edge between x and v.

Definition at line 38 of file edge.hpp.

## Edge() [2/2]

template<class View>

Gecode::Int::ViewValGraph::Edge< View >::Edge | ( | ValNode< View > * | v,
|  | ViewNode< View > * | x,
|  | Edge< View > * | n )

inline

Construct new edge between x and v with next edge n.

Definition at line 44 of file edge.hpp.

## Member Function Documentation

## dst()

template<class View>

Node< View > * Gecode::Int::ViewValGraph::Edge< View >::dst | ( | Node< View > * | s | ) | const

inline

Return destination of edge when source s is given.

Definition at line 51 of file edge.hpp.

## view()

template<class View>

ViewNode< View > * Gecode::Int::ViewValGraph::Edge< View >::view | ( | ValNode< View > * | v | ) | const

inline

Return view node when value node v is given.

Definition at line 64 of file edge.hpp.

## val()

template<class View>

ValNode< View > * Gecode::Int::ViewValGraph::Edge< View >::val | ( | ViewNode< View > * | x | ) | const

inline

Return value node when view node x is given.

Definition at line 69 of file edge.hpp.

## used()

template<class View>

bool Gecode::Int::ViewValGraph::Edge< View >::used | ( | Node< View > * | v | ) | const

inline

Whether edge is used (marked or between nodes from the same scc).

Definition at line 75 of file edge.hpp.

## use()

template<class View>

void Gecode::Int::ViewValGraph::Edge< View >::use | ( | void |  | ) |

inline

Mark node as used.

Definition at line 80 of file edge.hpp.

## free()

template<class View>

void Gecode::Int::ViewValGraph::Edge< View >::free | ( | void |  | ) |

inline

Unmark node as used.

Definition at line 85 of file edge.hpp.

## revert()

template<class View>

void Gecode::Int::ViewValGraph::Edge< View >::revert | ( | Node< View > * | d | ) |

inline

Revert edge to node d for matching.

Definition at line 57 of file edge.hpp.

## next_edge()

template<class View>

Edge< View > * Gecode::Int::ViewValGraph::Edge< View >::next_edge | ( | void |  | ) | const

inline

Return next edge in list of value edges.

Definition at line 91 of file edge.hpp.

## next_edge_ref()

template<class View>

Edge< View > ** Gecode::Int::ViewValGraph::Edge< View >::next_edge_ref | ( | void |  | ) |

inline

Return reference to next edge in list of value edges.

Definition at line 96 of file edge.hpp.

## next()

template<class View>

Edge< View > * Gecode::Int::ViewValGraph::Edge< View >::next | ( | void |  | ) | const

inline

Return next edge in list of edges per node.

Definition at line 101 of file edge.hpp.

## operator new()

template<class View>

void * Gecode::Int::ViewValGraph::Edge< View >::operator new | ( | size_t | s,
|  | Space & | home )

inline static

Allocate memory from space.

Definition at line 113 of file edge.hpp.

## operator delete() [1/2]

template<class View>

void Gecode::Int::ViewValGraph::Edge< View >::operator delete | ( | void * | ,
|  | size_t | )

inline static

Needed for exceptions.

Definition at line 107 of file edge.hpp.

## operator delete() [2/2]

template<class View>

void Gecode::Int::ViewValGraph::Edge< View >::operator delete | ( | void * | ,
|  | Space & | )

inline static

Needed for exceptions.

Definition at line 110 of file edge.hpp.

## Member Data Documentation

## _next_edge

template<class View>

Edge<View>* Gecode::Int::ViewValGraph::Edge< View >::_next_edge

protected

Next edge in chain of value edges.

Definition at line 211 of file view-val-graph.hh.

## sd

template<class View>

CombPtrFlag<Node<View> > Gecode::Int::ViewValGraph::Edge< View >::sd

protected

Combine source and destination node and flag.

Definition at line 213 of file view-val-graph.hh.

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

- gecode/int/view-val-graph.hh
- gecode/int/view-val-graph/edge.hpp