123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- #ifndef BOOST_NUMERIC_SAFE_INTEGER_RANGE_HPP
- #define BOOST_NUMERIC_SAFE_INTEGER_RANGE_HPP
- #include <cstdint> // intmax_t, uintmax_t
- #include "utility.hpp"
- #include "safe_integer.hpp"
- #include "native.hpp"
- #include "exception_policies.hpp"
- namespace boost {
- namespace safe_numerics {
- template <
- std::intmax_t Min,
- std::intmax_t Max,
- class P = native,
- class E = default_exception_policy
- >
- using safe_signed_range = safe_base<
- typename utility::signed_stored_type<Min, Max>,
- static_cast<typename utility::signed_stored_type<Min, Max> >(Min),
- static_cast<typename utility::signed_stored_type<Min, Max> >(Max),
- P,
- E
- >;
- template <
- std::uintmax_t Min,
- std::uintmax_t Max,
- class P = native,
- class E = default_exception_policy
- >
- using safe_unsigned_range = safe_base<
- typename utility::unsigned_stored_type<Min, Max>,
- static_cast<typename utility::unsigned_stored_type<Min, Max> >(Min),
- static_cast<typename utility::unsigned_stored_type<Min, Max> >(Max),
- P,
- E
- >;
- }
- }
- #endif
|