$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Tiago de Paula Peixoto (tiago_at_[hidden])
Date: 2004-11-20 23:11:49
Hello.
I believe I found a bug in the remove_edge function, when the graph is
directed and allows parallel edges. Sometimes an edge simply isn't
removed. I think the problem is that remove_edge uses edge_range
internally, but this function needs an ordered EdgeList (such as
multisetS), and doesn't work properly when it's something like listS.
The attached file shows the problem. It builds a simple graph with a
loop, adds a parallel edge, and tries to remove it. The output of the
program is:
number of edges before removal: 5
number of edges after removal: 5
When EdgeList is changed from listS to multisetS, it works as it should:
number of edges before removal: 5
number of edges after removal: 4
I'm using Boost 1.32.0, with GCC 3.4.3 on GNU/Linux.
Thanks.
-- Tiago de Paula Peixoto <tiago_at_[hidden]>