ROSE 0.11.145.192
|
Depth-first, forward traversal for all event types.
This traversal follows edges in their natural order from source to target visiting children before siblings. The advancing methods and operators stop at the next event that matches a list of significant event types supplied as a constructor argument.
Definition at line 823 of file GraphTraversal.h.
#include <Sawyer/GraphTraversal.h>
Public Member Functions | |
DepthFirstForwardGraphTraversal (Graph &graph, typename GraphTraits< Graph >::VertexIterator startVertex, unsigned significantEvents=ALL_EVENTS) | |
Start traversal at specified vertex. | |
DepthFirstForwardGraphTraversal (Graph &graph, typename GraphTraits< Graph >::EdgeIterator startEdge, unsigned significantEvents=ALL_EVENTS) | |
Start traversal at specified edge. | |
DepthFirstForwardGraphTraversal & | operator++ () |
Advance traversal to next event. | |
Public Member Functions inherited from Sawyer::Container::Algorithm::GraphTraversal< Graph, DepthFirstTraversalTag, ForwardTraversalTag > | |
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. | |
void | mapVertices (Functor &f) |
Call the specified functor for each vertex. | |
void | mapVertices (const Functor &f) |
Call the specified functor for each vertex. | |
void | mapEdges (Functor &f) |
Call the specified functor for each edge. | |
void | mapEdges (const Functor &f) |
Call the specified functor for each edge. | |
|
inline |
Start traversal at specified vertex.
Definition at line 826 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< Graph, DepthFirstTraversalTag, ForwardTraversalTag >::start().
|
inline |
Start traversal at specified edge.
Definition at line 833 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< Graph, DepthFirstTraversalTag, ForwardTraversalTag >::start().
|
inline |
Advance traversal to next event.
Definition at line 840 of file GraphTraversal.h.