9 Dec
2008
9 Dec
'08
12:34 a.m.
using the graph concepts for a case where I frequently add or remove
edges I came across an inconsistency: removing an edge may invalidate the edge counter because it does not check whether the edge existed or not. This is the code from the header file boost/graph/adjacency_matrix.hpp:
template
void remove_edge(typename adjacency_matrix ::vertex_descriptor u, typename adjacency_matrix ::vertex_descriptor v, adjacency_matrix & g) { --(g.m_num_edges); detail::set_edge_exists(g.get_edge(u,v), false, 0); } That definitely looks like a problem. Can I get you to file a ticket for it on svn.boost.org? I can address the issue on monday.
Fixed in trunk. Andrew Sutton andrew.n.sutton@gmail.com