29 Time library [time]

29.4 Time-related traits [time.traits]

29.4.2 duration_values [time.traits.duration.values]

template<class Rep> struct duration_values { public: static constexpr Rep zero() noexcept; static constexpr Rep min() noexcept; static constexpr Rep max() noexcept; };
The duration template uses the duration_values trait to construct special values of the duration's representation (Rep).
This is done because the representation can be a class type with behavior that requires some other implementation to return these special values.
In that case, the author of that class type should specialize duration_values to return the indicated values.
static constexpr Rep zero() noexcept;
Returns: Rep(0).
[Note 1: 
Rep(0) is specified instead of Rep() because Rep() can have some other meaning, such as an uninitialized value.
— end note]
Remarks: The value returned shall be the additive identity.
static constexpr Rep min() noexcept;
Returns: numeric_limits<Rep>​::​lowest().
Remarks: The value returned shall compare less than or equal to zero().
static constexpr Rep max() noexcept;
Returns: numeric_limits<Rep>​::​max().
Remarks: The value returned shall compare greater than zero().