Fix grammar constraint and enable all plugin links
This commit is contained in:
		
							parent
							
								
									66cb69d1d2
								
							
						
					
					
						commit
						bb5ca42114
					
				| @ -21,7 +21,6 @@ namespace api | ||||
| namespace detail | ||||
| { | ||||
| template <typename T> using is_parameter_t = std::is_base_of<engine::api::BaseParameters, T>; | ||||
| template <typename T> using is_grammar_t = std::is_base_of<BaseParametersGrammar, T>; | ||||
| } // ns detail
 | ||||
| 
 | ||||
| // Starts parsing and iter and modifies it until iter == end or parsing failed
 | ||||
|  | ||||
| @ -3,10 +3,8 @@ | ||||
| #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 <type_traits> | ||||
| #include "server/api/trip_parameter_grammar.hpp" | ||||
| #include "server/api/match_parameter_grammar.hpp" | ||||
| 
 | ||||
| namespace osrm | ||||
| { | ||||
| @ -17,11 +15,12 @@ namespace api | ||||
| 
 | ||||
| namespace detail | ||||
| { | ||||
| template <typename T> using is_grammar_t = std::is_base_of<BaseParametersGrammar, T>; | ||||
| 
 | ||||
| template <typename ParameterT, | ||||
|           typename GrammarT, | ||||
|           typename std::enable_if<detail::is_parameter_t<ParameterT>::value, int>::type = 0, | ||||
|           typename std::enable_if<detail::is_grammar_t<ParameterT>::value, int>::type = 0> | ||||
|           typename std::enable_if<detail::is_grammar_t<GrammarT>::value, int>::type = 0> | ||||
| boost::optional<ParameterT> parseParameters(std::string::iterator &iter, std::string::iterator end) | ||||
| { | ||||
|     GrammarT grammar; | ||||
| @ -57,20 +56,19 @@ boost::optional<engine::api::NearestParameters> parseParameters(std::string::ite | ||||
|                                                                                              end); | ||||
| } | ||||
| 
 | ||||
| // template <>
 | ||||
| // boost::optional<engine::api::TripParameters> parseParameters(std::string::iterator &iter,
 | ||||
| //                                                             std::string::iterator end)
 | ||||
| //{
 | ||||
| //    return detail::parseParameters<engine::api::TripParameters, TripParametersGrammar>(iter, end);
 | ||||
| //}
 | ||||
| //
 | ||||
| // template <>
 | ||||
| // boost::optional<engine::api::MatchParameters> parseParameters(std::string::iterator &iter,
 | ||||
| //                                                              std::string::iterator end)
 | ||||
| //{
 | ||||
| //    return detail::parseParameters<engine::api::MatchParameters, MatchParametersGrammar>(iter,
 | ||||
| //    end);
 | ||||
| //}
 | ||||
| template <> | ||||
| boost::optional<engine::api::TripParameters> parseParameters(std::string::iterator &iter, | ||||
|                                                              std::string::iterator end) | ||||
| { | ||||
|     return detail::parseParameters<engine::api::TripParameters, TripParametersGrammar>(iter, end); | ||||
| } | ||||
| 
 | ||||
| template <> | ||||
| boost::optional<engine::api::MatchParameters> parseParameters(std::string::iterator &iter, | ||||
|                                                               std::string::iterator end) | ||||
| { | ||||
|     return detail::parseParameters<engine::api::MatchParameters, MatchParametersGrammar>(iter, end); | ||||
| } | ||||
| 
 | ||||
| } // ns api
 | ||||
| } // ns server
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user