Modify

Ticket #7877 (closed Bugs: fixed)

Opened 15 months ago

Last modified 15 months ago

dijkstra_shortest_paths and graphviz.hpp not compatible

Reported by: Jochen Sprickerhof <boost@…> Owned by: jewillco
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

Change History

comment:1 Changed 15 months ago by jewillco

  • Owner set to jewillco
  • Component changed from None to graph

comment:2 Changed 15 months ago by jewillco

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 15 months ago by jewillco (previous) (diff)

comment:3 Changed 15 months 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 15 months ago by jewillco

  • Status changed from new to closed
  • Resolution set to fixed

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

comment:5 Changed 15 months ago by jewillco

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

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


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

 
Note: See TracTickets for help on using tickets.