distance_recorder<DistanceMap, EventTag>
This is an EventVisitor that records the distance of a vertex (using a property map) from some source vertex during a graph search. When applied to edge e = (u,v), the distance of v is recorded to be one more than the distance of u. The distance recorder is typically used with the on_tree_edge or on_relax_edge events, and cannot be used with vertex events.
Use distance_recorder with graph algorithms by wrapping it with the algorithm specific adaptor, such as bfs_visitor and dfs_visitor. Also, combine this event visitor with other event visitors using std::pair to form an EventVisitorList.
See the example for bfs_visitor.
boost/graph/visitors.hpp
Parameter | Description | Default |
---|---|---|
DistanceMap | A WritablePropertyMap, where the key type and the value type are the vertex descriptor type of the graph. | |
EventTag | The tag to specify when the distance_recorder should be applied during the graph algorithm. EventTag must be an edge event. |
Type | Description |
---|---|
distance_recorder::event_filter |
This will be the same type as the template parameter EventTag. |
Member | Description |
---|---|
distance_recorder(DistanceMap pa); | Construct a distance recorder object with distance property map pa. |
template <class Edge, class Graph> void operator()(Edge e, const Graph& g); |
Given edge e = (u,v), this records the distance of v as one plus the distance of u. |
Function | Description |
---|---|
template <class DistanceMap, class Tag> |
A convenient way to create a distance_recorder. |
The following are other event visitors: predecessor_recorder,
time_stamper,
and property_writer.
Copyright © 2000-2001 |