Boost C++ Libraries: Ticket #6221: breadth_first_search calls tree_edge event point with wrapped edge when run on reverse_graph https://svn.boost.org/trac10/ticket/6221 <p> Probably a fallout of changeset <a class="changeset" href="https://svn.boost.org/trac10/changeset/73997" title="Changed to custom edge_descriptor type in reverse_graph to avoid ...">[73997]</a>. </p> <p> It seems one can get to the original edge by using the member "<a class="missing wiki">EdgeDesc</a> underlying_desc". But I'm not sure whether this is the intended interface. The documentation of reverse_graph doesn't mention it. </p> <p> Besides, with "straight" graph, breadth_first_search calls tree_edge with unwrapped edge, so one can't reuse the same code for both cases. (Or they have to invent accessor wrappers.) </p> <p> Could this somehow be remedied? It doesn't seem intuitive to call tree_edge (and, presumably, others) with a wrapped edge instead of the edge itself. And it is inelegant that this is different for reverse graph than for "straight" graph. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6221 Trac 1.4.3 Jeremiah Willcock Tue, 06 Dec 2011 00:50:08 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/6221#comment:1 https://svn.boost.org/trac10/ticket/6221#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> The <code>reverse_graph</code> wrapper produces a different graph type, so algorithms don't know about it (to algorithms, it's no different than any other graph type). Thus, it would not be elegant to special-case that one particular type of graph to unwrap its edge descriptors in the various algorithms. </p> Ticket