diff --git a/include/engine/api/base_api.hpp b/include/engine/api/base_api.hpp index ab1e9f2e1..283a77680 100644 --- a/include/engine/api/base_api.hpp +++ b/include/engine/api/base_api.hpp @@ -18,12 +18,10 @@ namespace engine namespace api { -namespace detail -{ -template class BaseAPI_ +class BaseAPI { public: - BaseAPI_(const datafacade::BaseDataFacade &facade_, const BaseParameters ¶meters_) + BaseAPI(const datafacade::BaseDataFacade &facade_, const BaseParameters ¶meters_) : facade(facade_), parameters(parameters_) { } @@ -59,12 +57,9 @@ template class BaseAPI_ const datafacade::BaseDataFacade &facade; const BaseParameters ¶meters; }; -} -// Only expose non-templated version -using BaseAPI = detail::BaseAPI_; -} -} -} +} // ns api +} // ns engine +} // ns osrm #endif diff --git a/include/engine/api/route_api.hpp b/include/engine/api/route_api.hpp index ebe7a8979..ee6bfdf71 100644 --- a/include/engine/api/route_api.hpp +++ b/include/engine/api/route_api.hpp @@ -24,15 +24,11 @@ namespace engine namespace api { -namespace detail +class RouteAPI final : public BaseAPI { -template class RouteAPI_ : public BaseAPI_> -{ - using BaseT = BaseAPI_>; - public: - RouteAPI_(const datafacade::BaseDataFacade &facade_, const RouteParameters ¶meters_) - : BaseT(facade_, parameters_), parameters(parameters_) + RouteAPI(const datafacade::BaseDataFacade &facade_, const RouteParameters ¶meters_) + : BaseAPI(facade_, parameters_), parameters(parameters_) { } @@ -53,7 +49,7 @@ template class RouteAPI_ : public BaseAPI_> raw_route.alt_source_traversed_in_reverse, raw_route.alt_target_traversed_in_reverse); } - response.values["waypoints"] = BaseT::MakeWaypoints(raw_route.segment_end_coordinates); + response.values["waypoints"] = BaseAPI::MakeWaypoints(raw_route.segment_end_coordinates); response.values["routes"] = std::move(routes); response.values["code"] = "ok"; } @@ -90,15 +86,16 @@ template class RouteAPI_ : public BaseAPI_> const bool reversed_target = target_traversed_in_reverse[idx]; auto leg_geometry = guidance::assembleGeometry( - BaseT::facade, path_data, phantoms.source_phantom, phantoms.target_phantom); - auto leg = guidance::assembleLeg(BaseT::facade, path_data, leg_geometry, phantoms.source_phantom, - phantoms.target_phantom, reversed_source, reversed_target); + BaseAPI::facade, path_data, phantoms.source_phantom, phantoms.target_phantom); + auto leg = guidance::assembleLeg(BaseAPI::facade, path_data, leg_geometry, + phantoms.source_phantom, phantoms.target_phantom, + reversed_source, reversed_target); if (parameters.steps) { - leg.steps = guidance::assembleSteps(BaseT::facade, - path_data, leg_geometry, phantoms.source_phantom, phantoms.target_phantom, - reversed_source, reversed_target); + leg.steps = guidance::assembleSteps( + BaseAPI::facade, path_data, leg_geometry, phantoms.source_phantom, + phantoms.target_phantom, reversed_source, reversed_target); } leg_geometries.push_back(std::move(leg_geometry)); @@ -123,13 +120,9 @@ template class RouteAPI_ : public BaseAPI_> const RouteParameters ¶meters; }; -} -// Expose non-templated version -using RouteAPI = detail::RouteAPI_; - -} -} -} +} // ns api +} // ns engine +} // ns osrm #endif diff --git a/include/engine/api/table_api.hpp b/include/engine/api/table_api.hpp index 2f9a9f8ae..33c2f0d40 100644 --- a/include/engine/api/table_api.hpp +++ b/include/engine/api/table_api.hpp @@ -24,15 +24,11 @@ namespace engine namespace api { -namespace detail +class TableAPI final : public BaseAPI { -template class TableAPI_ : public BaseAPI_> -{ - using BaseT = BaseAPI_>; - public: - TableAPI_(const datafacade::BaseDataFacade &facade_, const TableParameters ¶meters_) - : BaseT(facade_, parameters_), parameters(parameters_) + TableAPI(const datafacade::BaseDataFacade &facade_, const TableParameters ¶meters_) + : BaseAPI(facade_, parameters_), parameters(parameters_) { } @@ -69,7 +65,7 @@ template class TableAPI_ : public BaseAPI_> for (; phantom_iter != phantoms.end() && coordinate_iter != parameters.coordinates.end(); ++phantom_iter, ++coordinate_iter) { - json_waypoints.values.push_back(BaseT::MakeWaypoint(*coordinate_iter, *phantom_iter)); + json_waypoints.values.push_back(BaseAPI::MakeWaypoint(*coordinate_iter, *phantom_iter)); } return json_waypoints; } @@ -83,7 +79,7 @@ template class TableAPI_ : public BaseAPI_> { BOOST_ASSERT(idx < phantoms.size() && idx < parameters.coordinates.size()); json_waypoints.values.push_back( - BaseT::MakeWaypoint(parameters.coordinates[idx], phantoms[idx])); + BaseAPI::MakeWaypoint(parameters.coordinates[idx], phantoms[idx])); } return json_waypoints; } @@ -106,12 +102,9 @@ template class TableAPI_ : public BaseAPI_> const TableParameters ¶meters; }; -} -// Expose non-templated version -using TableAPI = detail::TableAPI_; -} -} -} +} // ns api +} // ns engine +} // ns osrm #endif