Modify

Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#7877 closed Bugs (fixed)

dijkstra_shortest_paths and graphviz.hpp not compatible

Reported by: Jochen Sprickerhof <boost@…> Owned by: Jeremiah Willcock
Milestone: To Be Determined Component: graph
Version: Boost 1.52.0 Severity: Problem
Keywords: Cc:

Description

when I include graph/graphviz.hpp in graph/example/dijkstra-example.cpp I get an compile error with Boost 1.52, whereas it works using Boost 1.50. Error using g++-4.7 on current Debian unstable (similar in Visual Studio):

In file included from dijkstra-example.cpp:16:0: /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp: In instantiation of 'void boost::detail::dijkstra_bfs_visitor<UniformCostVisitor?, UpdatableQueue?, WeightMap?, PredecessorMap?, DistanceMap?, BinaryFunction?, BinaryPredicate?>::gray_target(Edge, Graph&) [with Edge = boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int>; Graph = const boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; UniformCostVisitor? = boost::dijkstra_visitor<>; UpdatableQueue? = boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; PredecessorMap? = long unsigned int*; DistanceMap? = int*; BinaryFunction? = boost::closed_plus<int>; BinaryPredicate? = std::less<int>]': /usr/local/include/boost/graph/breadth_first_search.hpp:88:47: required from 'void boost::breadth_first_visit(const IncidenceGraph?&, SourceIterator?, SourceIterator?, Buffer&, BFSVisitor, ColorMap?) [with IncidenceGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; Buffer = boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >; BFSVisitor = boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >; ColorMap? = boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int> >; SourceIterator? = long unsigned int*]' /usr/local/include/boost/graph/breadth_first_search.hpp:105:5: required from 'void boost::breadth_first_visit(const IncidenceGraph?&, typename boost::graph_traits<Graph>::vertex_descriptor, Buffer&, BFSVisitor, ColorMap?) [with IncidenceGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; Buffer = boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >; BFSVisitor = boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >; ColorMap? = boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int> >; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:333:5: required from 'void boost::dijkstra_shortest_paths_no_init(const Graph&, typename boost::graph_traits<Graph>::vertex_descriptor, PredecessorMap?, DistanceMap?, WeightMap?, IndexMap?, Compare, Combine, DistZero?, DijkstraVisitor?, ColorMap?) [with Graph = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DijkstraVisitor? = boost::dijkstra_visitor<>; PredecessorMap? = long unsigned int*; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Compare = std::less<int>; Combine = boost::closed_plus<int>; DistZero? = int; ColorMap? = boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int> >; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:384:5: required from 'void boost::dijkstra_shortest_paths(const VertexListGraph?&, typename boost::graph_traits<VertexListGraph?>::vertex_descriptor, PredecessorMap?, DistanceMap?, WeightMap?, IndexMap?, Compare, Combine, DistInf?, DistZero?, DijkstraVisitor?, ColorMap?) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DijkstraVisitor? = boost::dijkstra_visitor<>; PredecessorMap? = long unsigned int*; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Compare = std::less<int>; Combine = boost::closed_plus<int>; DistInf? = int; DistZero? = int; ColorMap? = boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int> >; typename boost::graph_traits<VertexListGraph?>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:354:5: required from 'void boost::dijkstra_shortest_paths(const VertexListGraph?&, typename boost::graph_traits<VertexListGraph?>::vertex_descriptor, PredecessorMap?, DistanceMap?, WeightMap?, IndexMap?, Compare, Combine, DistInf?, DistZero?, DijkstraVisitor?, const boost::bgl_named_params<T, Tag, Base>&, typename boost::enable_if_c<boost::is_base_and_derived<boost::vertex_list_graph_tag, typename boost::graph_traits<VertexListGraph>::traversal_category>::value, boost::graph::detail::no_parameter>::type) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DijkstraVisitor? = boost::dijkstra_visitor<>; PredecessorMap? = long unsigned int*; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Compare = std::less<int>; Combine = boost::closed_plus<int>; DistInf? = int; DistZero? = int; T = int*; Tag = boost::vertex_distance_t; Base = boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property>; typename boost::graph_traits<VertexListGraph?>::vertex_descriptor = long unsigned int; typename boost::enable_if_c<boost::is_base_and_derived<boost::vertex_list_graph_tag, typename boost::graph_traits<VertexListGraph>::traversal_category>::value, boost::graph::detail::no_parameter>::type = boost::graph::detail::no_parameter]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:427:7: required from 'void boost::detail::dijkstra_dispatch2(const VertexListGraph?&, typename boost::graph_traits<Graph>::vertex_descriptor, DistanceMap?, WeightMap?, IndexMap?, const Params&) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Params = boost::bgl_named_params<int*, boost::vertex_distance_t, boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property> >; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:458:7: required from 'void boost::detail::dijkstra_dispatch1(const VertexListGraph?&, typename boost::graph_traits<Graph>::vertex_descriptor, DistanceMap?, WeightMap?, IndexMap?, const Params&) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Params = boost::bgl_named_params<int*, boost::vertex_distance_t, boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property> >; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:476:5: required from 'void boost::dijkstra_shortest_paths(const VertexListGraph?&, typename boost::graph_traits<Graph>::vertex_descriptor, const boost::bgl_named_params<T, Tag, Base>&) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; Param = int*; Tag = boost::vertex_distance_t; Rest = boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property>; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' dijkstra-example.cpp:61:75: required from here /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:140:54: error: no matching function for call to 'get(int*&, long unsigned int)' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:140:54: note: candidate is: In file included from /usr/local/include/boost/graph/compressed_sparse_row_graph.hpp:29:0,

from /usr/local/include/boost/graph/graphviz.hpp:28, from dijkstra-example.cpp:12:

/usr/local/include/boost/graph/detail/compressed_sparse_row_struct.hpp:68:3: note: template<class Vertex, class EdgeIndex?> EdgeIndex? boost::detail::get(const boost::detail::csr_edge_index_map<Vertex, EdgeIndex?>&, const boost::detail::csr_edge_descriptor<Vertex, EdgeIndex?>&) /usr/local/include/boost/graph/detail/compressed_sparse_row_struct.hpp:68:3: note: template argument deduction/substitution failed: In file included from dijkstra-example.cpp:16:0: /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:140:54: note: mismatched types 'const boost::detail::csr_edge_index_map<Vertex, EdgeIndex?>' and 'int*' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp: In instantiation of 'void boost::detail::dijkstra_bfs_visitor<UniformCostVisitor?, UpdatableQueue?, WeightMap?, PredecessorMap?, DistanceMap?, BinaryFunction?, BinaryPredicate?>::gray_target(Edge, Graph&) [with Edge = boost::detail::edge_desc_impl<boost::directed_tag, long unsigned int>; Graph = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; UniformCostVisitor? = boost::dijkstra_visitor<>; UpdatableQueue? = boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; PredecessorMap? = long unsigned int*; DistanceMap? = int*; BinaryFunction? = boost::closed_plus<int>; BinaryPredicate? = std::less<int>]': /usr/local/include/boost/graph/breadth_first_search.hpp:45:7: required from 'void boost::BFSVisitorConcept<Visitor, Graph>::constraints() [with Visitor = boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >; Graph = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >]' /usr/local/include/boost/concept/detail/has_constraints.hpp:32:14: required by substitution of 'template<class Model> boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, boost::concepts::detail::wrap_constraints<Model, (& Model:: constraints)>*) [with Model = boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> > >]' /usr/local/include/boost/concept/detail/has_constraints.hpp:42:5: required from 'const bool boost::concepts::not_satisfied<boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> > > >::value' /usr/local/include/boost/concept/detail/has_constraints.hpp:45:31: required from 'struct boost::concepts::not_satisfied<boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> > > >' /usr/local/include/boost/mpl/if.hpp:67:11: required from 'struct boost::mpl::if_<boost::concepts::not_satisfied<boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> > > >, boost::concepts::constraint<boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> > > >, boost::concepts::requirement<boost::concepts::failed************ boost::BFSVisitorConcept<boost::detail::dijkstra_bfs_visitor<boost::dijkstra_visitor<>, boost::d_ary_heap_indirect<long unsigned int, 4ul, boost::iterator_property_map<long unsigned int*, boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>, long unsigned int, long unsigned int&>, int*, std::less<int>, std::vector<long unsigned int> >, boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>, long unsigned int*, int*, boost::closed_plus<int>, std::less<int> >, boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> > >::> >' /usr/local/include/boost/concept/detail/general.hpp:50:8: [ skipping 4 instantiation contexts ] /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:384:5: required from 'void boost::dijkstra_shortest_paths(const VertexListGraph?&, typename boost::graph_traits<VertexListGraph?>::vertex_descriptor, PredecessorMap?, DistanceMap?, WeightMap?, IndexMap?, Compare, Combine, DistInf?, DistZero?, DijkstraVisitor?, ColorMap?) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DijkstraVisitor? = boost::dijkstra_visitor<>; PredecessorMap? = long unsigned int*; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Compare = std::less<int>; Combine = boost::closed_plus<int>; DistInf? = int; DistZero? = int; ColorMap? = boost::two_bit_color_map<boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int> >; typename boost::graph_traits<VertexListGraph?>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:354:5: required from 'void boost::dijkstra_shortest_paths(const VertexListGraph?&, typename boost::graph_traits<VertexListGraph?>::vertex_descriptor, PredecessorMap?, DistanceMap?, WeightMap?, IndexMap?, Compare, Combine, DistInf?, DistZero?, DijkstraVisitor?, const boost::bgl_named_params<T, Tag, Base>&, typename boost::enable_if_c<boost::is_base_and_derived<boost::vertex_list_graph_tag, typename boost::graph_traits<VertexListGraph>::traversal_category>::value, boost::graph::detail::no_parameter>::type) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DijkstraVisitor? = boost::dijkstra_visitor<>; PredecessorMap? = long unsigned int*; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Compare = std::less<int>; Combine = boost::closed_plus<int>; DistInf? = int; DistZero? = int; T = int*; Tag = boost::vertex_distance_t; Base = boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property>; typename boost::graph_traits<VertexListGraph?>::vertex_descriptor = long unsigned int; typename boost::enable_if_c<boost::is_base_and_derived<boost::vertex_list_graph_tag, typename boost::graph_traits<VertexListGraph>::traversal_category>::value, boost::graph::detail::no_parameter>::type = boost::graph::detail::no_parameter]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:427:7: required from 'void boost::detail::dijkstra_dispatch2(const VertexListGraph?&, typename boost::graph_traits<Graph>::vertex_descriptor, DistanceMap?, WeightMap?, IndexMap?, const Params&) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Params = boost::bgl_named_params<int*, boost::vertex_distance_t, boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property> >; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:458:7: required from 'void boost::detail::dijkstra_dispatch1(const VertexListGraph?&, typename boost::graph_traits<Graph>::vertex_descriptor, DistanceMap?, WeightMap?, IndexMap?, const Params&) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; DistanceMap? = int*; WeightMap? = boost::adj_list_edge_property_map<boost::directed_tag, int, const int&, long unsigned int, const boost::property<boost::edge_weight_t, int>, boost::edge_weight_t>; IndexMap? = boost::vec_adj_list_vertex_id_map<boost::no_property, long unsigned int>; Params = boost::bgl_named_params<int*, boost::vertex_distance_t, boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property> >; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:476:5: required from 'void boost::dijkstra_shortest_paths(const VertexListGraph?&, typename boost::graph_traits<Graph>::vertex_descriptor, const boost::bgl_named_params<T, Tag, Base>&) [with VertexListGraph? = boost::adjacency_list<boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property<boost::edge_weight_t, int> >; Param = int*; Tag = boost::vertex_distance_t; Rest = boost::bgl_named_params<long unsigned int*, boost::vertex_predecessor_t, boost::no_property>; typename boost::graph_traits<Graph>::vertex_descriptor = long unsigned int]' dijkstra-example.cpp:61:75: required from here /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:140:54: error: no matching function for call to 'get(int*&, long unsigned int)' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:140:54: note: candidate is: In file included from /usr/local/include/boost/graph/compressed_sparse_row_graph.hpp:29:0,

from /usr/local/include/boost/graph/graphviz.hpp:28, from dijkstra-example.cpp:12:

/usr/local/include/boost/graph/detail/compressed_sparse_row_struct.hpp:68:3: note: template<class Vertex, class EdgeIndex?> EdgeIndex? boost::detail::get(const boost::detail::csr_edge_index_map<Vertex, EdgeIndex?>&, const boost::detail::csr_edge_descriptor<Vertex, EdgeIndex?>&) /usr/local/include/boost/graph/detail/compressed_sparse_row_struct.hpp:68:3: note: template argument deduction/substitution failed: In file included from dijkstra-example.cpp:16:0:

Attachments (0)

Change History (5)

comment:1 Changed 5 years ago by Jeremiah Willcock

Component: Nonegraph
Owner: set to Jeremiah Willcock

comment:2 Changed 5 years ago by Jeremiah Willcock

I tried it with GCC 4.7.2 and the Boost trunk (which probably matches 1.53 for these files) and it worked. If you have similar issues with Visual Studio, you may be hitting something similar to bug #6647; there is a workaround given there.

Last edited 5 years ago by Jeremiah Willcock (previous) (diff)

comment:3 Changed 5 years ago by Jochen Sprickerhof <boost@…>

I've tried it with trunk and GCC 4.7.2 as well and got the same error. I'm in #boost if you want to discuss it. Thanks for having a look.

comment:4 Changed 5 years ago by Jeremiah Willcock

Resolution: fixed
Status: newclosed

(In [82439]) Changed to iterator_property_map; fixes #7877

comment:5 Changed 5 years ago by Jeremiah Willcock

(In [82441]) Removed obsolete workarounds and changed to iterator_property_map; refs #7877

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Jeremiah Willcock.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.