namespace std::chrono { template<class Duration> class time_of_day; template<> class time_of_day<hours>; template<> class time_of_day<minutes>; template<> class time_of_day<seconds>; template<class Rep, class Period> class time_of_day<duration<Rep, Period>>; }
namespace std::chrono { template<> class time_of_day<hours> { public: using precision = chrono::hours; time_of_day() = default; explicit constexpr time_of_day(chrono::hours since_midnight) noexcept; constexpr chrono::hours hours() const noexcept; explicit constexpr operator precision() const noexcept; constexpr precision to_duration() const noexcept; constexpr void make24() noexcept; constexpr void make12() noexcept; }; }
explicit constexpr time_of_day(chrono::hours since_midnight) noexcept;
constexpr chrono::hours hours() const noexcept;
explicit constexpr operator precision() const noexcept;
constexpr precision to_duration() const noexcept;
constexpr void make24() noexcept;
constexpr void make12() noexcept;
namespace std::chrono { template<> class time_of_day<minutes> { public: using precision = chrono::minutes; time_of_day() = default; explicit constexpr time_of_day(chrono::minutes since_midnight) noexcept; constexpr chrono::hours hours() const noexcept; constexpr chrono::minutes minutes() const noexcept; explicit constexpr operator precision() const noexcept; constexpr precision to_duration() const noexcept; constexpr void make24() noexcept; constexpr void make12() noexcept; }; }
explicit constexpr time_of_day(minutes since_midnight) noexcept;
constexpr chrono::hours hours() const noexcept;
constexpr chrono::minutes minutes() const noexcept;
explicit constexpr operator precision() const noexcept;
constexpr precision to_duration() const noexcept;
constexpr void make24() noexcept;
constexpr void make12() noexcept;
namespace std::chrono { template<> class time_of_day<seconds> { public: using precision = chrono::seconds; time_of_day() = default; explicit constexpr time_of_day(chrono::seconds since_midnight) noexcept; constexpr chrono::hours hours() const noexcept; constexpr chrono::minutes minutes() const noexcept; constexpr chrono::seconds seconds() const noexcept; explicit constexpr operator precision() const noexcept; constexpr precision to_duration() const noexcept; constexpr void make24() noexcept; constexpr void make12() noexcept; }; }
explicit constexpr time_of_day(seconds since_midnight) noexcept;
constexpr chrono::hours hours() const noexcept;
constexpr chrono::minutes minutes() const noexcept;
constexpr chrono::seconds seconds() const noexcept;
explicit constexpr operator precision() const noexcept;
constexpr precision to_duration() const noexcept;
constexpr void make24() noexcept;
constexpr void make12() noexcept;
namespace std::chrono { template<class Rep, class Period> class time_of_day<duration<Rep, Period>> { public: using precision = duration<Rep, Period>; time_of_day() = default; explicit constexpr time_of_day(precision since_midnight) noexcept; constexpr chrono::hours hours() const noexcept; constexpr chrono::minutes minutes() const noexcept; constexpr chrono::seconds seconds() const noexcept; constexpr precision subseconds() const noexcept; explicit constexpr operator precision() const noexcept; constexpr precision to_duration() const noexcept; constexpr void make24() noexcept; constexpr void make12() noexcept; }; }
explicit constexpr time_of_day(precision since_midnight) noexcept;
constexpr chrono::hours hours() const noexcept;
constexpr chrono::minutes minutes() const noexcept;
constexpr chrono::seconds seconds() const noexcept;
constexpr duration<Rep, Period> subseconds() const noexcept;
explicit constexpr operator precision() const noexcept;
constexpr precision to_duration() const noexcept;
constexpr void make24() noexcept;
constexpr void make12() noexcept;
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const time_of_day<hours>& t);
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const time_of_day<minutes>& t);
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const time_of_day<seconds>& t);
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os, const time_of_day<duration<Rep, Period>>& t);