Boost C++ Libraries: Ticket #7877: dijkstra_shortest_paths and graphviz.hpp not compatible https://svn.boost.org/trac10/ticket/7877 <p> 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): </p> <p> 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&lt;<a class="missing wiki">UniformCostVisitor</a>, <a class="missing wiki">UpdatableQueue</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">PredecessorMap</a>, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">BinaryFunction</a>, <a class="missing wiki">BinaryPredicate</a>&gt;::gray_target(Edge, Graph&amp;) [with Edge = boost::detail::edge_desc_impl&lt;boost::directed_tag, long unsigned int&gt;; Graph = const boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">UniformCostVisitor</a> = boost::dijkstra_visitor&lt;&gt;; <a class="missing wiki">UpdatableQueue</a> = boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">PredecessorMap</a> = long unsigned int*; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">BinaryFunction</a> = boost::closed_plus&lt;int&gt;; <a class="missing wiki">BinaryPredicate</a> = std::less&lt;int&gt;]': /usr/local/include/boost/graph/breadth_first_search.hpp:88:47: required from 'void boost::breadth_first_visit(const <a class="missing wiki">IncidenceGraph</a>&amp;, <a class="missing wiki">SourceIterator</a>, <a class="missing wiki">SourceIterator</a>, Buffer&amp;, BFSVisitor, <a class="missing wiki">ColorMap</a>) [with <a class="missing wiki">IncidenceGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; Buffer = boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;; BFSVisitor = boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;; <a class="missing wiki">ColorMap</a> = boost::two_bit_color_map&lt;boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt; &gt;; <a class="missing wiki">SourceIterator</a> = long unsigned int*]' /usr/local/include/boost/graph/breadth_first_search.hpp:105:5: required from 'void boost::breadth_first_visit(const <a class="missing wiki">IncidenceGraph</a>&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, Buffer&amp;, BFSVisitor, <a class="missing wiki">ColorMap</a>) [with <a class="missing wiki">IncidenceGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; Buffer = boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;; BFSVisitor = boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;; <a class="missing wiki">ColorMap</a> = boost::two_bit_color_map&lt;boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt; &gt;; typename boost::graph_traits&lt;Graph&gt;::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&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, <a class="missing wiki">PredecessorMap</a>, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, Compare, Combine, <a class="missing wiki">DistZero</a>, <a class="missing wiki">DijkstraVisitor</a>, <a class="missing wiki">ColorMap</a>) [with Graph = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DijkstraVisitor</a> = boost::dijkstra_visitor&lt;&gt;; <a class="missing wiki">PredecessorMap</a> = long unsigned int*; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Compare = std::less&lt;int&gt;; Combine = boost::closed_plus&lt;int&gt;; <a class="missing wiki">DistZero</a> = int; <a class="missing wiki">ColorMap</a> = boost::two_bit_color_map&lt;boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt; &gt;; typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:384:5: required from 'void boost::dijkstra_shortest_paths(const <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor, <a class="missing wiki">PredecessorMap</a>, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, Compare, Combine, <a class="missing wiki">DistInf</a>, <a class="missing wiki">DistZero</a>, <a class="missing wiki">DijkstraVisitor</a>, <a class="missing wiki">ColorMap</a>) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DijkstraVisitor</a> = boost::dijkstra_visitor&lt;&gt;; <a class="missing wiki">PredecessorMap</a> = long unsigned int*; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Compare = std::less&lt;int&gt;; Combine = boost::closed_plus&lt;int&gt;; <a class="missing wiki">DistInf</a> = int; <a class="missing wiki">DistZero</a> = int; <a class="missing wiki">ColorMap</a> = boost::two_bit_color_map&lt;boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt; &gt;; typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:354:5: required from 'void boost::dijkstra_shortest_paths(const <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor, <a class="missing wiki">PredecessorMap</a>, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, Compare, Combine, <a class="missing wiki">DistInf</a>, <a class="missing wiki">DistZero</a>, <a class="missing wiki">DijkstraVisitor</a>, const boost::bgl_named_params&lt;T, Tag, Base&gt;&amp;, typename boost::enable_if_c&lt;boost::is_base_and_derived&lt;boost::vertex_list_graph_tag, typename boost::graph_traits&lt;VertexListGraph&gt;::traversal_category&gt;::value, boost::graph::detail::no_parameter&gt;::type) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DijkstraVisitor</a> = boost::dijkstra_visitor&lt;&gt;; <a class="missing wiki">PredecessorMap</a> = long unsigned int*; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Compare = std::less&lt;int&gt;; Combine = boost::closed_plus&lt;int&gt;; <a class="missing wiki">DistInf</a> = int; <a class="missing wiki">DistZero</a> = int; T = int*; Tag = boost::vertex_distance_t; Base = boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt;; typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor = long unsigned int; typename boost::enable_if_c&lt;boost::is_base_and_derived&lt;boost::vertex_list_graph_tag, typename boost::graph_traits&lt;VertexListGraph&gt;::traversal_category&gt;::value, boost::graph::detail::no_parameter&gt;::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 <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, const Params&amp;) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Params = boost::bgl_named_params&lt;int*, boost::vertex_distance_t, boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt; &gt;; typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:458:7: required from 'void boost::detail::dijkstra_dispatch1(const <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, const Params&amp;) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Params = boost::bgl_named_params&lt;int*, boost::vertex_distance_t, boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt; &gt;; typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:476:5: required from 'void boost::dijkstra_shortest_paths(const <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, const boost::bgl_named_params&lt;T, Tag, Base&gt;&amp;) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; Param = int*; Tag = boost::vertex_distance_t; Rest = boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt;; typename boost::graph_traits&lt;Graph&gt;::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*&amp;, 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, </p> <blockquote> <p> from /usr/local/include/boost/graph/graphviz.hpp:28, from dijkstra-example.cpp:12: </p> </blockquote> <p> /usr/local/include/boost/graph/detail/compressed_sparse_row_struct.hpp:68:3: note: template&lt;class Vertex, class <a class="missing wiki">EdgeIndex</a>&gt; <a class="missing wiki">EdgeIndex</a> boost::detail::get(const boost::detail::csr_edge_index_map&lt;Vertex, <a class="missing wiki">EdgeIndex</a>&gt;&amp;, const boost::detail::csr_edge_descriptor&lt;Vertex, <a class="missing wiki">EdgeIndex</a>&gt;&amp;) /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&lt;Vertex, <a class="missing wiki">EdgeIndex</a>&gt;' and 'int*' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp: In instantiation of 'void boost::detail::dijkstra_bfs_visitor&lt;<a class="missing wiki">UniformCostVisitor</a>, <a class="missing wiki">UpdatableQueue</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">PredecessorMap</a>, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">BinaryFunction</a>, <a class="missing wiki">BinaryPredicate</a>&gt;::gray_target(Edge, Graph&amp;) [with Edge = boost::detail::edge_desc_impl&lt;boost::directed_tag, long unsigned int&gt;; Graph = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">UniformCostVisitor</a> = boost::dijkstra_visitor&lt;&gt;; <a class="missing wiki">UpdatableQueue</a> = boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">PredecessorMap</a> = long unsigned int*; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">BinaryFunction</a> = boost::closed_plus&lt;int&gt;; <a class="missing wiki">BinaryPredicate</a> = std::less&lt;int&gt;]': /usr/local/include/boost/graph/breadth_first_search.hpp:45:7: required from 'void boost::BFSVisitorConcept&lt;Visitor, Graph&gt;::constraints() [with Visitor = boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;; Graph = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;]' /usr/local/include/boost/concept/detail/has_constraints.hpp:32:14: required by substitution of 'template&lt;class Model&gt; boost::concepts::detail::yes boost::concepts::detail::has_constraints_(Model*, boost::concepts::detail::wrap_constraints&lt;Model, (&amp; Model:: constraints)&gt;*) [with Model = boost::BFSVisitorConcept&lt;boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;, boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt; &gt;]' /usr/local/include/boost/concept/detail/has_constraints.hpp:42:5: required from 'const bool boost::concepts::not_satisfied&lt;boost::BFSVisitorConcept&lt;boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;, boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt; &gt; &gt;::value' /usr/local/include/boost/concept/detail/has_constraints.hpp:45:31: required from 'struct boost::concepts::not_satisfied&lt;boost::BFSVisitorConcept&lt;boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;, boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt; &gt; &gt;' /usr/local/include/boost/mpl/if.hpp:67:11: required from 'struct boost::mpl::if_&lt;boost::concepts::not_satisfied&lt;boost::BFSVisitorConcept&lt;boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;, boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt; &gt; &gt;, boost::concepts::constraint&lt;boost::BFSVisitorConcept&lt;boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;, boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt; &gt; &gt;, boost::concepts::requirement&lt;boost::concepts::failed************ boost::BFSVisitorConcept&lt;boost::detail::dijkstra_bfs_visitor&lt;boost::dijkstra_visitor&lt;&gt;, boost::d_ary_heap_indirect&lt;long unsigned int, 4ul, boost::iterator_property_map&lt;long unsigned int*, boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;, long unsigned int, long unsigned int&amp;&gt;, int*, std::less&lt;int&gt;, std::vector&lt;long unsigned int&gt; &gt;, boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;, long unsigned int*, int*, boost::closed_plus&lt;int&gt;, std::less&lt;int&gt; &gt;, boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt; &gt;::<strong></strong><strong></strong><strong></strong>&gt; &gt;' /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 <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor, <a class="missing wiki">PredecessorMap</a>, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, Compare, Combine, <a class="missing wiki">DistInf</a>, <a class="missing wiki">DistZero</a>, <a class="missing wiki">DijkstraVisitor</a>, <a class="missing wiki">ColorMap</a>) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DijkstraVisitor</a> = boost::dijkstra_visitor&lt;&gt;; <a class="missing wiki">PredecessorMap</a> = long unsigned int*; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Compare = std::less&lt;int&gt;; Combine = boost::closed_plus&lt;int&gt;; <a class="missing wiki">DistInf</a> = int; <a class="missing wiki">DistZero</a> = int; <a class="missing wiki">ColorMap</a> = boost::two_bit_color_map&lt;boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt; &gt;; typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:354:5: required from 'void boost::dijkstra_shortest_paths(const <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor, <a class="missing wiki">PredecessorMap</a>, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, Compare, Combine, <a class="missing wiki">DistInf</a>, <a class="missing wiki">DistZero</a>, <a class="missing wiki">DijkstraVisitor</a>, const boost::bgl_named_params&lt;T, Tag, Base&gt;&amp;, typename boost::enable_if_c&lt;boost::is_base_and_derived&lt;boost::vertex_list_graph_tag, typename boost::graph_traits&lt;VertexListGraph&gt;::traversal_category&gt;::value, boost::graph::detail::no_parameter&gt;::type) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DijkstraVisitor</a> = boost::dijkstra_visitor&lt;&gt;; <a class="missing wiki">PredecessorMap</a> = long unsigned int*; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Compare = std::less&lt;int&gt;; Combine = boost::closed_plus&lt;int&gt;; <a class="missing wiki">DistInf</a> = int; <a class="missing wiki">DistZero</a> = int; T = int*; Tag = boost::vertex_distance_t; Base = boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt;; typename boost::graph_traits&lt;<a class="missing wiki">VertexListGraph</a>&gt;::vertex_descriptor = long unsigned int; typename boost::enable_if_c&lt;boost::is_base_and_derived&lt;boost::vertex_list_graph_tag, typename boost::graph_traits&lt;VertexListGraph&gt;::traversal_category&gt;::value, boost::graph::detail::no_parameter&gt;::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 <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, const Params&amp;) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Params = boost::bgl_named_params&lt;int*, boost::vertex_distance_t, boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt; &gt;; typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:458:7: required from 'void boost::detail::dijkstra_dispatch1(const <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, <a class="missing wiki">DistanceMap</a>, <a class="missing wiki">WeightMap</a>, <a class="missing wiki">IndexMap</a>, const Params&amp;) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; <a class="missing wiki">DistanceMap</a> = int*; <a class="missing wiki">WeightMap</a> = boost::adj_list_edge_property_map&lt;boost::directed_tag, int, const int&amp;, long unsigned int, const boost::property&lt;boost::edge_weight_t, int&gt;, boost::edge_weight_t&gt;; <a class="missing wiki">IndexMap</a> = boost::vec_adj_list_vertex_id_map&lt;boost::no_property, long unsigned int&gt;; Params = boost::bgl_named_params&lt;int*, boost::vertex_distance_t, boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt; &gt;; typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor = long unsigned int]' /usr/local/include/boost/graph/dijkstra_shortest_paths.hpp:476:5: required from 'void boost::dijkstra_shortest_paths(const <a class="missing wiki">VertexListGraph</a>&amp;, typename boost::graph_traits&lt;Graph&gt;::vertex_descriptor, const boost::bgl_named_params&lt;T, Tag, Base&gt;&amp;) [with <a class="missing wiki">VertexListGraph</a> = boost::adjacency_list&lt;boost::listS, boost::vecS, boost::directedS, boost::no_property, boost::property&lt;boost::edge_weight_t, int&gt; &gt;; Param = int*; Tag = boost::vertex_distance_t; Rest = boost::bgl_named_params&lt;long unsigned int*, boost::vertex_predecessor_t, boost::no_property&gt;; typename boost::graph_traits&lt;Graph&gt;::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*&amp;, 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, </p> <blockquote> <p> from /usr/local/include/boost/graph/graphviz.hpp:28, from dijkstra-example.cpp:12: </p> </blockquote> <p> /usr/local/include/boost/graph/detail/compressed_sparse_row_struct.hpp:68:3: note: template&lt;class Vertex, class <a class="missing wiki">EdgeIndex</a>&gt; <a class="missing wiki">EdgeIndex</a> boost::detail::get(const boost::detail::csr_edge_index_map&lt;Vertex, <a class="missing wiki">EdgeIndex</a>&gt;&amp;, const boost::detail::csr_edge_descriptor&lt;Vertex, <a class="missing wiki">EdgeIndex</a>&gt;&amp;) /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: </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7877 Trac 1.4.3 Jeremiah Willcock Thu, 10 Jan 2013 22:06:11 GMT component changed; owner set https://svn.boost.org/trac10/ticket/7877#comment:1 https://svn.boost.org/trac10/ticket/7877#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Jeremiah Willcock</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">graph</span> </li> </ul> Ticket Jeremiah Willcock Thu, 10 Jan 2013 22:18:57 GMT <link>https://svn.boost.org/trac10/ticket/7877#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7877#comment:2</guid> <description> <p> 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 <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6647" title="#6647: Bugs: BGL strong_components do not compile on MSVC 8 (closed: fixed)">#6647</a>; there is a workaround given there. </p> </description> <category>Ticket</category> </item> <item> <author>Jochen Sprickerhof <boost@…></author> <pubDate>Thu, 10 Jan 2013 22:30:30 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7877#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7877#comment:3</guid> <description> <p> 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. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Jeremiah Willcock</dc:creator> <pubDate>Thu, 10 Jan 2013 22:49:12 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/7877#comment:4 https://svn.boost.org/trac10/ticket/7877#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/82439" title="Changed to iterator_property_map; fixes #7877">[82439]</a>) Changed to iterator_property_map; fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7877" title="#7877: Bugs: dijkstra_shortest_paths and graphviz.hpp not compatible (closed: fixed)">#7877</a> </p> Ticket Jeremiah Willcock Thu, 10 Jan 2013 22:51:56 GMT <link>https://svn.boost.org/trac10/ticket/7877#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7877#comment:5</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/82441" title="Removed obsolete workarounds and changed to iterator_property_map; ...">[82441]</a>) Removed obsolete workarounds and changed to iterator_property_map; refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7877" title="#7877: Bugs: dijkstra_shortest_paths and graphviz.hpp not compatible (closed: fixed)">#7877</a> </p> </description> <category>Ticket</category> </item> </channel> </rss>