Integer<T>
Description 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>.
Refinement of Numeric
Valid Expressions In addition to the expressions defined in Numeric the following expressions must be valid. Expression Return Value std::numeric_limits<T> is_integer true
Header #include <safe_numerics/include/concepts/numeric.hpp>
Models int, safe<int>, safe_unsigned_range<0, 11>, etc.