[Boost-bugs] [Boost C++ Libraries] #8192: dag_shortest_paths or make_reverse_graph problem since 1.48

Subject: [Boost-bugs] [Boost C++ Libraries] #8192: dag_shortest_paths or make_reverse_graph problem since 1.48
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-02-27 21:21:04


#8192: dag_shortest_paths or make_reverse_graph problem since 1.48
---------------------------------------------+------------------------------
 Reporter: JB Mouret <mouret@…> | Owner: jewillco
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: graph
  Version: Boost 1.48.0 | Severity: Regression
 Keywords: |
---------------------------------------------+------------------------------
 The attached code compiles (and works) with boost 1.47 (g++ 4.4.6,
 GNU/Linux x86) but it does not compile with boost 1.48. The problem
 persists with the last version (boost 1.53).

 g++ -I boost_1_47_0/ dag_test.cpp
 -> ok

 g++ -I boost_1_48_0/ dag_test.cpp
 ->
 In file included from boost_1_48_0/boost/graph/topological_sort.hpp:15,
                  from boost_1_48_0/boost/graph/dag_shortest_paths.hpp:13,
                  from dag_test.cpp:10:
 boost_1_48_0/boost/property_map/property_map.hpp: In function 'Reference
 boost::get(const boost::put_get_helper<Reference, PropertyMap>&, const K&)
 [with PropertyMap =
 boost::adj_list_edge_property_map<boost::bidirectional_tag, int, int&,
 long unsigned int, boost::property<boost::edge_weight_t, int,
 boost::no_property>, boost::edge_weight_t>, Reference = int&, K =
 boost::detail::reverse_graph_edge_descriptor<boost::detail::edge_desc_impl<boost::bidirectional_tag,
 long unsigned int> >]':
 boost_1_48_0/boost/graph/relax.hpp:53: instantiated from 'bool
 boost::relax(typename boost::graph_traits<Graph>::edge_descriptor, const
 Graph&, const WeightMap&, PredecessorMap&, DistanceMap&, const
 BinaryFunction&, const BinaryPredicate&) [with Graph =
 boost::reverse_graph<boost::adjacency_list<boost::vecS, boost::vecS,
 boost::bidirectionalS, boost::property<boost::vertex_distance_t, int,
 boost::no_property>, boost::property<boost::edge_weight_t, int,
 boost::no_property>, boost::no_property, boost::listS>, main()::graph_t&>,
 WeightMap = boost::adj_list_edge_property_map<boost::bidirectional_tag,
 int, int&, long unsigned int, boost::property<boost::edge_weight_t, int,
 boost::no_property>, boost::edge_weight_t>, PredecessorMap = long unsigned
 int*, DistanceMap =
 boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::bidirectionalS,
 boost::property<boost::vertex_distance_t, int, boost::no_property>,
 boost::property<boost::edge_weight_t, int, boost::no_property>,
 boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS,
 boost::vecS, boost::bidirectionalS,
 boost::property<boost::vertex_distance_t, int, boost::no_property>,
 boost::property<boost::edge_weight_t, int, boost::no_property>,
 boost::no_property, boost::listS>*, int, int&, boost::vertex_distance_t>,
 BinaryFunction = boost::closed_plus<int>, BinaryPredicate =
 std::less<int>]'
 boost_1_48_0/boost/graph/dag_shortest_paths.hpp:64: instantiated from
 'void boost::dag_shortest_paths(const VertexListGraph&, typename
 boost::graph_traits<Graph>::vertex_descriptor, DistanceMap, WeightMap,
 ColorMap, PredecessorMap, DijkstraVisitor, Compare, Combine, DistInf,
 DistZero) [with VertexListGraph =
 boost::reverse_graph<boost::adjacency_list<boost::vecS, boost::vecS,
 boost::bidirectionalS, boost::property<boost::vertex_distance_t, int,
 boost::no_property>, boost::property<boost::edge_weight_t, int,
 boost::no_property>, boost::no_property, boost::listS>, main()::graph_t&>,
 DijkstraVisitor = boost::dijkstra_visitor<boost::null_visitor>,
 DistanceMap =
 boost::vec_adj_list_vertex_property_map<boost::adjacency_list<boost::vecS,
 boost::vecS, boost::bidirectionalS,
 boost::property<boost::vertex_distance_t, int, boost::no_property>,
 boost::property<boost::edge_weight_t, int, boost::no_property>,
 boost::no_property, boost::listS>, boost::adjacency_list<boost::vecS,
 boost::vecS, boost::bidirectionalS,
 boost::property<boost::vertex_distance_t, int, boost::no_property>,
 boost::property<boost::edge_weight_t, int, boost::no_property>,
 boost::no_property, boost::listS>*, int, int&, boost::vertex_distance_t>,
 WeightMap = boost::adj_list_edge_property_map<boost::bidirectional_tag,
 int, int&, long unsigned int, boost::property<boost::edge_weight_t, int,
 boost::no_property>, boost::edge_weight_t>, ColorMap =
 boost::default_color_type*, PredecessorMap = long unsigned int*, Compare =
 std::less<int>, Combine = boost::closed_plus<int>, DistInf = int, DistZero
 = int]'
 dag_test.cpp:58: instantiated from here
 boost_1_48_0/boost/property_map/property_map.hpp:354: error: no match for
 'operator[]' in '(const
 boost::adj_list_edge_property_map<boost::bidirectional_tag, int, int&,
 long unsigned int, boost::property<boost::edge_weight_t, int,
 boost::no_property>, boost::edge_weight_t>&)((const
 boost::adj_list_edge_property_map<boost::bidirectional_tag, int, int&,
 long unsigned int, boost::property<boost::edge_weight_t, int,
 boost::no_property>, boost::edge_weight_t>*)(& pa))[k]'
 boost_1_48_0/boost/graph/detail/adjacency_list.hpp:2636: note: candidates
 are: Ref boost::adj_list_edge_property_map<Directed, Value, Ref, Vertex,
 Property, Tag>::operator[](boost::detail::edge_desc_impl<Directed,
 Vertex>) const [with Directed = boost::bidirectional_tag, Value = int, Ref
 = int&, Vertex = long unsigned int, Property =
 boost::property<boost::edge_weight_t, int, boost::no_property>, Tag =
 boost::edge_weight_t]

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8192>
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:12 UTC