#pragma once #include namespace flask { enum class ParamType { INVALID, INT, UINT, DOUBLE, STRING, PATH, MAX }; struct routing_params { std::vector int_params; std::vector uint_params; std::vector double_params; std::vector string_params; template T get(unsigned) const; }; template<> int64_t routing_params::get(unsigned index) const { return int_params.at(index); } template<> uint64_t routing_params::get(unsigned index) const { return uint_params.at(index); } template<> double routing_params::get(unsigned index) const { return double_params.at(index); } template<> std::string routing_params::get(unsigned index) const { return string_params.at(index); } }