23 General utilities library [utilities]

23.17 Time utilities [time]

23.17.4 Time-related traits [time.traits] duration_­values [time.traits.duration_values]

template <class Rep> struct duration_values { public: static constexpr Rep zero(); static constexpr Rep min(); static constexpr Rep max(); };

The duration template uses the duration_­values trait to construct special values of the durations representation (Rep). This is done because the representation might be a class type with behavior which 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();

Returns: Rep(0). [Note: Rep(0) is specified instead of Rep() because Rep() may have some other meaning, such as an uninitialized value. end note]

Remarks: The value returned shall be the additive identity.

static constexpr Rep min();

Returns: numeric_­limits<Rep>​::​lowest().

Remarks: The value returned shall compare less than or equal to zero().

static constexpr Rep max();

Returns: numeric_­limits<Rep>​::​max().

Remarks: The value returned shall compare greater than zero().