This is an EventVisitor that records
the predecessor (or parent) of a vertex in a predecessor property
map. This is particularly useful in graph search algorithms where
recording the predecessors is an efficient way to encode the search
tree that was traversed during the search. The predecessor recorder is
typically used with the on_tree_edge or
on_relax_edge events, and cannot be used with vertex events.
|
Parameter | Description | Default |
---|---|---|
PredecessorMap | 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 predecessor_recorder should be applied during the graph algorithm. EventTag must be an edge event. |
Type | Description |
---|---|
predecessor_recorder::event_filter | This will be the same type as the template parameter EventTag. |
Member | Description |
---|---|
predecessor_recorder(PredecessorMap pa); | Construct a predecessor recorder object with predecessor property map pa. |
template <class Edge, class Graph> void operator()(Edge e, const Graph& g); |
Given edge e = (u,v), this records u as the predecessor (or parent) of v. |
Function | Description |
---|---|
template <class PredecessorMap, class Tag> predecessor_recorder<PredecessorMap, Tag> record_predecessors(PredecessorMap pa, Tag); | A convenient way to create a predecessor_recorder. |
The following are other event visitors: 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) |