|
Boost Users : |
From: Matthias Kronenberger (yg-boost-users_at_[hidden])
Date: 2002-08-26 08:33:25
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);
}
}
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