remove CRTP leftovers in search algorithms

This commit is contained in:
Moritz Kobitzsch 2017-01-05 10:56:23 +01:00 committed by Patrick Niklaus
parent a48cf58468
commit 8c36012653
6 changed files with 11 additions and 16 deletions

View File

@ -26,10 +26,9 @@ const double VIAPATH_EPSILON = 0.15; // alternative at most 15% longer
const double VIAPATH_GAMMA = 0.75; // alternative shares at most 75% with the shortest. const double VIAPATH_GAMMA = 0.75; // alternative shares at most 75% with the shortest.
template <class DataFacadeT> template <class DataFacadeT>
class AlternativeRouting final class AlternativeRouting final : private BasicRoutingInterface<DataFacadeT>
: private BasicRoutingInterface<DataFacadeT, AlternativeRouting<DataFacadeT>>
{ {
using super = BasicRoutingInterface<DataFacadeT, AlternativeRouting<DataFacadeT>>; using super = BasicRoutingInterface<DataFacadeT>;
using EdgeData = typename DataFacadeT::EdgeData; using EdgeData = typename DataFacadeT::EdgeData;
using QueryHeap = SearchEngineData::QueryHeap; using QueryHeap = SearchEngineData::QueryHeap;
using SearchSpaceEdge = std::pair<NodeID, NodeID>; using SearchSpaceEdge = std::pair<NodeID, NodeID>;

View File

@ -24,10 +24,9 @@ namespace routing_algorithms
/// This variation is only an optimazation for graphs with slow queries, for example /// This variation is only an optimazation for graphs with slow queries, for example
/// not fully contracted graphs. /// not fully contracted graphs.
template <class DataFacadeT> template <class DataFacadeT>
class DirectShortestPathRouting final class DirectShortestPathRouting final : public BasicRoutingInterface<DataFacadeT>
: public BasicRoutingInterface<DataFacadeT, DirectShortestPathRouting<DataFacadeT>>
{ {
using super = BasicRoutingInterface<DataFacadeT, DirectShortestPathRouting<DataFacadeT>>; using super = BasicRoutingInterface<DataFacadeT>;
using QueryHeap = SearchEngineData::QueryHeap; using QueryHeap = SearchEngineData::QueryHeap;
SearchEngineData &engine_working_data; SearchEngineData &engine_working_data;

View File

@ -20,10 +20,9 @@ namespace routing_algorithms
{ {
template <class DataFacadeT> template <class DataFacadeT>
class ManyToManyRouting final class ManyToManyRouting final : public BasicRoutingInterface<DataFacadeT>
: public BasicRoutingInterface<DataFacadeT, ManyToManyRouting<DataFacadeT>>
{ {
using super = BasicRoutingInterface<DataFacadeT, ManyToManyRouting<DataFacadeT>>; using super = BasicRoutingInterface<DataFacadeT>;
using QueryHeap = SearchEngineData::QueryHeap; using QueryHeap = SearchEngineData::QueryHeap;
SearchEngineData &engine_working_data; SearchEngineData &engine_working_data;

View File

@ -37,10 +37,9 @@ static const constexpr double MATCHING_BETA = 10;
constexpr static const double MAX_DISTANCE_DELTA = 2000.; constexpr static const double MAX_DISTANCE_DELTA = 2000.;
// implements a hidden markov model map matching algorithm // implements a hidden markov model map matching algorithm
template <class DataFacadeT> template <class DataFacadeT> class MapMatching final : public BasicRoutingInterface<DataFacadeT>
class MapMatching final : public BasicRoutingInterface<DataFacadeT, MapMatching<DataFacadeT>>
{ {
using super = BasicRoutingInterface<DataFacadeT, MapMatching<DataFacadeT>>; using super = BasicRoutingInterface<DataFacadeT>;
using QueryHeap = SearchEngineData::QueryHeap; using QueryHeap = SearchEngineData::QueryHeap;
SearchEngineData &engine_working_data; SearchEngineData &engine_working_data;
map_matching::EmissionLogProbability default_emission_log_probability; map_matching::EmissionLogProbability default_emission_log_probability;

View File

@ -29,7 +29,7 @@ namespace engine
namespace routing_algorithms namespace routing_algorithms
{ {
template <class DataFacadeT, class Derived> class BasicRoutingInterface template <class DataFacadeT> class BasicRoutingInterface
{ {
private: private:
using EdgeData = typename DataFacadeT::EdgeData; using EdgeData = typename DataFacadeT::EdgeData;

View File

@ -19,10 +19,9 @@ namespace routing_algorithms
{ {
template <class DataFacadeT> template <class DataFacadeT>
class ShortestPathRouting final class ShortestPathRouting final : public BasicRoutingInterface<DataFacadeT>
: public BasicRoutingInterface<DataFacadeT, ShortestPathRouting<DataFacadeT>>
{ {
using super = BasicRoutingInterface<DataFacadeT, ShortestPathRouting<DataFacadeT>>; using super = BasicRoutingInterface<DataFacadeT>;
using QueryHeap = SearchEngineData::QueryHeap; using QueryHeap = SearchEngineData::QueryHeap;
SearchEngineData &engine_working_data; SearchEngineData &engine_working_data;
const static constexpr bool DO_NOT_FORCE_LOOP = false; const static constexpr bool DO_NOT_FORCE_LOOP = false;