From 4e21baff4365be47a7e31bd7b29fade1b41b84f0 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Wed, 26 May 2021 18:26:00 -0700 Subject: [PATCH] Simplify get_units --- include/fmt/chrono.h | 78 ++++++++++++-------------------------------- 1 file changed, 20 insertions(+), 58 deletions(-) diff --git a/include/fmt/chrono.h b/include/fmt/chrono.h index baaf4ae9..7aae7896 100644 --- a/include/fmt/chrono.h +++ b/include/fmt/chrono.h @@ -501,66 +501,28 @@ template struct formatter { FMT_BEGIN_DETAIL_NAMESPACE -template FMT_CONSTEXPR const char* get_units() { +template FMT_CONSTEXPR inline const char* get_units() { + if (std::is_same::value) return "as"; + if (std::is_same::value) return "fs"; + if (std::is_same::value) return "ps"; + if (std::is_same::value) return "ns"; + if (std::is_same::value) return "µs"; + if (std::is_same::value) return "ms"; + if (std::is_same::value) return "cs"; + if (std::is_same::value) return "ds"; + if (std::is_same>::value) return "s"; + if (std::is_same::value) return "das"; + if (std::is_same::value) return "hs"; + if (std::is_same::value) return "ks"; + if (std::is_same::value) return "Ms"; + if (std::is_same::value) return "Gs"; + if (std::is_same::value) return "Ts"; + if (std::is_same::value) return "Ps"; + if (std::is_same::value) return "Es"; + if (std::is_same>::value) return "m"; + if (std::is_same>::value) return "h"; return nullptr; } -template <> FMT_CONSTEXPR inline const char* get_units() { - return "as"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "fs"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "ps"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "ns"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "µs"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "ms"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "cs"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "ds"; -} -template <> FMT_CONSTEXPR inline const char* get_units>() { - return "s"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "das"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "hs"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "ks"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "Ms"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "Gs"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "Ts"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "Ps"; -} -template <> FMT_CONSTEXPR inline const char* get_units() { - return "Es"; -} -template <> FMT_CONSTEXPR inline const char* get_units>() { - return "m"; -} -template <> FMT_CONSTEXPR inline const char* get_units>() { - return "h"; -} enum class numeric_system { standard,