![]() |
Safe Numerics |
A type is fulls the requirements of an Integer if it has the properties of a integer.
More specifically, a type T is Integer if there exists
specialization of std::numeric_limits<T> for which
std::numeric_limits<T>:: is_integer is equal to
true. See the documentation for standard library class
numeric_limits. The standard library includes such specializations for all
the primitive numeric types. Note that this concept is distinct from the
C++ standard library type traits is_integral and
is_arithmetic. These latter fulfill the requirement of the
concept Numeric. But there are types which fulfill this concept for which
is_arithmetic<T>::value == false. For example see
safe<int>.
In addition to the expressions defined in Numeric the following expressions must be valid.
| Expression | Return Value |
|---|---|
std::numeric_limits<T>
is_integer |
true |