[time.traits.duration.values] (original) (raw)

30 Time library [time]

30.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 ofRep() 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().