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

Calculate the 'time' needed to finish computation on each vertex. More...

Public Member Functions

 visitor_compute_finish_time (VGraph &g, FT &v)
 
visitor_return finish_vertex (typename VGraph::vertex_iterator vi, int=-1)
 
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 black_target (vertex_iterator, adj_edge_iterator)
 Will be called when an edge is reached whose destination is visited and 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 VGraph>
class stapl::sequential::visitor_compute_finish_time< VGraph >

Calculate the 'time' needed to finish computation on each vertex.

Template Parameters
VGraphthe graph view
Note
Here we refer to 'time' as the number of iterations used during execution, not the wall clock time.
m_finish is incremented during the execution of the algorithm and the current value is matched to a vertex when the vertex is finished.

Member Function Documentation

◆ discover_vertex()

virtual visitor_return stapl::visitor_base< VGraph >::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()

virtual visitor_return stapl::visitor_base< VGraph >::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()

virtual visitor_return stapl::visitor_base< VGraph >::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()

virtual visitor_return stapl::visitor_base< VGraph >::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()

virtual visitor_return stapl::visitor_base< VGraph >::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()

virtual visitor_return stapl::visitor_base< VGraph >::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).

◆ black_target()

virtual visitor_return stapl::visitor_base< VGraph >::black_target ( vertex_iterator  ,
adj_edge_iterator   
)
virtualinherited

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

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

◆ finish_vertex()

virtual visitor_return stapl::visitor_base< VGraph >::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: