diff --git a/include/boost/graph/dijkstra_shortest_paths.hpp b/include/boost/graph/dijkstra_shortest_paths.hpp index 1d8fbb58..463ce285 100644 --- a/include/boost/graph/dijkstra_shortest_paths.hpp +++ b/include/boost/graph/dijkstra_shortest_paths.hpp @@ -101,10 +101,10 @@ namespace boost { struct dijkstra_bfs_visitor { dijkstra_bfs_visitor(UniformCostVisitor vis, UpdatableQueue& Q, - WeightMap w, PredecessorMap p, DistanceMap d, - BinaryFunction combine, BinaryPredicate compare) + WeightMap w, PredecessorMap p, DistanceMap d, + BinaryFunction combine, BinaryPredicate compare) : m_vis(vis), m_Q(Q), m_weight(w), m_predecessor(p), m_distance(d), - m_combine(combine), m_compare(compare) { } + m_combine(combine), m_compare(compare) { } template void tree_edge(Edge e, Graph& g) { @@ -128,7 +128,7 @@ namespace boost { template void initialize_vertex(Vertex u, Graph& g) - { m_vis.initialize_vertex(u, g); } + { m_vis.initialize_vertex(u, g); } template void non_tree_edge(Edge, Graph&) { } template @@ -170,7 +170,7 @@ namespace boost { typename graph_traits::vertex_iterator ui, ui_end; for (tie(ui, ui_end) = vertices(g); ui != ui_end; ++ui) { put(distance, *ui, init()); - put(predecessor, *ui, *ui); + put(predecessor, *ui, *ui); } put(distance, s, zero()); @@ -179,13 +179,13 @@ namespace boost { typedef typename graph_traits::vertex_descriptor Vertex; typedef mutable_queue, IndirectCmp, IndexMap> - MutableQueue; + MutableQueue; MutableQueue Q(num_vertices(g), icmp, index_map); dijkstra_bfs_visitor - bfs_vis(vis, Q, weight, predecessor, distance, combine, compare); + PredecessorMap, DistanceMap, Combine, Compare> + bfs_vis(vis, Q, weight, predecessor, distance, combine, compare); breadth_first_search(g, s, params.buffer(Q).visitor(bfs_vis)); } @@ -204,27 +204,28 @@ namespace boost { // Default for predecessor map typedef typename graph_traits::vertex_descriptor Vertex; typename std::vector::size_type - n = is_default_param(get_param(params, vertex_predecessor)) ? - num_vertices(g) : 0; + n = is_default_param(get_param(params, vertex_predecessor)) ? + num_vertices(g) : 1; std::vector p_map(n); typedef typename property_traits::value_type D; detail::dijkstra_impl (g, s, - choose_param(get_param(params, vertex_predecessor), - make_iterator_property_map(p_map.begin(), index_map, p_map[0])), - distance, weight, index_map, + choose_param(get_param(params, vertex_predecessor), + make_iterator_property_map(p_map.begin(), index_map, + p_map[0])), + distance, weight, index_map, choose_param(get_param(params, distance_compare_t()), - std::less()), + std::less()), choose_param(get_param(params, distance_combine_t()), - std::plus()), + std::plus()), choose_param(get_param(params, distance_inf_t()), generate_infinity()), choose_param(get_param(params, distance_zero_t()), generate_zero()), - choose_param(get_param(params, graph_visitor), - make_dijkstra_visitor(null_visitor())), - params); + choose_param(get_param(params, graph_visitor), + make_dijkstra_visitor(null_visitor())), + params); } template ::value_type D; typename std::vector::size_type - n = is_default_param(distance) ? num_vertices(g) : 0; + n = is_default_param(distance) ? num_vertices(g) : 1; std::vector distance_map(n); detail::dijkstra_dispatch2 - (g, s, choose_param(distance, make_iterator_property_map - (distance_map.begin(), index_map, distance_map[0])), - weight, index_map, params); + (g, s, choose_param(distance, make_iterator_property_map + (distance_map.begin(), index_map, + distance_map[0])), + weight, index_map, params); } } // namespace detail @@ -269,4 +271,4 @@ namespace boost { } // namespace boost -#endif /* BOOST_GRAPH_DIJKSTRA_HPP*/ +#endif // BOOST_GRAPH_DIJKSTRA_HPP