#ifndef OSRM_ENGINE_ALGORITHM_HPP #define OSRM_ENGINE_ALGORITHM_HPP #include namespace osrm { namespace engine { namespace algorithm { // Contraction Hiearchy struct CH final { }; // Contraction Hiearchy with core struct CoreCH final { }; // Multi-Level Dijkstra struct MLD final { }; template const char *name(); template <> inline const char *name() { return "CH"; } template <> inline const char *name() { return "CoreCH"; } template <> inline const char *name() { return "MLD"; } } namespace algorithm_trais { template struct HasAlternativePathSearch final : std::false_type { }; template struct HasShortestPathSearch final : std::false_type { }; template struct HasDirectShortestPathSearch final : std::false_type { }; template struct HasMapMatching final : std::false_type { }; template struct HasManyToManySearch final : std::false_type { }; template struct HasGetTileTurns final : std::false_type { }; template <> struct HasAlternativePathSearch final : std::true_type { }; template <> struct HasShortestPathSearch final : std::true_type { }; template <> struct HasDirectShortestPathSearch final : std::true_type { }; template <> struct HasMapMatching final : std::true_type { }; template <> struct HasManyToManySearch final : std::true_type { }; template <> struct HasGetTileTurns final : std::true_type { }; // disbaled because of perfomance reasons template <> struct HasAlternativePathSearch final : std::false_type { }; template <> struct HasManyToManySearch final : std::false_type { }; template <> struct HasShortestPathSearch final : std::true_type { }; template <> struct HasDirectShortestPathSearch final : std::true_type { }; template <> struct HasMapMatching final : std::true_type { }; template <> struct HasGetTileTurns final : std::true_type { }; // disbaled because of perfomance reasons template <> struct HasAlternativePathSearch final : std::false_type { }; template <> struct HasManyToManySearch final : std::false_type { }; template <> struct HasShortestPathSearch final : std::false_type { }; template <> struct HasDirectShortestPathSearch final : std::false_type { }; template <> struct HasMapMatching final : std::false_type { }; template <> struct HasGetTileTurns final : std::false_type { }; } } } #endif