Boost logo

Boost :

Subject: [boost] [Graph] LEDA adapter - concept check VertexListGraph fails
From: Jens Müller (blog_at_[hidden])
Date: 2011-12-18 16:56:08

Hi everyone,

when running the tests for Graph, the first concept check in
leda_graph_cc.cpp fails:

In file included from leda_graph_cc.cpp:9:0:
../../../boost/graph/graph_concepts.hpp: In destructor
'boost::concepts::VertexListGraph<G>::~VertexListGraph() [with G =
leda::GRAPH<int, int>]':
../../../boost/graph/graph_concepts.hpp:168:1: instantiated from
'static void
Model::************>::failed() [with Model =
boost::concepts::VertexListGraphConcept<leda::GRAPH<int, int> >]'
leda_graph_cc.cpp:21:5: instantiated from here
../../../boost/graph/graph_concepts.hpp:189:9: error: no matching
function for call to 'vertices(leda::GRAPH<int, int>&)'
../../../boost/graph/graph_concepts.hpp:189:9: note: candidate is:
../../../boost/graph/graph_concepts.hpp:45:48: note: template<class T>
typename T::ThereReallyIsNoMemberByThisNameInT boost::vertices(const T&)

(among some further errors, but I'd like to ask just about this one now)

Apparently it cannot find a vertices() function:

../../../boost/graph/graph_concepts.hpp:189:9: error: no matching
function for call to 'vertices(leda::GRAPH<int, int>&)'

But there is one in leda_graph.hpp:

  template <class vtype, class etype>
   inline std::pair<
     typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_iterator,
     typename graph_traits< leda::GRAPH<vtype,etype> >::vertex_iterator >
   vertices(const leda::GRAPH<vtype,etype>& g)
     typedef typename graph_traits< leda::GRAPH<vtype,etype>
     return std::make_pair( Iter(g.first_node(),&g), Iter(0,&g) );

So, can someone enlighten me why it isn't found? Has it something to do

         // dwa 2003/7/11 -- This clearly shouldn't be necessary, but if
         // you want to use vector_as_graph, it is! I'm sure the graph
         // library leaves these out all over the place. Probably a
         // redesign involving specializing a template with a static
         // member function is in order :(
         using boost::vertices;


Best regards,


Boost list run by bdawes at, gregod at, cpdaniel at, john at