| 
    ROSE 0.11.145.357
    
   | 
 
Base class for graph edge traversals.
Edge traversals increment their current position stopping only when an edge is entered. They have dereference ("*") and arrow ("->") operators and a next method that return edge nodes from the graph.
Definition at line 1116 of file GraphTraversal.h.
#include <Sawyer/GraphTraversal.h>


Public Member Functions | |
| 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< Graph, 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.   | |
| 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.   | |
Protected Member Functions | |
| GraphEdgeTraversal (Graph &graph) | |
  Protected Member Functions inherited from Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction > | |
| Work & | current () | 
| const Work & | current () const | 
| bool | isSignificant (TraversalEvent event) const | 
| void | setDiscovered (VertexIterator vertex, bool isDiscovered=true) | 
| void | setVisited (EdgeIterator edge, bool isVisited=true) | 
| void | clear () | 
Additional Inherited Members | |
  Public Types inherited from Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction > | |
| typedef Graph | Graph | 
| typedef GraphTraits< Graph >::VertexIterator | VertexIterator | 
| Const or non-const vertex node iterator.   | |
| typedef GraphTraits< Graph >::EdgeIterator | EdgeIterator | 
| Const or non-const edge node iterator.   | |
  Protected Types inherited from Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction > | |
| typedef std::list< Work > | WorkList | 
  Protected Attributes inherited from Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction > | |
| WorkList | workList_ | 
      
  | 
  inlineexplicitprotected | 
Definition at line 1118 of file GraphTraversal.h.
      
  | 
  inline | 
Return reference to current edge.
Definition at line 1122 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction >::edge().
      
  | 
  inline | 
Return pointer to current edge.
Definition at line 1127 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction >::edge().
      
  | 
  inline | 
Return reference to current edge and advance.
Definition at line 1132 of file GraphTraversal.h.
References Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction >::advance(), and Sawyer::Container::Algorithm::GraphTraversal< Graph, Order, Direction >::vertex().