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

bfs_visitor<EventVisitorList>

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

Example

This is an excerpt from examples/bfs.cpp where three event-visitors are combined to make a BFS visitor. The functions boost::record_distances, boost::record_predecessors, and copy_graph are all functions that create an event visitor.
  // Construct graph G and obtain the source vertex s ...

  boost::breadth_first_search(G, s,
   boost::make_bfs_visitor(
    std::make_pair(boost::record_distances(d, boost::on_tree_edge()),
    std::make_pair(boost::record_predecessors(p.begin(),
                                              boost::on_tree_edge()),
                   copy_graph(G_copy, boost::on_examine_edge())))) );

Model of

BFSVisitor

Template Parameters

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

Where Defined

boost/graph/breadth_first_search.hpp

Member Functions

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

Non-Member Functions

FunctionDescription
template <class EventVisitorList>
bfs_visitor<EventVisitorList>
make_bfs_visitor(EventVisitorList ev_list);
Returns the event visitor list adapted to be a BFS 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)