diff --git a/3party/opening_hours/opening_hours.cpp b/3party/opening_hours/opening_hours.cpp index 81f7fd0997..ea603b43fc 100644 --- a/3party/opening_hours/opening_hours.cpp +++ b/3party/opening_hours/opening_hours.cpp @@ -96,6 +96,14 @@ class StreamFlagsKeeper }; template +constexpr bool IsChar(TNumber) noexcept +{ + return std::is_same::value || + std::is_same::value || + std::is_same::value; +}; + +template ::type = nullptr> void PrintPaddedNumber(std::ostream & ost, TNumber const number, uint32_t const padding = 1) { static_assert(std::is_integral::value, "number should be of integral type."); @@ -103,6 +111,12 @@ void PrintPaddedNumber(std::ostream & ost, TNumber const number, uint32_t const ost << std::setw(padding) << std::setfill('0') << number; } +template ::type = nullptr> +void PrintPaddedNumber(std::ostream & ost, TNumber const number, uint32_t const padding = 1) +{ + PrintPaddedNumber(ost, static_cast(number), padding); +} + void PrintHoursMinutes(std::ostream & ost, std::chrono::hours::rep hours, std::chrono::minutes::rep minutes)