Whoops ... the compiler must have been hallucinating :-)

I know I was; I can look up an edge, but can't remove one. 

I have tried it two ways: 

remove_edge(u,v,g); 
and 
remove_edge(e,g); 

with u,v being vertices and e being an edge of course. 

Possible I do not have a MutableGraph but really I am not sure. I do know an edge exists between vertices u and v. 

Eric

On Thu, Jun 10, 2010 at 12:46 AM, Cedric Laczny <cedric.laczny@gmx.de> wrote:
Hi,

when I look at the error, I see that it complains about remove_edge().
However, I don't see any call of this in your example code. So I would suggest
that you either post a complete and short "working" example, or more carefully
select the lines that you post.

Concerning the question in the title of your post, one way to check if there
is an edge between two vertices could be to get the adjacent vertices of
Vertex b and check if Vertex d is among them, or even to check if Vertex b has
any adjacent vertices at all. I know, this is probably not the nicest solution
but unless you don't use an AdjacencyMatrix graph, I don't know if this would
even be possible in a nicer way, so to say in O(1).

Best,

Cedric

On Thursday, 10. June 2010 06:59:24 Eric Fowler wrote:
> This should be easy ....
>
> typedef adjacency_list<vecS, vecS, undirectedS, POS<position_type>,
> LEN<position_type> > DG;
> typedef graph_traits<DG>::vertex_descriptor Vertex;
> typedef graph_traits<DG>::edge_descriptor Edge;
>
> ...
> Vertex b, d;
> ...populate b and ....
>
> bool bRet;
> Edge e;
>
> tie(e,bRet) = edge(b,d,*this);
>
> This earns me a lengthy error message from g++ (following).
>
> I notice that there is no function described for looking up an edge on an
> IncidenceGraph or an AdjacencyGraph ... hmm .... this puzzles me.
>
> What am I missing?
>
> Eric
>
> ../shuttle/trunk/DelaunayGraph.h:273: error: no matching function for call
> to ‘DelaunayGraph<int>::remove_edge(Edge&, DelaunayGraph<int>&)’
> /usr/include/boost/graph/detail/adjacency_list.hpp:848: note: candidates
> are: void boost::undirected_graph_helper<Config>::remove_edge(typename
> Config::edge_descriptor) [with Config =
> boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS,
> boost::undirectedS, POS<int>, LEN<int>, boost::no_property, boost::listS>,
> boost::vecS, boost::vecS, boost::undirectedS,
> boost::property<boost::vertex_bundle_t, POS<int>, boost::no_property>,
> boost::property<boost::edge_bundle_t, LEN<int>, boost::no_property>,
> boost::no_property, boost::listS>::config]
> /usr/include/boost/graph/detail/adjacency_list.hpp:859: note:
>   void boost::undirected_graph_helper<Config>::remove_edge(typename
> Config::out_edge_iterator) [with Config =
> boost::detail::adj_list_gen<boost::adjacency_list<boost::vecS, boost::vecS,
> boost::undirectedS, POS<int>, LEN<int>, boost::no_property, boost::listS>,
> boost::vecS, boost::vecS, boost::undirectedS,
> boost::property<boost::vertex_bundle_t, POS<int>, boost::no_property>,
> boost::property<boost::edge_bundle_t, LEN<int>, boost::no_property>,
> boost::no_property, boost::listS>::config]
> make: *** [MyDialog.o] Error 1
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org