Boost logo

Boost :

Subject: Re: [boost] [Graph] Some help in trying to fix the broken leda wrapper
From: David Abrahams (dave_at_[hidden])
Date: 2008-11-12 12:23:38


on Wed Nov 12 2008, "Sandeep Gupta" <gupta.sandeep-AT-gmail.com> wrote:

> Hi Dave,
> Thanks so much for looking into. Attached below is the error report
> trimmed to what i felt is relevant. Let me the full
> trace is required.
>
> Thanks
> sandeep
>
> /boost/concept_check.hpp: In destructor
> 'boost::SignedInteger<T>::~SignedInteger()
>
> /boost/concept/detail/general.hpp:30: instantiated from 'static void
> boost::concept::requirement<Model>::failed()
>
> /boost/concept_check.hpp:458: instantiated from
> 'boost::InputIterator<TT>::~InputIterator()
>
> /boost/concept/detail/general.hpp:29: instantiated from 'static void
> boost::concept::requirement<Model>::failed()
>
> /boost/graph/graph_concepts.hpp:47: instantiated from
> 'boost::concepts::MultiPassInputIterator<T>::~MultiPassInputIterator()
>
> /boost/concept/detail/general.hpp:29: instantiated from 'static void
> boost::concept::requirement<Model>::failed()
>
> /boost/graph/graph_concepts.hpp:81: instantiated from
> 'boost::concepts::IncidenceGraph<G>::~IncidenceGraph()
>
> /boost/graph/graph_concepts.hpp:70: instantiated from 'static void
> boost::concept::requirement<Model>::failed()
>
> /boost/concept_check.hpp:43: instantiated from 'void
> boost::function_requires(Model*)
>
> /boost/graph/breadth_first_search.hpp:55: instantiated from 'void
> boost::breadth_first_visit(const IncidenceGraph&, typename
> boost::graph_traits<G>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap)

This says that:

* The graph wrapper fails to model IncidenceGraph

* Because its out_edge_iterator fails to model MultipassInputIterator

* Because its out_edge_iterator fails to model InputIterator, of which
  MultipassInputIterator is a refinement

* Because the out_edge_iterator's difference_type fails to model
  SignedInteger.

So there's your problem: the out_edge_iterator's difference_type is not
turning out to be a signed integer. That shouldn't be too hard to fix.
This is actually pretty easy to work out from looking at the errors and
the lines in the source. I recommend you try it. Concept checking
rocks!

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk