23 #ifndef BOOST_CSTDINT_HPP 24 #define BOOST_CSTDINT_HPP 32 #ifndef __STDC_CONSTANT_MACROS 33 # define __STDC_CONSTANT_MACROS 44 #if defined(BOOST_HAS_STDINT_H) \ 45 && (!defined(__GLIBC__) \ 46 || defined(__GLIBC_HAVE_LONG_LONG) \ 47 || (defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 17))))) 52 # include <inttypes.h> 53 # ifdef __STDC_32_MODE__ 55 # define BOOST_NO_INT64_T 57 # elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX) 58 # include <inttypes.h> 63 # if defined(__STDC_CONSTANT_MACROS) && defined(__CYGWIN__) 66 # define INTMAX_C(c) c##LL 67 # define UINTMAX_C(c) c##ULL 92 # ifndef BOOST_NO_INT64_T 127 # ifndef BOOST_NO_INT64_T 143 #elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__) 145 # include <inttypes.h> 170 # ifndef BOOST_NO_INT64_T 191 #else // BOOST_HAS_STDINT_H 210 # if UCHAR_MAX == 0xff 211 typedef signed char int8_t;
218 # error defaults not correct; you must hand modify boost/cstdint.hpp 223 # if USHRT_MAX == 0xffff 224 # if defined(__crayx1) 241 # elif (USHRT_MAX == 0xffffffff) && defined(__MTA__) 247 typedef unsigned __short16
uint16_t;
250 # elif (USHRT_MAX == 0xffffffff) && defined(CRAY) 257 # error defaults not correct; you must hand modify boost/cstdint.hpp 262 # if UINT_MAX == 0xffffffff 269 # elif (USHRT_MAX == 0xffffffff) 276 # elif ULONG_MAX == 0xffffffff 283 # elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__) 292 # error defaults not correct; you must hand modify boost/cstdint.hpp 297 # if defined(BOOST_HAS_LONG_LONG) && \ 298 !defined(BOOST_MSVC) && !defined(__BORLANDC__) && \ 299 (!defined(__GLIBCPP__) || defined(_GLIBCPP_USE_LONG_LONG)) && \ 300 (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX)) 303 # elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) 306 # error defaults not correct; you must hand modify boost/cstdint.hpp 309 typedef ::boost::long_long_type
intmax_t;
310 typedef ::boost::ulong_long_type
uintmax_t;
311 typedef ::boost::long_long_type
int64_t;
314 typedef ::boost::ulong_long_type
uint64_t;
318 # elif ULONG_MAX != 0xffffffff 320 # if ULONG_MAX == 18446744073709551615 // 2**64 - 1 330 # error defaults not correct; you must hand modify boost/cstdint.hpp 332 # elif defined(__GNUC__) && defined(BOOST_HAS_LONG_LONG) 341 # elif defined(BOOST_HAS_MS_INT64) 353 # else // assume no 64-bit integers 354 # define BOOST_NO_INT64_T 362 #endif // BOOST_HAS_STDINT_H 365 #if defined(BOOST_WINDOWS) && !defined(_WIN32_WCE) && !defined(BOOST_HAS_STDINT_H) 371 #if !defined(__PGIC__) 373 #if (defined(BOOST_WINDOWS) && !defined(_WIN32_WCE)) \ 374 || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ 375 || defined(__CYGWIN__) \ 376 || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ 377 || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun) 383 #define BOOST_HAS_INTPTR_T 386 #elif defined(__GNUC__) && defined(__INTPTR_TYPE__) && defined(__UINTPTR_TYPE__) 392 #define BOOST_HAS_INTPTR_T 396 #endif // !defined(__PGIC__) 398 #endif // BOOST_CSTDINT_HPP 413 #if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \ 414 (!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C)) 422 #if defined(__GNUC__) && (__GNUC__ >= 4) 423 #pragma GCC system_header 427 # define BOOST__STDC_CONSTANT_MACROS_DEFINED 428 # if defined(BOOST_HAS_MS_INT64) 433 # define INT8_C(value) value##i8 436 # define INT16_C(value) value##i16 439 # define INT32_C(value) value##i32 442 # define INT64_C(value) value##i64 446 # define UINT8_C(value) static_cast<unsigned char>(value##u) 448 # define UINT8_C(value) value##ui8 451 # define UINT16_C(value) value##ui16 454 # define UINT32_C(value) value##ui32 457 # define UINT64_C(value) value##ui64 460 # define INTMAX_C(value) value##i64 461 # define UINTMAX_C(value) value##ui64 469 # if (UCHAR_MAX == 0xff) && !defined(INT8_C) 470 # define INT8_C(value) static_cast<boost::int8_t>(value) 471 # define UINT8_C(value) static_cast<boost::uint8_t>(value##u) 476 # if (USHRT_MAX == 0xffff) && !defined(INT16_C) 477 # define INT16_C(value) static_cast<boost::int16_t>(value) 478 # define UINT16_C(value) static_cast<boost::uint16_t>(value##u) 483 # if (UINT_MAX == 0xffffffff) 484 # define INT32_C(value) value 485 # define UINT32_C(value) value##u 486 # elif ULONG_MAX == 0xffffffff 487 # define INT32_C(value) value##L 488 # define UINT32_C(value) value##uL 494 # if defined(BOOST_HAS_LONG_LONG) && \ 495 (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX)) 499 # define INT64_C(value) value##LL 500 # define UINT64_C(value) value##uLL 501 # elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \ 502 (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \ 503 (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \ 504 (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \ 505 (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL) 507 # define INT64_C(value) value##LL 508 # define UINT64_C(value) value##uLL 510 # error defaults not correct; you must hand modify boost/cstdint.hpp 512 # elif ULONG_MAX != 0xffffffff 514 # if ULONG_MAX == 18446744073709551615U // 2**64 - 1 515 # define INT64_C(value) value##L 516 # define UINT64_C(value) value##uL 518 # error defaults not correct; you must hand modify boost/cstdint.hpp 520 # elif defined(BOOST_HAS_LONG_LONG) 522 # if(~0uLL == 18446744073709551615ULL) 523 # define INT64_C(value) value##LL 524 # define UINT64_C(value) value##uLL 526 # error defaults not correct; you must hand modify boost/cstdint.hpp 529 # error defaults not correct; you must hand modify boost/cstdint.hpp 532 # ifdef BOOST_NO_INT64_T 533 # define INTMAX_C(value) INT32_C(value) 534 # define UINTMAX_C(value) UINT32_C(value) 536 # define INTMAX_C(value) INT64_C(value) 537 # define UINTMAX_C(value) UINT64_C(value) 540 # endif // Borland/Microsoft specific width suffixes 542 #endif // INT#_C macros.
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
_W64 unsigned int uintptr_t
unsigned __int64 uint64_t