[Boost-bugs] [Boost C++ Libraries] #4914: Compile error reverse_graph and filter_graph

Subject: [Boost-bugs] [Boost C++ Libraries] #4914: Compile error reverse_graph and filter_graph
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-11-30 17:20:02


#4914: Compile error reverse_graph and filter_graph
---------------------------------+------------------------------------------
 Reporter: gast128@… | Owner: asutton
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: graph
  Version: Boost 1.45.0 | Severity: Problem
 Keywords: |
---------------------------------+------------------------------------------
 Hello all,

 posted thru gmane but got all kinds of 'You seem to be top-posting. Don't
 do that.' messages.

 We just upgraded to Boost 1.45 with vs2008 but we got an error in code
 which has been built fine in the past. Sample code:

 #include <boost\graph\adjacency_list.hpp>
 #include <boost\graph\graph_traits.hpp>
 #include <boost\graph\filtered_graph.hpp>
 #include <boost\graph\reverse_graph.hpp>


 struct Filter
 {
     template <typename Edge>
     bool operator()(const Edge& cr) const
     {
         return true;
     }
 };


 int main()
 {
     typedef boost::adjacency_list<
                                   boost::listS,
                                   boost::listS,
                                   boost::bidirectionalS,
                                   int
> Graph;

     typedef boost::filtered_graph<Graph, Filter> FilteredGraph;

     Graph graph;

     const Filter filter;
     const FilteredGraph fgraph(graph, filter);

     boost::make_reverse_graph(fgraph);

     return 0;
 }

 Error:

 1>c:\work sdk\boost_1_45_0\boost\graph\graph_traits.hpp(222) : error
 C2039: 'graph_property_type' : is not a member of
 'boost::filtered_graph<Graph,EdgePredicate>'
 1> with
 1> [
 1> Graph=Graph,
 1> EdgePredicate=Filter
 1> ]
 1> c:\work sdk\boost_1_45_0\boost\graph\reverse_graph.hpp(83) : see
 reference to class template instantiation 'boost::graph_property_type<G>'
 being compiled
 1> with
 1> [
 1> G=boost::filtered_graph<Graph,Filter>
 1> ]
 1> c:\work\temp\graph\graph.cpp(33) : see reference to class
 template instantiation 'boost::reverse_graph<BidirectionalGraph,GraphRef>'
 being compiled
 1> with
 1> [
 1> BidirectionalGraph=FilteredGraph,
 1> GraphRef=const FilteredGraph &
 1> ]
 1>c:\work sdk\boost_1_45_0\boost\graph\graph_traits.hpp(240) : error
 C2039: 'graph_bundled' : is not a member of
 'boost::filtered_graph<Graph,EdgePredicate>'
 1> with
 1> [
 1> Graph=Graph,
 1> EdgePredicate=Filter
 1> ]
 1> c:\work sdk\boost_1_45_0\boost\graph\reverse_graph.hpp(84) : see
 reference to class template instantiation 'boost::graph_bundle_type<G>'
 being compiled
 1> with
 1> [
 1> G=boost::filtered_graph<Graph,Filter>
 1> ]
 1>c:\work sdk\boost_1_45_0\boost\graph\graph_traits.hpp(240) : error
 C2146: syntax error : missing ';' before identifier 'type'
 1>c:\work sdk\boost_1_45_0\boost\graph\graph_traits.hpp(240) : error
 C4430: missing type specifier - int assumed. Note: C++ does not support
 default-int
 1>c:\work sdk\boost_1_45_0\boost\graph\graph_traits.hpp(240) : error
 C2208: 'boost::type' : no members defined using this type
 1>c:\work sdk\boost_1_45_0\boost\graph\graph_traits.hpp(240) : fatal error
 C1903: unable to recover from previous error(s); stopping compilation

 ref: http://article.gmane.org/gmane.comp.lib.boost.user/64165

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4914>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC