
Hi Doug, here is the example code that works - XFlatGraph is a listS, listS adjacency_list. Note if I replace the remove edge expression with remove_edge(*iter, _graph) the edge is intermittently not removed thanks Sean XFlatGraph& graph = _flat_view->get_graph(); XFlatEdgePMap& edge_pmap = get(kFlatGraphEdgeProperty, graph); std::listXFlatView::edge_descriptor scheduled_for_removal; XFlatView::edge_iterator current, end; tie(current, end) = edges(graph); for(;current!=end;++current) { if(edge_pmap[*current]->get_impl()->isSimulationOnly()) { scheduled_for_removal.push_back(*current); } } // Remove edges marked as simualtion only scheduled_for_removal.unique(); for(std::listXFlatView::edge_descriptor::iterator iter = scheduled_for_removal.begin(); iter != scheduled_for_removal.end(); ++iter) { remove_edge(source(*iter, graph), target(*iter,graph), graph); } System Information: compiler info: Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86 Copyright (C) Microsoft Corporation 1984-2002. All rights reserved. Boost version 1-32 -----Original Message----- From: boost-users-bounces@lists.boost.org [ mailto:boost-users-bounces@lists.boost.org] On Behalf Of Doug Gregor Sent: Thursday, March 02, 2006 12:42 PM To: boost-users@lists.boost.org Subject: Re: [Boost-users] FW: adjacency_list remove_edge On Mar 1, 2006, at 6:33 PM, Sean Kelly wrote:
I have observed the following behavior using the remove_edge function and am curious if anyone else has seen this.
remove_edge(edge_descriptor, graph) // occasionally fails in a seemingly indeterminant way
remove_edge(source(edge_descriptor, graph), target(edge_descriptor, graph), graph) // works fine
It sounds like either the edge_descriptor is getting invalidated or there is a bug somewhere in remove_edge.
The adjacency list I am using is listS listS, and this is not an issue with invalid edge_iterators, i.e. I collect all the edge_descriptors to be removed before removing them.
Are you sure that there are no duplicate edge descriptors?
I can provide more detailed info upon request.
We won't be able to help without more detailed information. Doug _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users