
Jeremy straightened me out offlist after staring at my code. For the record, the problem + solution: ... attempting to retrieve the in_edge_iterator pair for a specific vertex in a directed graph in the context of a DFS visitor - unable to compile boost::tie(edgeiniterBegin, edgeiniterEnd) = boost::in_edges(Vertex, Graph). My problem was that I was running the DFS on a reversed copy of my graph and attempting to boost::tie to iterator typedefs defined not for the reversed graph, but rather for the unreversed graph; I had code that looked like: mygraph_edge_in_iterator_t edgeiniterBegin, edgeiniterEnd; // NO! boost::tie(edgeiniterBegin, edgeiniterEnd) = boost::in_edges(Vertex, Graph); Instead: typename boost::graph_traits<graph_t>::in_edge_iterator_t edgeiniterBegin, edgeiniterEnd; // note that graph_t == reverse(mygraph_t) boost::tie(edgeiniterBegin, edgeiniterEnd) = boost::in_edges(Vertex, Graph); Thanks Jeremy! "Jeremy Siek" <jsiek@cs.indiana.edu> wrote in message news:35B57E68-D1F4-11D7-876A-0003931A42B8@osl.iu.edu...
Hi Chris,
It sounds like what you're doing is fine... so I'll have to see the code.
Cheers, Jeremy