Inverse Adjacency Iterator AdaptorDefined in header boost/graph/adjacency_iterator.hppThe inverse adjacency iterator adaptor transforms an in_edge_iterator into an inverse adjacency iterator. That is, it takes an iterator that traverses over edges, and creates an iterator that traverses over the source vertices of those edges. Synopsisnamespace boost { template <class Graph, class VertexDescriptor, class InEdgeIter> class inv_adjacency_iterator_generator { public: typedef iterator_adaptor<...> type; }; } ExampleThe following is an example of how to use the inv_adjacency_iterator_generator class.
#include <boost/graph/adjacency_iterator.hpp> class my_graph { // ... typedef ... in_edge_iterator; typedef ... vertex_descriptor; typedef boost::inv_adjacency_iterator_generator<my_graph, vertex_descriptor, in_edge_iterator>::type inv_adjacency_iterator; // ... }; Template Parameters
Model ofThe inverse adjacency iterator adaptor (the type inv_adjacency_iterator_generator<...>::type) is a model of Multi-Pass Input Iterator .MembersThe inverse adjacency iterator type implements the member functions and operators required of the Random Access Iterator concept, except that the reference type is the same as the value_type so operator*() returns by-value. In addition it has the following constructor:inv_adjacency_iterator_generator::type(const InEdgeIter& it, const Graph* g) Revised 19 Aug 2001 ? Copyright Jeremy Siek 2000. Permission to copy, use, modify, sell and distribute this document is granted provided this copyright notice appears in all copies. This document is provided "as is" without express or implied warranty, and with no claim as to its suitability for any purpose. |