Enable ManyToManySearch in MLD

This commit is contained in:
Michael Krasnyk
2017-06-27 16:56:43 +02:00
committed by Patrick Niklaus
parent 54367bfa98
commit 0fd71260d3
6 changed files with 40 additions and 14 deletions
+3
View File
@@ -102,6 +102,9 @@ template <> struct HasShortestPathSearch<mld::Algorithm> final : std::true_type
template <> struct HasMapMatching<mld::Algorithm> final : std::true_type
{
};
template <> struct HasManyToManySearch<mld::Algorithm> final : std::true_type
{
};
template <> struct HasGetTileTurns<mld::Algorithm> final : std::true_type
{
};
-1
View File
@@ -42,7 +42,6 @@ class TableAPI final : public BaseAPI
{
auto number_of_sources = parameters.sources.size();
auto number_of_destinations = parameters.destinations.size();
;
// symmetric case
if (parameters.sources.empty())
+1 -12
View File
@@ -157,8 +157,7 @@ RoutingAlgorithms<Algorithm>::ManyToManySearch(const std::vector<PhantomNode> &p
const std::vector<std::size_t> &source_indices,
const std::vector<std::size_t> &target_indices) const
{
return routing_algorithms::ch::manyToManySearch(
heaps, facade, phantom_nodes, source_indices, target_indices);
return manyToManySearch(heaps, facade, phantom_nodes, source_indices, target_indices);
}
template <typename Algorithm>
@@ -211,16 +210,6 @@ InternalManyRoutesResult inline RoutingAlgorithms<
{
throw util::exception("AlternativePathSearch is not implemented");
}
template <>
inline std::vector<EdgeWeight>
RoutingAlgorithms<routing_algorithms::mld::Algorithm>::ManyToManySearch(
const std::vector<PhantomNode> &,
const std::vector<std::size_t> &,
const std::vector<std::size_t> &) const
{
throw util::exception("ManyToManySearch is not implemented");
}
}
}
@@ -26,6 +26,16 @@ manyToManySearch(SearchEngineData<Algorithm> &engine_working_data,
const std::vector<std::size_t> &target_indices);
} // namespace ch
namespace mld
{
std::vector<EdgeWeight>
manyToManySearch(SearchEngineData<Algorithm> &engine_working_data,
const datafacade::ContiguousInternalMemoryDataFacade<Algorithm> &facade,
const std::vector<PhantomNode> &phantom_nodes,
const std::vector<std::size_t> &source_indices,
const std::vector<std::size_t> &target_indices);
} // namespace mld
} // namespace routing_algorithms
} // namespace engine
} // namespace osrm