15 #ifndef BOOST_INTEGER_HPP 16 #define BOOST_INTEGER_HPP 33 #if defined(__GNUC__) && (__GNUC__ >= 4) 34 #pragma GCC system_header 44 template<
typename LeastInt >
60 #ifdef BOOST_HAS_LONG_LONG 61 template<>
struct int_least_helper<1> {
typedef boost::long_long_type least; };
62 #elif defined(BOOST_HAS_MS_INT64) 69 #ifdef BOOST_HAS_LONG_LONG 71 #elif defined(BOOST_HAS_MS_INT64) 86 #if USHRT_MAX != UCHAR_MAX 90 #if UINT_MAX != USHRT_MAX 94 #if ULONG_MAX != UINT_MAX && ( !defined __TI_COMPILER_VERSION__ || \ 95 ( __TI_COMPILER_VERSION__ >= 7000000 && !defined __TI_40BIT_LONG__ ) ) 99 #if defined(BOOST_HAS_LONG_LONG) &&\ 100 ((defined(ULLONG_MAX) && (ULLONG_MAX != ULONG_MAX)) ||\ 101 (defined(ULONG_LONG_MAX) && (ULONG_LONG_MAX != ULONG_MAX)) ||\ 102 (defined(ULONGLONG_MAX) && (ULONGLONG_MAX != ULONG_MAX)) ||\ 103 (defined(_ULLONG_MAX) && (_ULLONG_MAX != ULONG_MAX))) 118 "No suitable signed integer type with the requested number of bits is available.");
121 #ifdef BOOST_HAS_LONG_LONG 122 (Bits <= (int)(
sizeof(boost::long_long_type) * CHAR_BIT)) +
126 (Bits-1 <= ::std::numeric_limits<long>::digits) +
127 (Bits-1 <= ::std::numeric_limits<int>::digits) +
128 (Bits-1 <= ::std::numeric_limits<short>::digits) +
129 (Bits-1 <= ::std::numeric_limits<signed char>::digits)
139 "No suitable unsigned integer type with the requested number of bits is available.");
140 #if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T) 144 (Bits <= ::std::numeric_limits<unsigned long>::digits) +
145 (Bits <= ::std::numeric_limits<unsigned int>::digits) +
146 (Bits <= ::std::numeric_limits<unsigned short>::digits) +
147 (Bits <= ::std::numeric_limits<unsigned char>::digits));
152 #ifdef BOOST_HAS_LONG_LONG 153 (Bits <= (int)(
sizeof(boost::long_long_type) * CHAR_BIT)) +
157 (Bits <= ::std::numeric_limits<unsigned long>::digits) +
158 (Bits <= ::std::numeric_limits<unsigned int>::digits) +
159 (Bits <= ::std::numeric_limits<unsigned short>::digits) +
160 (Bits <= ::std::numeric_limits<unsigned char>::digits)
170 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) 171 template< boost::
long_
long_type MaxValue >
173 template<
long MaxValue >
179 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) 180 (MaxValue <= ::boost::integer_traits<boost::long_long_type>::const_max) +
185 (MaxValue <= ::boost::integer_traits<int>::const_max) +
187 (MaxValue <= ::boost::integer_traits<signed char>::const_max)
192 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) 193 template< boost::
long_
long_type MinValue >
195 template<
long MinValue >
201 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_LONG_LONG) 215 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) 216 template< boost::u
long_
long_type MaxValue >
218 template<
unsigned long MaxValue >
222 #if (defined(__BORLANDC__) || defined(__CODEGEAR__)) 224 #if defined(BOOST_NO_INTEGRAL_INT64_T) 232 #else // BOOST_NO_INTEGRAL_INT64_T 241 #endif // BOOST_NO_INTEGRAL_INT64_T 245 #if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG) 246 (MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +
251 (MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
253 (MaxValue <= ::boost::integer_traits<unsigned char>::const_max)
262 #endif // BOOST_INTEGER_HPP
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
boost::detail::int_least_helper< 1+(Bits-1<=::std::numeric_limits< long >::digits)+(Bits-1<=::std::numeric_limits< int >::digits)+(Bits-1<=::std::numeric_limits< short >::digits)+(Bits-1<=::std::numeric_limits< signed char >::digits) >::least least
boost::detail::int_least_helper< 1+(MinValue >=::boost::integer_traits< long >::const_min)+(MinValue >=::boost::integer_traits< int >::const_min)+(MinValue >=::boost::integer_traits< short >::const_min)+(MinValue >=::boost::integer_traits< signed char >::const_min) >::least least
boost::detail::uint_least_helper< 1+(Bits<=::std::numeric_limits< unsigned long >::digits)+(Bits<=::std::numeric_limits< unsigned int >::digits)+(Bits<=::std::numeric_limits< unsigned short >::digits)+(Bits<=::std::numeric_limits< unsigned char >::digits) >::least least
int_fast_t< least >::type fast
int_fast_t< least >::type fast
int_fast_t< least >::type fast
#define BOOST_STATIC_ASSERT_MSG(...)
int_fast_t< least >::type fast
#define BOOST_STATIC_CONSTANT(type, assignment)
int_fast_t< least >::type fast