Boost C++ Libraries: Ticket #373: LEDA graph adaptors for undirected graphs https://svn.boost.org/trac10/ticket/373 <pre class="wiki">The LEDA graph adaptors in the BGL seem to work properly for directed graphs (the LEDA type GRAPH&lt;...&gt;), but there are no corresponding adaptors for the undirected LEDA graph type (UGRAPH&lt;...&gt;). Undirected LEDA graphs follow a very different model than the undirected graphs in the BGL, which will require some special machinery. The LEDA type UGRAPH&lt;...&gt; is actually just a class derived from GRAPH&lt;...&gt; that applies the "make_undirected()" member function upon initialization. make_undirected() moves all of the in-edges of each vertex to the out-edges list. This has several unfortunate consequences: 1) The in-degree of an undirected LEDA graph is always zero, even when the out-degree is greater than zero. The in_edges list is therefore empty. 2) When traversing the list of out-edges for a vertex u, the edges returned may have u as their target but not their source. This breaks an important invariant in the BGL, which mandates that source(e, g)==u if e came from out_edges(u, g). Similarly for in-edges. Thus, an undirected LEDA graph adaptor will need to introduce special adaptors for the out_edge_iterator and in_edge_iterator types, which return a new edge_descriptor type for LEDA that can swap the source and target of a LEDA edge as needed. Additionally, graph-mutating operations (such as add_edge) may need to ensure that the graph remains undirected, as if make_undirected() had been called. </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/373 Trac 1.4.3 Marshall Clow Thu, 12 Jul 2007 15:10:43 GMT owner, status changed; severity set https://svn.boost.org/trac10/ticket/373#comment:1 https://svn.boost.org/trac10/ticket/373#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Douglas Gregor</span> to <span class="trac-author">doug_gregor</span> </li> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">new</span> </li> <li><strong>severity</strong> → <span class="trac-field-new">Optimization</span> </li> </ul> <p> Assigned to "doug_gregor" instead of nonexistent user "dgregor" </p> Ticket Douglas Gregor Tue, 29 Apr 2008 18:31:59 GMT owner, description changed https://svn.boost.org/trac10/ticket/373#comment:2 https://svn.boost.org/trac10/ticket/373#comment:2 <ul> <li><strong>owner</strong> changed from <span class="trac-author">doug_gregor</span> to <span class="trac-author">Douglas Gregor</span> </li> <li><strong>description</strong> modified (<a href="/trac10/ticket/373?action=diff&amp;version=2">diff</a>) </li> </ul> Ticket Jeremiah Willcock Sat, 23 May 2009 17:26:59 GMT owner, status, version, severity changed; milestone set https://svn.boost.org/trac10/ticket/373#comment:3 https://svn.boost.org/trac10/ticket/373#comment:3 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Douglas Gregor</span> to <span class="trac-author">Jeremiah Willcock</span> </li> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> <li><strong>version</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">Boost 1.39.0</span> </li> <li><strong>severity</strong> <span class="trac-field-old">Optimization</span> → <span class="trac-field-new">Not Applicable</span> </li> <li><strong>milestone</strong> → <span class="trac-field-new">Boost 1.40.0</span> </li> </ul> <p> Does this issue still apply to the current SVN HEAD? If so, do you have a patch available? </p> Ticket Jeremiah Willcock Mon, 12 Apr 2010 20:21:50 GMT status, resolution changed https://svn.boost.org/trac10/ticket/373#comment:4 https://svn.boost.org/trac10/ticket/373#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">wontfix</span> </li> </ul> <p> I am closing all of the LEDA-related bugs unless someone else is willing to fix them. </p> Ticket Jens Müller <ich@…> Wed, 04 Jan 2012 23:30:55 GMT status, milestone changed; cc set; resolution deleted https://svn.boost.org/trac10/ticket/373#comment:5 https://svn.boost.org/trac10/ticket/373#comment:5 <ul> <li><strong>cc</strong> <span class="trac-author">ich@…</span> added </li> <li><strong>status</strong> <span class="trac-field-old">closed</span> → <span class="trac-field-new">reopened</span> </li> <li><strong>resolution</strong> <span class="trac-field-deleted">wontfix</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.40.0</span> → <span class="trac-field-new">To Be Determined</span> </li> </ul> <p> Documentation: <a class="ext-link" href="http://www.algorithmic-solutions.info/leda_manual/ugraph.html#Undirected_Graphs"><span class="icon">​</span>http://www.algorithmic-solutions.info/leda_manual/ugraph.html#Undirected_Graphs</a> </p> <p> This seems worthwhile and quite easy to solve. Besides, I think when having undirected graph support, we can make clear that the "normal" adapter for LEDA graphs expects directed graphs. </p> Ticket Jens Müller <ich@…> Wed, 04 Jan 2012 23:32:03 GMT <link>https://svn.boost.org/trac10/ticket/373#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/373#comment:6</guid> <description> <p> I'm willing to take this one. </p> </description> <category>Ticket</category> </item> </channel> </rss>