On Jul 7, 2005, at 1:58 PM, Gordon Smith wrote:
Not 100% sure if subgraphs are to blame, but the traits of the attached graph include: 1. adjacency_iterator 2. in_edge_iterator 3. out_edge_iterator
I don't believe this relates to subgraphs at all. There are no graph concepts that list inv_adjacency_iterator as a requirement, whereas the other three iterators you mention map to the Adjacency Graph, Bidirectional Graph, and Incidence Graph concepts, respectively. If we were to add an Inverse Adjacency Graph concept, for instance, it might list the inv_adjacency_iterator as one of its requirements.
But fails to compile when I add a "inv_adjacency_iterator".
Right. Since graph types aren't required to have an inv_adjacency_iterator, it isn't a part of graph_traits.
Surely this iterator is basically the same as the in_edge_iterator, with a different return type?
Yes, it can be built on an in_edge_iterator; see, e.g., http://www.boost.org/libs/graph/doc/inv_adjacency_iterator.html Doug