safe_signed_range<MIN, MAX, PP, EP> and
safe_unsigned_range<MIN, MAX, PP, EP>DescriptionThis 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.NotationSymbolDescriptionMIN, MAXMinimum and maximum values that the range can
represent.Associated TypesPPPromotion Policy. A type which specifies the result type of
an expression using safe types.EPException Policy. A type containing members which are
called when a correct result cannot be returnedTemplate ParametersParameterRequirementsDescriptionMINmust be a non-negative literalThe minimum non-negative integer value that this type may
holdMAXmust be a non-negative literalThe maximum non-negative integer value that this type may
holdMIN <= MAXmust be a valid closed rangePPPromotionPolicy<PP>Default value is boost::numeric::nativeEPException
Policy<EP>Default value is boost::numeric::default_exception_policyModel ofIntegerSafeNumericValid ExpressionsImplements 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 useHeader#include
<boost/numeric/safe_numerics/safe_range.hpp>