[time.point.general] (original) (raw)

30 Time library [time]

30.6 Class template time_point [time.point]

30.6.1 General [time.point.general]

namespace std::chrono { template<class Clock, class Duration = typename Clock::duration> class time_point { public: using clock = Clock;using duration = Duration;using rep = typename duration::rep;using period = typename duration::period;private: duration d_; public: constexpr time_point(); constexpr explicit time_point(const duration& d); template<class Duration2> constexpr time_point(const time_point<clock, Duration2>& t);constexpr duration time_since_epoch() const;constexpr time_point& operator++();constexpr time_point operator++(int);constexpr time_point& operator--();constexpr time_point operator--(int);constexpr time_point& operator+=(const duration& d);constexpr time_point& operator-=(const duration& d);static constexpr time_point min() noexcept;static constexpr time_point max() noexcept;};}

If Duration is not a specialization of duration, the program is ill-formed.