Boost logo

Boost Users :

From: Chris Russell (cdr_at_[hidden])
Date: 2003-08-18 21:51:06


I'm developing an algorithm based on a DFS of a directed graph that models
the BidirectionalGraph concept. In my DFS visitor I have a need to retrieve
the pair of in_edge iterators of a specific vertex in my finish_vertex
method. Invoking boost::in_edges(Vertex, Graph) and discarding the result
compiles fine. However, I can't compile the statement
boost::tie(edgeiniterBegin, edgeiniterEnd) = boost::in_edges(Vertex, Graph).
I'm struggling to understand why the const-ness of the Graph object results
in a "no user defined conversion. from const boost::iterator_adaptor ...."
compilation error.

I suspect that I have incorrectly specified the type of the in-edge
iterators to which I'm attempting to boost::tie the returned iterator pair
(my target iterators are declared as
boost::graph_traits<mygraph_t>::in_edge_iterator currently) but haven't been
able to figure out how else to explain my intent to the compiler.

I'll post the specific error message produced by the Windows version of the
Intel 7.x compiler and source if necessary - but I'm guessing that I'm
missing something pretty obvious here. Any clarification/suggestions would
be appreciated.

TIA - Chris


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net