Library Documentation Index

Safe Numerics

PrevUpHomeNext

Integer<T>

Description
Refinement of
Valid Expressions
Header
Models

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.


PrevUpHomeNext