template<class Graph,
class VertexIndexMap,
- class EdgeIndexMap,
class Resource_Container,
class Resource_Extension_Function,
class Dominance_Function>
void r_c_shortest_paths( const Graph& g,
const VertexIndexMap& vertex_index_map,
- const EdgeIndexMap& edge_index_map,
typename graph_traits<Graph>::vertex_descriptor s,
typename graph_traits<Graph>::vertex_descriptor t,
std::vector<typename graph_traits<Graph>::edge_descriptor>& pareto_optimal_solution,
@@ -370,7 +362,6 @@ DominanceFunction
r_c_shortest_paths( g,
vertex_index_map,
- edge_index_map,
s,
t,
pareto_optimal_solutions,
@@ -427,10 +418,6 @@ Parameters
A ReadablePropertyMap mapping vertex descriptors to integers in [0, num_vertices(g) ).
-IN: const EdgeIndexMap& edge_index_map
-
-A ReadablePropertyMap mapping edge descriptors to integers in [0, num_edges(g) ).
-
IN: typename graph_traits<Graph>::vertex_descriptor s
A vertex descriptor describing the start vertex of the path.
diff --git a/example/r_c_shortest_paths_example.cpp b/example/r_c_shortest_paths_example.cpp
index 77326bb7c..0ba97f19c 100644
--- a/example/r_c_shortest_paths_example.cpp
+++ b/example/r_c_shortest_paths_example.cpp
@@ -248,8 +248,7 @@ int main()
opt_solutions;
std::vector< spp_no_rc_res_cont > pareto_opt_rcs_no_rc;
- r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g),
- get(&SPPRC_Example_Graph_Arc_Prop::num, g), s, t, opt_solutions,
+ r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g), s, t, opt_solutions,
pareto_opt_rcs_no_rc, spp_no_rc_res_cont(0), ref_no_res_cont(),
dominance_no_res_cont(),
std::allocator< r_c_shortest_paths_label< SPPRC_Example_Graph,
@@ -277,8 +276,7 @@ int main()
opt_solutions_spptw;
std::vector< spp_spptw_res_cont > pareto_opt_rcs_spptw;
- r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g),
- get(&SPPRC_Example_Graph_Arc_Prop::num, g), s, t, opt_solutions_spptw,
+ r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g), s, t, opt_solutions_spptw,
pareto_opt_rcs_spptw, spp_spptw_res_cont(0, 0), ref_spptw(),
dominance_spptw(),
std::allocator< r_c_shortest_paths_label< SPPRC_Example_Graph,
diff --git a/include/boost/graph/r_c_shortest_paths.hpp b/include/boost/graph/r_c_shortest_paths.hpp
index 12edb43dc..59933511f 100644
--- a/include/boost/graph/r_c_shortest_paths.hpp
+++ b/include/boost/graph/r_c_shortest_paths.hpp
@@ -8,7 +8,7 @@
#ifndef BOOST_GRAPH_R_C_SHORTEST_PATHS_HPP
#define BOOST_GRAPH_R_C_SHORTEST_PATHS_HPP
-#include
+#include
#include
#include
#include
@@ -25,7 +25,7 @@ namespace boost
// r_c_shortest_paths_label struct
template < class Graph, class Resource_Container >
struct r_c_shortest_paths_label
-: public boost::enable_shared_from_this<
+: boost::enable_shared_from_this<
r_c_shortest_paths_label< Graph, Resource_Container > >
{
r_c_shortest_paths_label(const unsigned long n,
@@ -163,12 +163,11 @@ namespace detail
{
// r_c_shortest_paths_dispatch function (body/implementation)
- template < class Graph, class VertexIndexMap, class EdgeIndexMap,
+ template < class Graph, class VertexIndexMap,
class Resource_Container, class Resource_Extension_Function,
class Dominance_Function, class Label_Allocator, class Visitor >
void r_c_shortest_paths_dispatch(const Graph& g,
const VertexIndexMap& vertex_index_map,
- const EdgeIndexMap& /*edge_index_map*/,
typename graph_traits< Graph >::vertex_descriptor s,
typename graph_traits< Graph >::vertex_descriptor t,
// each inner vector corresponds to a pareto-optimal path
@@ -176,7 +175,7 @@ namespace detail
std::vector< typename graph_traits< Graph >::edge_descriptor > >&
pareto_optimal_solutions,
std::vector< Resource_Container >& pareto_optimal_resource_containers,
- bool b_all_pareto_optimal_solutions,
+ const bool b_all_pareto_optimal_solutions,
// to initialize the first label/resource container
// and to carry the type information
const Resource_Container& rc, Resource_Extension_Function& ref,
@@ -184,47 +183,39 @@ namespace detail
// to specify the memory management strategy for the labels
Label_Allocator /*la*/, Visitor vis)
{
+
+ using EdgeDescriptor = typename graph_traits< Graph >::edge_descriptor;
+ using Label = r_c_shortest_paths_label< Graph, Resource_Container >;
+ using Splabel = boost::shared_ptr;
+ using SplabelList = std::list< Splabel >;
+ using SplabelListArray = std::vector< SplabelList >;
+
pareto_optimal_resource_containers.clear();
pareto_optimal_solutions.clear();
size_t i_label_num = 0;
-#if defined(BOOST_NO_CXX11_ALLOCATOR)
- typedef typename Label_Allocator::template rebind<
- r_c_shortest_paths_label< Graph, Resource_Container > >::other
- LAlloc;
-#else
- typedef typename std::allocator_traits< Label_Allocator >::
- template rebind_alloc<
- r_c_shortest_paths_label< Graph, Resource_Container > >
- LAlloc;
- typedef std::allocator_traits< LAlloc > LTraits;
-#endif
+
+ using LAlloc = typename std::allocator_traits< Label_Allocator >::template rebind_alloc< Label >;
+
LAlloc l_alloc;
- typedef boost::shared_ptr<
- r_c_shortest_paths_label< Graph, Resource_Container > >
- Splabel;
+
std::priority_queue< Splabel, std::vector< Splabel >,
std::greater< Splabel > >
unprocessed_labels;
- bool b_feasible = true;
- Splabel splabel_first_label = boost::allocate_shared<
- r_c_shortest_paths_label< Graph, Resource_Container > >(l_alloc,
- i_label_num++, rc,
- boost::shared_ptr<
- r_c_shortest_paths_label< Graph, Resource_Container > >(),
- typename graph_traits< Graph >::edge_descriptor(), s);
+ const auto splabel_first_label = boost::allocate_shared< Label >(l_alloc,
+ i_label_num++, rc, Splabel(),
+ EdgeDescriptor(), s);
unprocessed_labels.push(splabel_first_label);
- std::vector< std::list< Splabel > > vec_vertex_labels_data(
- num_vertices(g));
- iterator_property_map<
- typename std::vector< std::list< Splabel > >::iterator,
- VertexIndexMap >
+
+ SplabelListArray vec_vertex_labels_data(num_vertices(g));
+
+ iterator_property_map< typename SplabelListArray::iterator, VertexIndexMap >
vec_vertex_labels(vec_vertex_labels_data.begin(), vertex_index_map);
vec_vertex_labels[s].push_back(splabel_first_label);
- typedef std::vector< typename std::list< Splabel >::iterator >
- vec_last_valid_positions_for_dominance_data_type;
+
+ using vec_last_valid_positions_for_dominance_data_type = std::vector< typename SplabelList::iterator >;
vec_last_valid_positions_for_dominance_data_type
vec_last_valid_positions_for_dominance_data(num_vertices(g));
iterator_property_map<
@@ -238,6 +229,7 @@ namespace detail
put(vec_last_valid_positions_for_dominance, v,
vec_vertex_labels[v].begin());
}
+
std::vector< size_t > vec_last_valid_index_for_dominance_data(
num_vertices(g), 0);
iterator_property_map< std::vector< size_t >::iterator, VertexIndexMap >
@@ -254,7 +246,7 @@ namespace detail
while (!unprocessed_labels.empty()
&& vis.on_enter_loop(unprocessed_labels, g))
{
- Splabel cur_label = unprocessed_labels.top();
+ auto cur_label = unprocessed_labels.top();
unprocessed_labels.pop();
vis.on_label_popped(*cur_label, g);
// an Splabel object in unprocessed_labels and the respective
@@ -271,24 +263,20 @@ namespace detail
// extended is undominated
if (!cur_label->b_is_dominated)
{
- typename boost::graph_traits< Graph >::vertex_descriptor
- i_cur_resident_vertex
- = cur_label->resident_vertex;
- std::list< Splabel >& list_labels_cur_vertex
- = get(vec_vertex_labels, i_cur_resident_vertex);
+ const auto i_cur_resident_vertex = cur_label->resident_vertex;
+ auto& list_labels_cur_vertex = get(vec_vertex_labels, i_cur_resident_vertex);
+
if (list_labels_cur_vertex.size() >= 2
&& vec_last_valid_index_for_dominance[i_cur_resident_vertex]
< list_labels_cur_vertex.size())
{
- typename std::list< Splabel >::iterator outer_iter
- = list_labels_cur_vertex.begin();
- bool b_outer_iter_at_or_beyond_last_valid_pos_for_dominance
- = false;
+ auto outer_iter = list_labels_cur_vertex.begin();
+ auto b_outer_iter_at_or_beyond_last_valid_pos_for_dominance = false;
while (outer_iter != list_labels_cur_vertex.end())
{
- Splabel cur_outer_splabel = *outer_iter;
- typename std::list< Splabel >::iterator inner_iter
- = outer_iter;
+ auto cur_outer_splabel = *outer_iter;
+ auto inner_iter = outer_iter;
+
if (!b_outer_iter_at_or_beyond_last_valid_pos_for_dominance
&& outer_iter
== get(vec_last_valid_positions_for_dominance,
@@ -308,17 +296,17 @@ namespace detail
i_cur_resident_vertex);
++inner_iter;
}
- bool b_outer_iter_erased = false;
+
+ auto b_outer_iter_erased = false;
while (inner_iter != list_labels_cur_vertex.end())
{
- Splabel cur_inner_splabel = *inner_iter;
+ auto cur_inner_splabel = *inner_iter;
if (dominance(cur_outer_splabel
->cumulated_resource_consumption,
cur_inner_splabel
->cumulated_resource_consumption))
{
- typename std::list< Splabel >::iterator buf
- = inner_iter;
+ auto buf = inner_iter;
++inner_iter;
list_labels_cur_vertex.erase(buf);
if (cur_inner_splabel->b_is_processed)
@@ -336,8 +324,7 @@ namespace detail
cur_outer_splabel
->cumulated_resource_consumption))
{
- typename std::list< Splabel >::iterator buf
- = outer_iter;
+ auto buf = outer_iter;
++outer_iter;
list_labels_cur_vertex.erase(buf);
b_outer_iter_erased = true;
@@ -376,9 +363,9 @@ namespace detail
{
cur_label.reset();
}
- while (unprocessed_labels.size())
+ while (!unprocessed_labels.empty())
{
- Splabel l = unprocessed_labels.top();
+ auto l = unprocessed_labels.top();
unprocessed_labels.pop();
// delete only dominated labels, because nondominated labels
// are deleted at the end of the function
@@ -393,19 +380,17 @@ namespace detail
{
cur_label->b_is_processed = true;
vis.on_label_not_dominated(*cur_label, g);
- typename graph_traits< Graph >::vertex_descriptor cur_vertex
- = cur_label->resident_vertex;
+ const auto cur_vertex = cur_label->resident_vertex;
typename graph_traits< Graph >::out_edge_iterator oei, oei_end;
- for (boost::tie(oei, oei_end) = out_edges(cur_vertex, g);
+ for (std::tie(oei, oei_end) = out_edges(cur_vertex, g);
oei != oei_end; ++oei)
{
- b_feasible = true;
- Splabel new_label = boost::allocate_shared<
- r_c_shortest_paths_label< Graph, Resource_Container > >(
+ auto new_label = boost::allocate_shared<
+ Label >(
l_alloc, i_label_num++,
cur_label->cumulated_resource_consumption, cur_label,
*oei, target(*oei, g));
- b_feasible = ref(g,
+ auto b_feasible = ref(g,
new_label->cumulated_resource_consumption,
new_label->p_pred_label->cumulated_resource_consumption,
new_label->pred_edge);
@@ -430,23 +415,21 @@ namespace detail
cur_label.reset();
}
}
- std::list< Splabel > dsplabels = get(vec_vertex_labels, t);
+ auto& dsplabels = get(vec_vertex_labels, t);
if(!b_all_pareto_optimal_solutions)
{
dsplabels.sort();
}
- typename std::list< Splabel >::const_iterator csi = dsplabels.begin();
- typename std::list< Splabel >::const_iterator csi_end = dsplabels.end();
// if d could be reached from o
if (!dsplabels.empty())
{
+ auto csi = dsplabels.begin();
+ const auto csi_end = dsplabels.cend();
for (; csi != csi_end; ++csi)
{
- std::vector< typename graph_traits< Graph >::edge_descriptor >
- cur_pareto_optimal_path;
- boost::shared_ptr<
- r_c_shortest_paths_label< Graph, Resource_Container > >
- p_cur_label = *csi;
+ std::vector< EdgeDescriptor > cur_pareto_optimal_path;
+ auto p_cur_label = *csi;
+
pareto_optimal_resource_containers.push_back(
p_cur_label->cumulated_resource_consumption);
while (p_cur_label->num != 0)
@@ -480,11 +463,9 @@ namespace detail
BGL_FORALL_VERTICES_T(i, g, Graph)
{
- std::list< Splabel >& list_labels_cur_vertex = vec_vertex_labels[i];
- typename std::list< Splabel >::iterator si
- = list_labels_cur_vertex.begin();
- const typename std::list< Splabel >::iterator si_end
- = list_labels_cur_vertex.end();
+ auto& list_labels_cur_vertex = get(vec_vertex_labels, i);
+ auto si = list_labels_cur_vertex.begin();
+ const auto si_end = list_labels_cur_vertex.cend();
for (; si != si_end; ++si)
{
(*si).reset();
@@ -498,45 +479,44 @@ namespace detail
struct default_r_c_shortest_paths_visitor
{
template < class Label, class Graph >
- void on_label_popped(const Label&, const Graph&)
+ void on_label_popped(const Label&, const Graph&) const
{
}
template < class Label, class Graph >
- void on_label_feasible(const Label&, const Graph&)
+ void on_label_feasible(const Label&, const Graph&) const
{
}
template < class Label, class Graph >
- void on_label_not_feasible(const Label&, const Graph&)
+ void on_label_not_feasible(const Label&, const Graph&) const
{
}
template < class Label, class Graph >
- void on_label_dominated(const Label&, const Graph&)
+ void on_label_dominated(const Label&, const Graph&) const
{
}
template < class Label, class Graph >
- void on_label_not_dominated(const Label&, const Graph&)
+ void on_label_not_dominated(const Label&, const Graph&) const
{
}
template < class Queue, class Graph >
- bool on_enter_loop(const Queue& queue, const Graph& graph)
+ bool on_enter_loop(const Queue&, const Graph&) const
{
return true;
}
}; // default_r_c_shortest_paths_visitor
// default_r_c_shortest_paths_allocator
-typedef std::allocator< int > default_r_c_shortest_paths_allocator;
+using default_r_c_shortest_paths_allocator = std::allocator< int >;
// default_r_c_shortest_paths_allocator
// r_c_shortest_paths functions (handle/interface)
// first overload:
// - return all pareto-optimal solutions
// - specify Label_Allocator and Visitor arguments
-template < class Graph, class VertexIndexMap, class EdgeIndexMap,
+template < class Graph, class VertexIndexMap,
class Resource_Container, class Resource_Extension_Function,
class Dominance_Function, class Label_Allocator, class Visitor >
void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
- const EdgeIndexMap& edge_index_map,
typename graph_traits< Graph >::vertex_descriptor s,
typename graph_traits< Graph >::vertex_descriptor t,
// each inner vector corresponds to a pareto-optimal path
@@ -551,7 +531,7 @@ void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
// to specify the memory management strategy for the labels
Label_Allocator la, Visitor vis)
{
- r_c_shortest_paths_dispatch(g, vertex_index_map, edge_index_map, s, t,
+ r_c_shortest_paths_dispatch(g, vertex_index_map, s, t,
pareto_optimal_solutions, pareto_optimal_resource_containers, true, rc,
ref, dominance, la, vis);
}
@@ -559,11 +539,10 @@ void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
// second overload:
// - return only one pareto-optimal solution
// - specify Label_Allocator and Visitor arguments
-template < class Graph, class VertexIndexMap, class EdgeIndexMap,
+template < class Graph, class VertexIndexMap,
class Resource_Container, class Resource_Extension_Function,
class Dominance_Function, class Label_Allocator, class Visitor >
void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
- const EdgeIndexMap& edge_index_map,
typename graph_traits< Graph >::vertex_descriptor s,
typename graph_traits< Graph >::vertex_descriptor t,
std::vector< typename graph_traits< Graph >::edge_descriptor >&
@@ -581,25 +560,24 @@ void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
std::vector< typename graph_traits< Graph >::edge_descriptor > >
pareto_optimal_solutions;
std::vector< Resource_Container > pareto_optimal_resource_containers;
- r_c_shortest_paths_dispatch(g, vertex_index_map, edge_index_map, s, t,
+ r_c_shortest_paths_dispatch(g, vertex_index_map, s, t,
pareto_optimal_solutions, pareto_optimal_resource_containers, false, rc,
ref, dominance, la, vis);
if (!pareto_optimal_solutions.empty())
{
- pareto_optimal_solution = pareto_optimal_solutions[0];
+ pareto_optimal_solution = std::move(pareto_optimal_solutions[0]);
pareto_optimal_resource_container
- = pareto_optimal_resource_containers[0];
+ = std::move(pareto_optimal_resource_containers[0]);
}
}
// third overload:
// - return all pareto-optimal solutions
// - use default Label_Allocator and Visitor
-template < class Graph, class VertexIndexMap, class EdgeIndexMap,
+template < class Graph, class VertexIndexMap,
class Resource_Container, class Resource_Extension_Function,
class Dominance_Function >
void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
- const EdgeIndexMap& edge_index_map,
typename graph_traits< Graph >::vertex_descriptor s,
typename graph_traits< Graph >::vertex_descriptor t,
// each inner vector corresponds to a pareto-optimal path
@@ -612,7 +590,7 @@ void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
const Resource_Container& rc, const Resource_Extension_Function& ref,
const Dominance_Function& dominance)
{
- r_c_shortest_paths_dispatch(g, vertex_index_map, edge_index_map, s, t,
+ r_c_shortest_paths_dispatch(g, vertex_index_map, s, t,
pareto_optimal_solutions, pareto_optimal_resource_containers, true, rc,
ref, dominance, default_r_c_shortest_paths_allocator(),
default_r_c_shortest_paths_visitor());
@@ -621,11 +599,10 @@ void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
// fourth overload:
// - return only one pareto-optimal solution
// - use default Label_Allocator and Visitor
-template < class Graph, class VertexIndexMap, class EdgeIndexMap,
+template < class Graph, class VertexIndexMap,
class Resource_Container, class Resource_Extension_Function,
class Dominance_Function >
void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
- const EdgeIndexMap& edge_index_map,
typename graph_traits< Graph >::vertex_descriptor s,
typename graph_traits< Graph >::vertex_descriptor t,
std::vector< typename graph_traits< Graph >::edge_descriptor >&
@@ -641,15 +618,15 @@ void r_c_shortest_paths(const Graph& g, const VertexIndexMap& vertex_index_map,
std::vector< typename graph_traits< Graph >::edge_descriptor > >
pareto_optimal_solutions;
std::vector< Resource_Container > pareto_optimal_resource_containers;
- r_c_shortest_paths_dispatch(g, vertex_index_map, edge_index_map, s, t,
+ r_c_shortest_paths_dispatch(g, vertex_index_map, s, t,
pareto_optimal_solutions, pareto_optimal_resource_containers, false, rc,
ref, dominance, default_r_c_shortest_paths_allocator(),
default_r_c_shortest_paths_visitor());
if (!pareto_optimal_solutions.empty())
{
- pareto_optimal_solution = pareto_optimal_solutions[0];
+ pareto_optimal_solution = std::move(pareto_optimal_solutions[0]);
pareto_optimal_resource_container
- = pareto_optimal_resource_containers[0];
+ = std::move(pareto_optimal_resource_containers[0]);
}
}
// r_c_shortest_paths
@@ -698,7 +675,7 @@ void check_r_c_path(const Graph& g,
b_is_a_path_at_all = true;
b_feasible = true;
b_correctly_extended = false;
- Resource_Container current_resource_levels = initial_resource_levels;
+ auto current_resource_levels = initial_resource_levels;
actual_final_resource_levels = current_resource_levels;
for (size_t i = 0; i < i_size_ed_vec_path; ++i)
{
diff --git a/test/r_c_shortest_paths_test.cpp b/test/r_c_shortest_paths_test.cpp
index 7a80d7c1c..4180d26ad 100644
--- a/test/r_c_shortest_paths_test.cpp
+++ b/test/r_c_shortest_paths_test.cpp
@@ -157,9 +157,8 @@ class ref_spptw
spp_spptw_res_cont& new_cont, const spp_spptw_res_cont& old_cont,
graph_traits< SPPRC_Example_Graph >::edge_descriptor ed) const
{
- const SPPRC_Example_Graph_Arc_Prop& arc_prop = get(edge_bundle, g)[ed];
- const SPPRC_Example_Graph_Vert_Prop& vert_prop
- = get(vertex_bundle, g)[target(ed, g)];
+ const auto& arc_prop = get(edge_bundle, g)[ed];
+ const auto& vert_prop = get(vertex_bundle, g)[target(ed, g)];
new_cont.cost = old_cont.cost + arc_prop.cost;
int& i_time = new_cont.time;
i_time = old_cont.time + arc_prop.time;
@@ -253,17 +252,15 @@ class ref_spptw_marked
const spp_spptw_marked_res_cont& old_cont,
graph_traits< SPPRC_Example_Graph >::edge_descriptor ed) const
{
- const graph_traits< SPPRC_Example_Graph >::vertex_descriptor dest
- = target(ed, g);
+ const auto dest = target(ed, g);
if (old_cont.marked.find(dest) != old_cont.marked.end())
{
return false;
}
- const SPPRC_Example_Graph_Arc_Prop& arc_prop = get(edge_bundle, g)[ed];
- const SPPRC_Example_Graph_Vert_Prop& vert_prop
- = get(vertex_bundle, g)[dest];
+ const auto& arc_prop = get(edge_bundle, g)[ed];
+ const auto& vert_prop = get(vertex_bundle, g)[dest];
new_cont.cost = old_cont.cost + arc_prop.cost;
new_cont.marked = old_cont.marked;
new_cont.marked.insert(dest);
@@ -363,8 +360,7 @@ int main(int, char*[])
{
for (int t = 0; t < 10; ++t)
{
- r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g),
- get(&SPPRC_Example_Graph_Arc_Prop::num, g), s, t, opt_solutions,
+ r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g), s, t, opt_solutions,
pareto_opt_rcs_no_rc, spp_no_rc_res_cont(0), ref_no_res_cont(),
dominance_no_res_cont(),
std::allocator< r_c_shortest_paths_label< SPPRC_Example_Graph,
@@ -522,8 +518,7 @@ int main(int, char*[])
{
for (int t = 0; t < 10; ++t)
{
- r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g),
- get(&SPPRC_Example_Graph_Arc_Prop::num, g), s, t,
+ r_c_shortest_paths(g, get(&SPPRC_Example_Graph_Vert_Prop::num, g), s, t,
opt_solutions_spptw, pareto_opt_rcs_spptw,
// be careful, do not simply take 0 as initial value for time
spp_spptw_res_cont(0, g[s].eat), ref_spptw(), dominance_spptw(),
@@ -684,8 +679,7 @@ int main(int, char*[])
std::vector< graph_traits< SPPRC_Example_Graph >::edge_descriptor >
opt_solution;
spp_spptw_res_cont pareto_opt_rc;
- r_c_shortest_paths(g2, get(&SPPRC_Example_Graph_Vert_Prop::num, g2),
- get(&SPPRC_Example_Graph_Arc_Prop::num, g2), 0, 3, opt_solution,
+ r_c_shortest_paths(g2, get(&SPPRC_Example_Graph_Vert_Prop::num, g2), 0, 3, opt_solution,
pareto_opt_rc, spp_spptw_res_cont(0, 0), ref_spptw(), dominance_spptw(),
std::allocator< r_c_shortest_paths_label< SPPRC_Example_Graph,
spp_spptw_res_cont > >(),
@@ -729,8 +723,7 @@ int main(int, char*[])
graph_traits< SPPRC_Example_Graph >::vertex_descriptor g3_source = 0,
g3_target = 1;
- r_c_shortest_paths(g3, get(&SPPRC_Example_Graph_Vert_Prop::num, g3),
- get(&SPPRC_Example_Graph_Arc_Prop::num, g3), g3_source, g3_target,
+ r_c_shortest_paths(g3, get(&SPPRC_Example_Graph_Vert_Prop::num, g3), g3_source, g3_target,
pareto_opt_marked_solutions, pareto_opt_marked_resource_containers,
spp_spptw_marked_res_cont(0, 0, 0), ref_spptw_marked(),
dominance_spptw_marked(),
diff --git a/test/rcsp_custom_vertex_id.cpp b/test/rcsp_custom_vertex_id.cpp
index c5e5ebf24..da61f71f2 100644
--- a/test/rcsp_custom_vertex_id.cpp
+++ b/test/rcsp_custom_vertex_id.cpp
@@ -113,8 +113,7 @@ int main()
OptPath op;
ParetoOpt ol;
- r_c_shortest_paths(g, get(&VertexProperty::id, g),
- get(&EdgeProperty::id, g), v1, v2, op, ol, ResourceCont(5), LabelExt(),
+ r_c_shortest_paths(g, get(&VertexProperty::id, g), v1, v2, op, ol, ResourceCont(5), LabelExt(),
LabelDom(),
allocator< r_c_shortest_paths_label< Graph, ResourceCont > >(),
default_r_c_shortest_paths_visitor());
diff --git a/test/rcsp_single_solution.cpp b/test/rcsp_single_solution.cpp
index 765a7f373..f7b948019 100644
--- a/test/rcsp_single_solution.cpp
+++ b/test/rcsp_single_solution.cpp
@@ -75,13 +75,12 @@ struct extension_function {
resource_container run_rcsp(const graph_type& graph, vertex_type source, vertex_type target) {
const auto vertex_index_map = boost::get(boost::vertex_index, graph);
- const auto edge_index_map = boost::get(boost::edge_all, graph);
boost::default_r_c_shortest_paths_allocator label_allocator{};
path_type single_solution;
resource_container single_resource(0, 0);
const resource_container start_resource(0, 0);
- boost::r_c_shortest_paths(graph, vertex_index_map, edge_index_map, source, target, single_solution, single_resource,
+ boost::r_c_shortest_paths(graph, vertex_index_map, source, target, single_solution, single_resource,
start_resource, extension_function{}, dominance{}, label_allocator,
boost::default_r_c_shortest_paths_visitor());