Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap > Struct Template Reference

Customized visitor passed to Dijkstra's algorithm by Brandes' betweenness centrality algorithm. More...

#include <betweenness_centrality.hpp>

Inheritance diagram for boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >:
Collaboration diagram for boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >:

Public Types

typedef graph_traits< Graph >
::vertex_descriptor 
vertex_descriptor
 
typedef graph_traits< Graph >
::edge_descriptor 
edge_descriptor
 

Public Member Functions

 brandes_dijkstra_visitor (std::stack< vertex_descriptor > &ordered_vertices, WeightMap weight, IncomingMap incoming, DistanceMap distance, PathCountMap path_count)
 
void edge_relaxed (edge_descriptor e, const Graph &g)
 Whenever an edge e = (v, w) is relaxed, the incoming edge list for w is set to {(v, w)} and the shortest path count of w is set to the number of paths that reach {v}. More...
 
void edge_not_relaxed (edge_descriptor e, const Graph &g)
 If an edge e = (v, w) was not relaxed, it may still be the case that we've found more equally-short paths, so include {(v, w)} in the incoming edges of w and add all of the shortest paths to v to the shortest path count of w. More...
 
void examine_vertex (vertex_descriptor w, const Graph &)
 Keep track of vertices as they are reached. More...
 
graph::bfs_visitor_event_not_overridden initialize_vertex (Vertex u, Graph &g)
 
graph::bfs_visitor_event_not_overridden discover_vertex (Vertex u, Graph &g)
 
graph::bfs_visitor_event_not_overridden examine_vertex (Vertex u, Graph &g)
 
graph::bfs_visitor_event_not_overridden examine_edge (Edge e, Graph &g)
 
graph::bfs_visitor_event_not_overridden tree_edge (Edge e, Graph &g)
 
graph::bfs_visitor_event_not_overridden non_tree_edge (Edge e, Graph &g)
 
graph::bfs_visitor_event_not_overridden gray_target (Edge e, Graph &g)
 
graph::bfs_visitor_event_not_overridden black_target (Edge e, Graph &g)
 
graph::bfs_visitor_event_not_overridden finish_vertex (Vertex u, Graph &g)
 

Protected Attributes

Visitors m_vis
 

Detailed Description

template<typename Graph, typename WeightMap, typename IncomingMap, typename DistanceMap, typename PathCountMap>
struct boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >

Customized visitor passed to Dijkstra's algorithm by Brandes' betweenness centrality algorithm.

This visitor is responsible for keeping track of the order in which vertices are discovered, the predecessors on the shortest path(s) to a vertex, and the number of shortest paths.

Member Typedef Documentation

template<typename Graph , typename WeightMap , typename IncomingMap , typename DistanceMap , typename PathCountMap >
typedef graph_traits<Graph>::edge_descriptor boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >::edge_descriptor
template<typename Graph , typename WeightMap , typename IncomingMap , typename DistanceMap , typename PathCountMap >
typedef graph_traits<Graph>::vertex_descriptor boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >::vertex_descriptor

Constructor & Destructor Documentation

template<typename Graph , typename WeightMap , typename IncomingMap , typename DistanceMap , typename PathCountMap >
boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >::brandes_dijkstra_visitor ( std::stack< vertex_descriptor > &  ordered_vertices,
WeightMap  weight,
IncomingMap  incoming,
DistanceMap  distance,
PathCountMap  path_count 
)
inline

Member Function Documentation

graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::black_target ( Edge  e,
Graph &  g 
)
inlineinherited
graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::discover_vertex ( Vertex  u,
Graph &  g 
)
inlineinherited
template<typename Graph , typename WeightMap , typename IncomingMap , typename DistanceMap , typename PathCountMap >
void boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >::edge_not_relaxed ( edge_descriptor  e,
const Graph &  g 
)
inline

If an edge e = (v, w) was not relaxed, it may still be the case that we've found more equally-short paths, so include {(v, w)} in the incoming edges of w and add all of the shortest paths to v to the shortest path count of w.

References boost::iostreams::combine(), boost::put(), boost::source(), and boost::target().

template<typename Graph , typename WeightMap , typename IncomingMap , typename DistanceMap , typename PathCountMap >
void boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >::edge_relaxed ( edge_descriptor  e,
const Graph &  g 
)
inline

Whenever an edge e = (v, w) is relaxed, the incoming edge list for w is set to {(v, w)} and the shortest path count of w is set to the number of paths that reach {v}.

References boost::put(), boost::source(), and boost::target().

graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::examine_edge ( Edge  e,
Graph &  g 
)
inlineinherited
template<typename Graph , typename WeightMap , typename IncomingMap , typename DistanceMap , typename PathCountMap >
void boost::detail::graph::brandes_dijkstra_visitor< Graph, WeightMap, IncomingMap, DistanceMap, PathCountMap >::examine_vertex ( vertex_descriptor  w,
const Graph &   
)
inline

Keep track of vertices as they are reached.

graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::examine_vertex ( Vertex  u,
Graph &  g 
)
inlineinherited
graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::finish_vertex ( Vertex  u,
Graph &  g 
)
inlineinherited
graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::gray_target ( Edge  e,
Graph &  g 
)
inlineinherited
graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::initialize_vertex ( Vertex  u,
Graph &  g 
)
inlineinherited
graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::non_tree_edge ( Edge  e,
Graph &  g 
)
inlineinherited
graph::bfs_visitor_event_not_overridden boost::bfs_visitor< Visitors >::tree_edge ( Edge  e,
Graph &  g 
)
inlineinherited

Member Data Documentation

Visitors boost::bfs_visitor< Visitors >::m_vis
protectedinherited

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