remove CRTP leftovers in search algorithms
This commit is contained in:
parent
a48cf58468
commit
8c36012653
@ -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>;
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user