
But what if I want to iterate over the Foo pointers in my graph? I suppose one way is this:
for (int i = 0; i < num_vertices(g); i++) { Foo *foo = g[i]; }
Yup. But I assume this wouldn't scale if I were to use listS instead vecS. Also,
I'd want to use a proper vertex_iterator anyway, so I can grab all the properties I want in one loop. But how can I access my Foo pointer from the vertex_iterator? I've looked though the docs and sample code but I just can't figure it out.
Pretty much the same way: typename graph_traits<G>::vertex_iterator i, end; for(tie(i, end) = vertices(g); i != end; ++ii) { Foo* f = g[*i]; } Dereferencing a vertex iterator returns a vertex descriptor. The same is true for edge iterators and edge descriptors, if it comes up. Andrew Sutton andrew.n.sutton@gmail.com