Boost logo

Boost Users :

Subject: Re: [Boost-users] Remove edge
From: Gianni Loiacono (giannix82_at_[hidden])
Date: 2009-02-17 02:37:16


Hi Mr. Michael Olea, thanks for the replay, for the example code and for the help :-) I have tested your code and it works perfectly. But I have a problem, my graph isn't static but dynamic. In fact, the arcs weights are assigned dynamicaly and I don't understand how to adapt your code to my code. Can you help me? Sorry for my poor english, Best regards. This is an example of my code that I want to adapt with remove_edge_if(): #include <iostream> #include <ctime> #include <utility> #include <boost/graph/graph_traits.hpp> #include <boost/graph/adjacency_list.hpp> #include <boost/graph/graph_utility.hpp> using namespace std; using namespace boost; HINSTANCE hInst; namespace boost { enum vertex_idNodo_t { vertex_idNodo = 1111 }; enum edge_arcoProprieta_t { edge_arcoProprieta = 2222 }; BOOST_INSTALL_PROPERTY(vertex, idNodo); BOOST_INSTALL_PROPERTY(edge, arcoProprieta); } typedef property<vertex_idNodo_t, int> NodoProperty; typedef property<edge_capacity_t, long> ArcoProperty; typedef adjacency_list<vecS, vecS, undirectedS, NodoProperty, ArcoProperty> Graph; Graph g; property_map<Graph, vertex_idNodo_t>::type idNodo = get(vertex_idNodo, g); property_map <Graph, edge_capacity_t >::type capacityCut = get(edge_capacity, g); graph_traits < Graph >::edge_iterator ei, ei_end; void deleteEdges() { for (tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) { if (capacityCut[*ei] < 10) { remove_edge(source(*ei,g),target(*ei,g),g); //Error invalidates the edge iterators :( } } } void main() { for (tie(ei, ei_end) = edges(g); ei != ei_end; ++ei) { srand(static_cast<unsigned int>(time(NULL))); capacityCut[*ei] = rand() % 8 + 4; } } Passa a Yahoo! Mail. La webmail che ti offre GRATIS spazio illimitato, antispam e messenger integrato. http://it.mail.yahoo.com/%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2%a0%c2 



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net