STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions
stapl::sequential::visitor_back_edges< GRAPH, Container > Class Template Reference

Finds the back edges in a graph. More...

Public Member Functions

 visitor_back_edges (Container &_v)
 
visitor_return black_target (typename GRAPH::vertex_iterator vi, typename GRAPH::adj_edge_iterator ei)
 Used for a black target, which pushes a back edge into the container. More...
 
virtual visitor_return discover_vertex (vertex_iterator)
 Will be called by the traversal when a vertex is reached for the first time. More...
 
virtual visitor_return examine_vertex (vertex_iterator)
 Will be called when a vertex is reached and needs to be examined. More...
 
virtual visitor_return examine_edge (vertex_iterator, adj_edge_iterator)
 Will be called when an edge is reached and needs to be examined. More...
 
virtual visitor_return tree_edge (vertex_iterator, adj_edge_iterator)
 Will be called when an edge whose destination is unvisited is reached. More...
 
virtual visitor_return non_tree_edge (vertex_iterator, adj_edge_iterator)
 Will be called when an edge whose destination is already visited is reached. More...
 
virtual visitor_return gray_target (vertex_iterator, adj_edge_iterator)
 Will be called when an edge is reached whose destination is visited but not finished. More...
 
virtual visitor_return finish_vertex (vertex_iterator, int=-1)
 Will be called by traversal when a vertex becomes finished. More...
 

Detailed Description

template<class GRAPH, class Container>
class stapl::sequential::visitor_back_edges< GRAPH, Container >

Finds the back edges in a graph.

Template Parameters
GRAPHThe type of input graph.
ContainerThe type of container to hold the back edges.

Member Function Documentation

◆ black_target()

template<class GRAPH , class Container >
visitor_return stapl::sequential::visitor_back_edges< GRAPH, Container >::black_target ( typename GRAPH::vertex_iterator  vi,
typename GRAPH::adj_edge_iterator  ei 
)
virtual

Used for a black target, which pushes a back edge into the container.

Parameters
viThe vertex iterator.
eiThe edge iterator.

Reimplemented from stapl::visitor_base< GRAPH >.

◆ discover_vertex()

template<class GRAPH>
virtual visitor_return stapl::visitor_base< GRAPH >::discover_vertex ( vertex_iterator  )
virtualinherited

Will be called by the traversal when a vertex is reached for the first time.

Parameters
vIterator to the vertex.

◆ examine_vertex()

template<class GRAPH>
virtual visitor_return stapl::visitor_base< GRAPH >::examine_vertex ( vertex_iterator  )
virtualinherited

Will be called when a vertex is reached and needs to be examined.

Parameters
vIterator to the vertex.

◆ examine_edge()

template<class GRAPH>
virtual visitor_return stapl::visitor_base< GRAPH >::examine_edge ( vertex_iterator  ,
adj_edge_iterator   
)
virtualinherited

Will be called when an edge is reached and needs to be examined.

Parameters
vIterator to the starting vertex of the edge.
eIterator to the edge (edge data and destination vertex).

◆ tree_edge()

template<class GRAPH>
virtual visitor_return stapl::visitor_base< GRAPH >::tree_edge ( vertex_iterator  ,
adj_edge_iterator   
)
virtualinherited

Will be called when an edge whose destination is unvisited is reached.

Parameters
vIterator to the starting vertex of the edge.
eIterator to the edge (edge data and destination vertex).

◆ non_tree_edge()

template<class GRAPH>
virtual visitor_return stapl::visitor_base< GRAPH >::non_tree_edge ( vertex_iterator  ,
adj_edge_iterator   
)
virtualinherited

Will be called when an edge whose destination is already visited is reached.

Parameters
vIterator to the starting vertex of the edge.
eIterator to the edge (edge data and destination vertex).

◆ gray_target()

template<class GRAPH>
virtual visitor_return stapl::visitor_base< GRAPH >::gray_target ( vertex_iterator  ,
adj_edge_iterator   
)
virtualinherited

Will be called when an edge is reached whose destination is visited but not finished.

Parameters
vIterator to the starting vertex of the edge.
eIterator to the edge (edge data and destination vertex).

Reimplemented in stapl::sequential::visitor_cycle< GRAPH >.

◆ finish_vertex()

template<class GRAPH>
virtual visitor_return stapl::visitor_base< GRAPH >::finish_vertex ( vertex_iterator  ,
int  = -1 
)
virtualinherited

Will be called by traversal when a vertex becomes finished.

Parameters
vIterator to the vertex.

The documentation for this class was generated from the following file: