
On Feb 16, 2009, at 11:37 PM, Gianni Loiacono wrote:
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.
Ciao, signore Gianni Loiacono. It does not matter that the arc weights are assigned dynamically; what matters is that when deleteEdges is called they are stored in a property map that you have called "capacityCut". So, using the "Remover" class from ex_remove_if.cpp, you could write deleteEdges something like this: void deleteEdges() { Remover< property_map<Graph, edge_capacity_t>::type > r (capacityCut, 10); remove_edge_if(r, g); } However, if removing edges is a frequent operation, you might get better performance if you use an std::list rather than an std::vector to store edges. That is, replace this statement: typedef adjacency_list<vecS, vecS, undirectedS, NodoProperty, ArcoProperty> Graph; with this statement: typedef adjacency_list<listS, vecS, undirectedS, NodoProperty, ArcoProperty> Graph; Good luck, -- Michael