ROSE 0.11.145.192
|
Edge node.
These list nodes contain all information about an edge and are the objects returned (by reference) when an edge node iterator (EdgeIterator or ConstEdgeIterator) is dereferenced.
#include <Sawyer/Graph.h>
Public Member Functions | |
const size_t & | id () const |
Unique edge ID number. | |
bool | isSelfEdge () const |
Determines if edge is a self-edge. | |
const VertexIterator & | source () |
Source vertex. | |
ConstVertexIterator | source () const |
Source vertex. | |
const VertexIterator & | target () |
Target vertex. | |
ConstVertexIterator | target () const |
Target vertex. | |
EdgeValue & | value () |
User-defined value. | |
const EdgeValue & | value () const |
User-defined value. | |
|
inline |
Unique edge ID number.
Edges within a graph are numbered consecutively starting at zero, and this method returns the edge's ID number. ID numbers are unrelated to the order in which edges are inserted, although in the absense of edge erasure they will be assigned consecutively. Edge ID numbers are stable over insertion of vertices and edges and the erasure of vertices (provided no incident edges are erase), but are not stable over edge erasure. In order to obtain constant-time edge erasure, after an edge is erased the largest-ID edge is renumbered to fill the gap.
Time complexity is constant.
Definition at line 1152 of file Graph.h.
Referenced by Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::eraseEdge(), and Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::isValidEdge().
|
inline |
Source vertex.
All edges in a graph are directed edges, and this method returns an iterator (pointer) to the vertex that serves as the source of this edge.
Time complexity is constant.
Definition at line 1162 of file Graph.h.
Referenced by Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::eraseEdges(), Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::eraseEdgeWithVertices(), Sawyer::Container::Algorithm::graphFindConnectedComponents(), Sawyer::Container::Algorithm::graphIsConnected(), and Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::operator=().
|
inline |
|
inline |
Target vertex.
All edges in a graph are directed edges, and this method returns an iterator (pointer) to the vertex that serves as the destination of this edge.
Time complexity is constant.
Definition at line 1174 of file Graph.h.
Referenced by Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::eraseEdges(), Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::eraseEdgeWithVertices(), Sawyer::Container::Algorithm::graphCopySubgraph(), Sawyer::Container::Algorithm::graphDependentOrder(), Sawyer::Container::Algorithm::graphEraseParallelEdges(), Sawyer::Container::Algorithm::graphFindConnectedComponents(), Sawyer::Container::Algorithm::graphIsConnected(), and Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::operator=().
|
inline |
|
inline |
User-defined value.
Each edge stores one user-defined value whose type is specified as the E
parameter of the Graph template (a.k.a., the EdgeValue type). This method returns a reference to that data, which was copied into the graph when this edge was inserted. This is also the value that is returned when an edge value iterator (EdgeValueIterator or ConstEdgeValueIterator) is dereferenced.
Time complexity is constant.
Definition at line 1188 of file Graph.h.
Referenced by Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::eraseEdge(), Sawyer::Container::Algorithm::graphCopySubgraph(), Sawyer::Container::Algorithm::graphEraseParallelEdges(), and Sawyer::Container::Graph< V, E, VKey, EKey, Alloc >::operator=().
|
inline |
User-defined value.
Each edge stores one user-defined value whose type is specified as the E
parameter of the Graph template (a.k.a., the EdgeValue type). This method returns a reference to that data, which was copied into the graph when this edge was inserted. This is also the value that is returned when an edge value iterator (EdgeValueIterator or ConstEdgeValueIterator) is dereferenced.
Time complexity is constant.
|
inline |