#ifndef SERVER_API_TILE_PARAMETERS_GRAMMAR_HPP #define SERVER_API_TILE_PARAMETERS_GRAMMAR_HPP #include "engine/api/tile_parameters.hpp" #include "engine/hint.hpp" #include "engine/polyline_compressor.hpp" #include #include #include namespace osrm { namespace server { namespace api { namespace { namespace ph = boost::phoenix; namespace qi = boost::spirit::qi; } template struct TileParametersGrammar final : boost::spirit::qi::grammar { TileParametersGrammar() : TileParametersGrammar::base_type(root_rule) { root_rule = qi::lit("tile(") > qi::uint_[ph::bind(&engine::api::TileParameters::x, qi::_r1) = qi::_1] > ',' > qi::uint_[ph::bind(&engine::api::TileParameters::y, qi::_r1) = qi::_1] > ',' > qi::uint_[ph::bind(&engine::api::TileParameters::z, qi::_r1) = qi::_1] > qi::lit(").mvt"); } private: qi::rule root_rule; }; } } } #endif