safe_signed_range<MIN, MAX, PP, EP> and safe_unsigned_range<MIN, MAX, PP, EP>
Description This type holds a signed or unsigned integer in the closed range [MIN, MAX]. A safe_signed_range<MIN, MAX, PP, EP> or safe_unsigned_range<MIN, MAX, PP, EP> can be used anywhere an arithmetic type is permitted. Any expression which uses either of these types is guaranteed to return an arithmetically correct value or to trap in some way.
Notation Symbol Description MIN, MAX Minimum and maximum values that the range can represent.
Associated Types PP Promotion Policy. A type which specifies the result type of an expression using safe types. EP Exception Policy. A type containing members which are called when a correct result cannot be returned
Template Parameters Parameter Requirements Description MIN must be a non-negative literal The minimum non-negative integer value that this type may hold MAX must be a non-negative literal The maximum non-negative integer value that this type may hold MIN <= MAX must be a valid closed range PP PromotionPolicy<PP> Default value is boost::numeric::native EP Exception Policy<EP> Default value is boost::numeric::default_exception_policy
Model of Integer SafeNumeric
Valid Expressions Implements all expressions and only those expressions defined by the SafeNumeric type requirements. Thus, the result type of such an expression will be another safe type. The actual type of the result of such an expression will depend upon the specific promotion policy template parameter.
Example of use
Header #include <boost/numeric/safe_numerics/safe_range.hpp>