11USERVER_NAMESPACE_BEGIN
 
   22struct TypeNameHelper {
 
   27struct TypeNameHelper<std::string> {
 
   28  static std::string Get() { 
return "std::string"; }
 
   32struct TypeNameHelper<std::chrono::nanoseconds> {
 
   33  static std::string Get() { 
return "std::chrono::nanoseconds"; }
 
   37struct TypeNameHelper<std::chrono::microseconds> {
 
   38  static std::string Get() { 
return "std::chrono::microseconds"; }
 
   42struct TypeNameHelper<std::chrono::milliseconds> {
 
   43  static std::string Get() { 
return "std::chrono::milliseconds"; }
 
   47struct TypeNameHelper<std::chrono::seconds> {
 
   48  static std::string Get() { 
return "std::chrono::seconds"; }
 
   52struct TypeNameHelper<std::chrono::minutes> {
 
   53  static std::string Get() { 
return "std::chrono::minutes"; }
 
   57struct TypeNameHelper<std::chrono::hours> {
 
   58  static std::string Get() { 
return "std::chrono::hours"; }
 
   62struct TypeNameHelper<std::chrono::steady_clock::time_point> {
 
   63  static std::string Get() { 
return "std::chrono::steady_clock::time_point"; }
 
   67struct TypeNameHelper<std::chrono::system_clock::time_point> {
 
   68  static std::string Get() { 
return "std::chrono::system_clock::time_point"; }
 
   82  return detail::TypeNameHelper<T>::Get();