Section: 21.3 [support.limits] Status: CD1 Submitter: Stephen Cleary Opened: 1999-12-21 Last modified: 2017-06-16
Priority: Not Prioritized
View all issues with CD1 status.
In some places in this section, the terms "fundamental types" and "scalar types" are used when the term "arithmetic types" is intended. The current usage is incorrect because void is a fundamental type and pointers are scalar types, neither of which should have specializations of numeric_limits.
[Lillehammer: it remains true that numeric_limits is using imprecise language. However, none of the proposals for changed wording are clearer. A redesign of numeric_limits is needed, but this is more a task than an open issue.]
Change 21.3 [support.limits] to:
-1- The headers <limits>, <climits>, <cfloat>, and <cinttypes> supply characteristics of implementation-dependent
Change [limits] to:
-1- The numeric_limits component provides a C++ program with information about various properties of the implementation's representation of the
-2- Specializations shall be provided for each
fundamentaltype, both floating point and integer, including bool. The member is_specialized shall be true for all such specializations of numeric_limits.
fundamentalstandard types, such as complex<T> (26.3.2), shall not have specializations.
Change 21.3.4 [numeric.limits] to:
-1- The member is_specialized makes it possible to distinguish between fundamental types, which have specializations, and non-scalar types, which do not.