2014-11-28 09:33:08 -05:00
|
|
|
#ifndef MANY_TO_MANY_ROUTING_HPP
|
|
|
|
#define MANY_TO_MANY_ROUTING_HPP
|
2014-05-16 10:09:40 -04:00
|
|
|
|
2017-01-09 15:40:33 -05:00
|
|
|
#include "engine/algorithm.hpp"
|
2017-07-13 09:05:08 -04:00
|
|
|
#include "engine/datafacade.hpp"
|
2016-01-02 11:13:44 -05:00
|
|
|
#include "engine/search_engine_data.hpp"
|
2014-05-16 10:09:40 -04:00
|
|
|
|
2017-02-24 20:24:21 -05:00
|
|
|
#include "util/typedefs.hpp"
|
2014-05-16 10:09:40 -04:00
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
2016-01-05 10:51:13 -05:00
|
|
|
namespace osrm
|
|
|
|
{
|
|
|
|
namespace engine
|
|
|
|
{
|
2017-02-24 20:24:21 -05:00
|
|
|
namespace routing_algorithms
|
2014-05-16 10:09:40 -04:00
|
|
|
{
|
|
|
|
|
2017-06-30 17:45:00 -04:00
|
|
|
template <typename Algorithm>
|
2017-09-20 14:17:04 -04:00
|
|
|
std::vector<EdgeDuration> manyToManySearch(SearchEngineData<Algorithm> &engine_working_data,
|
|
|
|
const DataFacade<Algorithm> &facade,
|
|
|
|
const std::vector<PhantomNode> &phantom_nodes,
|
|
|
|
std::vector<std::size_t> source_indices,
|
|
|
|
std::vector<std::size_t> target_indices);
|
|
|
|
|
|
|
|
namespace mld
|
|
|
|
{
|
|
|
|
|
|
|
|
template <bool DIRECTION>
|
|
|
|
std::vector<EdgeDuration> oneToManySearch(SearchEngineData<Algorithm> &engine_working_data,
|
|
|
|
const DataFacade<Algorithm> &facade,
|
|
|
|
const std::vector<PhantomNode> &phantom_nodes,
|
|
|
|
std::size_t phantom_index,
|
|
|
|
std::vector<std::size_t> phantom_indices);
|
|
|
|
|
|
|
|
} // mld
|
2017-06-27 10:56:43 -04:00
|
|
|
|
2017-01-05 06:18:45 -05:00
|
|
|
} // namespace routing_algorithms
|
|
|
|
} // namespace engine
|
|
|
|
} // namespace osrm
|
2016-01-05 10:51:13 -05:00
|
|
|
|
2014-05-16 10:09:40 -04:00
|
|
|
#endif
|