#include "server/api/parameters_parser.hpp" #include "server/api/route_parameters_grammar.hpp" #include "server/api/table_parameter_grammar.hpp" #include "server/api/nearest_parameter_grammar.hpp" //#include "server/api/trip_parameter_grammar.hpp" //#include "server/api/match_parameter_grammar.hpp" #include namespace osrm { namespace server { namespace api { namespace detail { template boost::optional parseParameters(std::string::iterator &iter, std::string::iterator end) { GrammarT grammar; const auto result = boost::spirit::qi::parse(iter, end, grammar); boost::optional parameters; if (result && iter == end) parameters = std::move(grammar.parameters); return parameters; } } // ns detail template <> boost::optional parseParameters(std::string::iterator &iter, std::string::iterator end) { return detail::parseParameters(iter, end); } template <> boost::optional parseParameters(std::string::iterator &iter, std::string::iterator end) { return detail::parseParameters(iter, end); } template <> boost::optional parseParameters(std::string::iterator &iter, std::string::iterator end) { return detail::parseParameters(iter, end); } //template <> //boost::optional parseParameters(std::string::iterator &iter, // std::string::iterator end) //{ // return detail::parseParameters(iter, end); //} // //template <> //boost::optional parseParameters(std::string::iterator &iter, // std::string::iterator end) //{ // return detail::parseParameters(iter, end); //} } // ns api } // ns server } // ns osrm