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);