Hm, boost::remove_edge(v1,v2,currentGraph); fails, but boost::remove_edge( boost::edge(v1,v2,currentGraph), currentGraph); is ok. ?? ----- Original Message ----- From: "Matthias Kronenberger" <yg-boost-users@m.gmane.org> Newsgroups: gmane.comp.lib.boost.user Sent: Monday, August 26, 2002 3:33 PM Subject: BGL: adjacency_list: remove_edge problems
I'm using a undirected grap with hash_setS as the Edge List container and vecS as the Vertex List Container
I'm using MSVC60 with SP5
as soon as i'm trying to use remove_edge(vertex1,vertex2,graph) i get the following error message. I dont understand the error message. It means, that my edgelist is a std::vector allthough i compile with boost::hash_setS.
Could it be, that some BGL config file detects MSVC and concludes, that hash sets are not available in the MSVC stl??
d:\matthias\programmieren\boost\boost\graph\detail\adjacency_list.hpp(665):
error C2039: 'find': Ist kein Element von 'vector<boost::detail::sei_<unsigned int,list<boost::list_edge<unsigned int,boost::property<enum boost::edge_weight_t,float,boost:: no_property>>>::iter,boost::property<enum
boost::edge_weight_t,float,boost::no_property>>,allocator<boost::detail::sei
_<unsigned int,list<boost::list_edge<unsigned int,boost::property<enum boost::edge_weight_t,float,boost::no_property>>>::iter,boost ::property<enum boost::edge_weight_t,float,boost::no_property>>>>'
find is not an element of vector
the corresponding code fragment is. template <class Graph, class EdgeList, class Vertex> inline void remove_edge_and_property(Graph& g, EdgeList& el, Vertex v, boost::disallow_parallel_edge_tag) { typedef typename EdgeList::value_type StoredEdge; typename EdgeList::iterator i = el.find(StoredEdge(v)), end = el.end(); if (i != end) { g.m_edges.erase((*i).get_iter()); el.erase(i); } }