ROSE 0.11.145.147
|
Depth-first, forward traversal for vertices.
This traversal follows edges in their natural order from source to target visiting child vertices before siblings. The advancing methods and operators (advance, next, etc.) stop only at vertex enter events (ENTER_VERTEX). Dereferencing the traversal object returns a graph vertex node.
Definition at line 979 of file GraphTraversal.h.
#include <Sawyer/GraphTraversal.h>
Public Member Functions | |
DepthFirstForwardVertexTraversal (Graph &graph, typename GraphTraits< Graph >::VertexIterator startVertex) | |
Start traversal at specified vertex. | |
DepthFirstForwardVertexTraversal (Graph &graph, typename GraphTraits< Graph >::EdgeIterator startEdge) | |
Start traversal at specified edge. | |
DepthFirstForwardVertexTraversal (Graph &graph) | |
Start traversal at vertex number zero. | |
DepthFirstForwardVertexTraversal & | operator++ () |
Advance traversal to next event. | |
Public Member Functions inherited from Sawyer::Container::Algorithm::GraphVertexTraversal< Graph, DepthFirstTraversalTag, ForwardTraversalTag > | |
GraphTraits< Graph >::VertexIterator::Reference | operator* () |
Return reference to current vertex. | |
GraphTraits< Graph >::VertexIterator::Pointer | operator-> () |
Return pointer to current vertex. | |
GraphTraits< Graph >::VertexIterator::Reference | next () |
Return reference to current vertex 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 982 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::start().
|
inline |
Start traversal at specified edge.
Definition at line 988 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::start().
|
inline |
Start traversal at vertex number zero.
Definition at line 994 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::start().
|
inline |
Advance traversal to next event.
Definition at line 1000 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< G, Order, Direction >::advance().