Visitor Concepts
The visitor concepts plays the same role in BGL as functors
play in the STL. Functors provide a mechanism for extending an
algorithm; for customizing what is done at each step of the algorithm.
Visitors allow the user to insert their own operations at various
steps within a graph algorithm. Unlike the STL algorithms, graph
algorithms typically have multiple event points where one may want to
insert a call-back via a functor. Therefore visitors do not have a
single operator() method like a functor, but instead have
several methods that correspond to the various event points. Each
algorithm has a different set of event points, which are described by
the following visitor concepts:
|