ROSE 0.11.145.192
|
Depth-first, forward traversal for edges.
This traversal follows edges in their natural order from source to target visiting child edges before siblings. The advancing methods and operators (advance, next, etc.) stop only at edge enter events (ENTER_EDGE). Dereferencing the traversal object returns a graph edge node.
Definition at line 1145 of file GraphTraversal.h.
#include <Sawyer/GraphTraversal.h>
Public Member Functions | |
DepthFirstForwardEdgeTraversal (Graph &graph, typename GraphTraits< Graph >::VertexIterator startVertex) | |
Start traversal at specified vertex. | |
DepthFirstForwardEdgeTraversal (Graph &graph, typename GraphTraits< Graph >::EdgeIterator startEdge) | |
Start traversal at specified edge. | |
DepthFirstForwardEdgeTraversal (Graph &graph) | |
Start traversal at edge number zero. | |
DepthFirstForwardEdgeTraversal & | operator++ () |
Advance traversal to next event. | |
Public Member Functions inherited from Sawyer::Container::Algorithm::GraphEdgeTraversal< Graph, DepthFirstTraversalTag, ForwardTraversalTag > | |
GraphTraits< Graph >::EdgeIterator::Reference | operator* () |
Return reference to current edge. | |
GraphTraits< Graph >::EdgeIterator::Pointer | operator-> () |
Return pointer to current edge. | |
GraphTraits< Graph >::EdgeIterator::Reference | next () |
Return reference to current edge and advance. | |
Public Member Functions inherited from Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction > | |
GraphTraversal (Graph &graph, unsigned significantEvents) | |
Construct traversal for graph. | |
void | start (VertexIterator startVertex) |
Restart the traversal at the specified vertex. | |
void | start (EdgeIterator startEdge) |
Restart the traversal at the specified edge. | |
Graph & | graph () const |
The graph over which iteration occurs. | |
TraversalEvent | event () const |
Current event on which traversal is stopped. | |
VertexIterator | vertex () const |
Vertex to which traversal is pointing. | |
EdgeIterator | edge () const |
Edge to which traversal is pointing. | |
bool | isAtEnd () const |
Returns true when traversal reaches the end. | |
bool | hasNext () const |
Returns true when a traversal can be advanced. | |
TraversalEvent | advance () |
Advance traversal to next interesting event. | |
void | skipChildren () |
Causes traversal to skip children. | |
void | allowRediscovery (VertexIterator vertex) |
Allow a vertex to be discovered again. | |
bool | isDiscovered (VertexIterator vertex) const |
True if the vertex has been discovered. | |
bool | isVisited (EdgeIterator edge) const |
True if the edge has been entered. | |
operator unspecified_bool () const | |
Type for Boolean context. | |
template<class Functor > | |
void | mapVertices (Functor &f) |
Call the specified functor for each vertex. | |
template<class Functor > | |
void | mapVertices (const Functor &f) |
Call the specified functor for each vertex. | |
template<class Functor > | |
void | mapEdges (Functor &f) |
Call the specified functor for each edge. | |
template<class Functor > | |
void | mapEdges (const Functor &f) |
Call the specified functor for each edge. | |
|
inline |
Start traversal at specified vertex.
Definition at line 1148 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::start().
|
inline |
Start traversal at specified edge.
Definition at line 1154 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::start().
|
inline |
Start traversal at edge number zero.
Definition at line 1160 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::start().
|
inline |
Advance traversal to next event.
Definition at line 1166 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::advance().