Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

C++ Boost

dijkstra_visitor<EventVisitorList>

This class is an adapter that converts a list of EventVisitors (constructed using std::pair) into a DijkstraVisitor.

Example

This is an excerpt from examples/dave.cpp where the copy_graph single-event visitor is used to create a copy the shortest-paths search-tree calculated by Dijkstra's algorithm.
boost::dijkstra_shortest_paths
  (G, vertex(a, G), 
   distance_map(make_iterator_property_map(distance.begin(), vertex_id, distance[0])).
   predecessor_map(make_iterator_property_map(parent.begin(), vertex_id, parent[0])).
   visitor(make_dijkstra_visitor(copy_graph(G_copy, on_examine_edge()))));

Model of

Dijkstra Visitor

Template Parameters

ParameterDescriptionDefault
EventVisitorList A list of EventVisitor's created with std::pair. null_visitor

Where Defined

boost/graph/dijkstra_shortest_paths.hpp

Member Functions

This class implements all of the member functions required by DijkstraVisitor. In each function the appropriate event is dispatched to the EventVisitor in the EventVisitorList.

Non-Member Functions

FunctionDescription
template <class EventVisitorList>
dijkstra_visitor<EventVisitorList>
make_dijkstra_visitor(EventVisitorList ev_list);
Returns the event visitor list adapted to be a Dijkstra Visitor.

See Also

Visitor concepts

The following are event visitors: predecessor_recorder, distance_recorder time_stamper, and property_writer.


Copyright © 2000-2001 Jeremy Siek, Indiana University (jsiek@osl.iu.edu)
Lie-Quan Lee, Indiana University (llee@cs.indiana.edu)
Andrew Lumsdaine, Indiana University (lums@osl.iu.edu)