18 Language support library [language.support]

18.3 Implementation properties [support.limits]

18.3.2 Numeric limits [limits]

18.3.2.1 Class template numeric_limits [limits.numeric]

The numeric_limits class template provides a C++ program with information about various properties of the implementation's representation of the arithmetic types.

Specializations shall be provided for each arithmetic type, both floating-point and integer, including bool. The member is_specialized shall be true for all such specializations of numeric_limits.

For all members declared static constexpr in the numeric_limits template, specializations shall define these values in such a way that they are usable as constant expressions.

Non-arithmetic standard types, such as complex<T> ([complex]), shall not have specializations.