From 981b7accb3810f95700a5fbab455f448d37acf9a Mon Sep 17 00:00:00 2001 From: whytro Date: Tue, 21 Mar 2023 20:52:25 +0900 Subject: [PATCH] Adjusted handling/init of default_radius value --- include/engine/plugins/match.hpp | 6 +++--- include/engine/plugins/nearest.hpp | 2 +- include/engine/plugins/plugin_base.hpp | 9 ++++++++- include/engine/plugins/table.hpp | 2 +- include/engine/plugins/trip.hpp | 6 +++--- include/engine/plugins/viaroute.hpp | 2 +- src/engine/plugins/nearest.cpp | 6 +++--- src/engine/plugins/table.cpp | 6 +++--- src/engine/plugins/viaroute.cpp | 6 +++--- 9 files changed, 26 insertions(+), 19 deletions(-) diff --git a/include/engine/plugins/match.hpp b/include/engine/plugins/match.hpp index b31dc812a..6880edc83 100644 --- a/include/engine/plugins/match.hpp +++ b/include/engine/plugins/match.hpp @@ -22,11 +22,11 @@ class MatchPlugin : public BasePlugin MatchPlugin(const int max_locations_map_matching, const double max_radius_map_matching, - const boost::optional default_radius) - : max_locations_map_matching(max_locations_map_matching), + boost::optional default_radius) + : BasePlugin(std::move(default_radius)) + , max_locations_map_matching(max_locations_map_matching), max_radius_map_matching(max_radius_map_matching) { - this->default_radius = default_radius; } Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, diff --git a/include/engine/plugins/nearest.hpp b/include/engine/plugins/nearest.hpp index 415639b2c..7e9fa22ff 100644 --- a/include/engine/plugins/nearest.hpp +++ b/include/engine/plugins/nearest.hpp @@ -13,7 +13,7 @@ namespace osrm::engine::plugins class NearestPlugin final : public BasePlugin { public: - explicit NearestPlugin(const int max_results, const boost::optional default_radius); + explicit NearestPlugin(const int max_results, boost::optional default_radius); Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, const api::NearestParameters ¶ms, diff --git a/include/engine/plugins/plugin_base.hpp b/include/engine/plugins/plugin_base.hpp index 729e8063a..abfb82ec0 100644 --- a/include/engine/plugins/plugin_base.hpp +++ b/include/engine/plugins/plugin_base.hpp @@ -27,6 +27,13 @@ namespace osrm::engine::plugins class BasePlugin { protected: + BasePlugin() = default; + + BasePlugin(boost::optional default_radius_) + : default_radius(std::move(default_radius_)) + { + } + bool CheckAllCoordinates(const std::vector &coordinates) const { return !std::any_of( @@ -321,7 +328,7 @@ class BasePlugin std::to_string(missing_index); } - boost::optional default_radius; + const boost::optional default_radius; }; } // namespace osrm::engine::plugins diff --git a/include/engine/plugins/table.hpp b/include/engine/plugins/table.hpp index e4cf9a33c..4c427df79 100644 --- a/include/engine/plugins/table.hpp +++ b/include/engine/plugins/table.hpp @@ -15,7 +15,7 @@ class TablePlugin final : public BasePlugin { public: explicit TablePlugin(const int max_locations_distance_table, - const boost::optional default_radius); + boost::optional default_radius); Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, const api::TableParameters ¶ms, diff --git a/include/engine/plugins/trip.hpp b/include/engine/plugins/trip.hpp index 4b231ca06..40a0ee244 100644 --- a/include/engine/plugins/trip.hpp +++ b/include/engine/plugins/trip.hpp @@ -32,10 +32,10 @@ class TripPlugin final : public BasePlugin const bool roundtrip) const; public: - explicit TripPlugin(const int max_locations_trip_, const boost::optional default_radius) - : max_locations_trip(max_locations_trip_) + explicit TripPlugin(const int max_locations_trip_, boost::optional default_radius) + : BasePlugin(std::move(default_radius)) + , max_locations_trip(max_locations_trip_) { - this->default_radius = default_radius; } Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, diff --git a/include/engine/plugins/viaroute.hpp b/include/engine/plugins/viaroute.hpp index 35f27af05..e036ac90e 100644 --- a/include/engine/plugins/viaroute.hpp +++ b/include/engine/plugins/viaroute.hpp @@ -27,7 +27,7 @@ class ViaRoutePlugin final : public BasePlugin public: explicit ViaRoutePlugin(int max_locations_viaroute, int max_alternatives, - const boost::optional default_radius); + boost::optional default_radius); Status HandleRequest(const RoutingAlgorithmsInterface &algorithms, const api::RouteParameters &route_parameters, diff --git a/src/engine/plugins/nearest.cpp b/src/engine/plugins/nearest.cpp index a4f3233d4..9263fdb1a 100644 --- a/src/engine/plugins/nearest.cpp +++ b/src/engine/plugins/nearest.cpp @@ -10,10 +10,10 @@ namespace osrm::engine::plugins { -NearestPlugin::NearestPlugin(const int max_results_, const boost::optional default_radius_) - : max_results{max_results_} +NearestPlugin::NearestPlugin(const int max_results_, boost::optional default_radius_) + : BasePlugin(std::move(default_radius_)) + , max_results{max_results_} { - this->default_radius = default_radius_; } Status NearestPlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms, diff --git a/src/engine/plugins/table.cpp b/src/engine/plugins/table.cpp index 38b6658c4..ac65def58 100644 --- a/src/engine/plugins/table.cpp +++ b/src/engine/plugins/table.cpp @@ -15,10 +15,10 @@ namespace osrm::engine::plugins { TablePlugin::TablePlugin(const int max_locations_distance_table, - const boost::optional default_radius) - : max_locations_distance_table(max_locations_distance_table) + boost::optional default_radius) + : BasePlugin(std::move(default_radius)) + , max_locations_distance_table(max_locations_distance_table) { - this->default_radius = default_radius; } Status TablePlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms, diff --git a/src/engine/plugins/viaroute.cpp b/src/engine/plugins/viaroute.cpp index 062b57675..e2135c0bd 100644 --- a/src/engine/plugins/viaroute.cpp +++ b/src/engine/plugins/viaroute.cpp @@ -17,10 +17,10 @@ namespace osrm::engine::plugins ViaRoutePlugin::ViaRoutePlugin(int max_locations_viaroute, int max_alternatives, - const boost::optional default_radius) - : max_locations_viaroute(max_locations_viaroute), max_alternatives(max_alternatives) + boost::optional default_radius) + : BasePlugin(std::move(default_radius)) + , max_locations_viaroute(max_locations_viaroute), max_alternatives(max_alternatives) { - this->default_radius = default_radius; } Status ViaRoutePlugin::HandleRequest(const RoutingAlgorithmsInterface &algorithms,