Get rid of MSVC's __int64
Use either int64_t, uint64_t or long long and unsigned long long, defined as per C++11 standard
This commit is contained in:
@@ -138,10 +138,10 @@ private:
|
||||
ArchiveImplementation::load(t);
|
||||
}
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
virtual void load(__int64 & t){
|
||||
virtual void load(int64_t & t){
|
||||
ArchiveImplementation::load(t);
|
||||
}
|
||||
virtual void load(unsigned __int64 & t){
|
||||
virtual void load(uint64_t & t){
|
||||
ArchiveImplementation::load(t);
|
||||
}
|
||||
#endif
|
||||
@@ -187,7 +187,7 @@ public:
|
||||
}
|
||||
// register type function
|
||||
template<class T>
|
||||
const basic_pointer_iserializer *
|
||||
const basic_pointer_iserializer *
|
||||
register_type(T * t = NULL){
|
||||
return ArchiveImplementation::register_type(t);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
|
||||
#include <cstddef> // std::size_t
|
||||
#include <climits> // ULONG_MAX
|
||||
#include <climits> // ULONG_MAX
|
||||
#include <string>
|
||||
|
||||
#include <boost/config.hpp>
|
||||
@@ -83,8 +83,8 @@ public:
|
||||
virtual void load(boost::long_long_type & t) = 0;
|
||||
virtual void load(boost::ulong_long_type & t) = 0;
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
virtual void load(__int64 & t) = 0;
|
||||
virtual void load(unsigned __int64 & t) = 0;
|
||||
virtual void load(int64_t & t) = 0;
|
||||
virtual void load(uint64_t & t) = 0;
|
||||
#endif
|
||||
|
||||
virtual void load(float & t) = 0;
|
||||
@@ -161,10 +161,10 @@ public:
|
||||
// special esteem in the boost library - we included it here by default.
|
||||
#include <boost/archive/shared_ptr_helper.hpp>
|
||||
|
||||
namespace boost {
|
||||
namespace boost {
|
||||
namespace archive {
|
||||
|
||||
class polymorphic_iarchive :
|
||||
class polymorphic_iarchive :
|
||||
public polymorphic_iarchive_impl,
|
||||
public detail::shared_ptr_helper
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
|
||||
#include <cstddef> // size_t
|
||||
#include <climits> // ULONG_MAX
|
||||
#include <climits> // ULONG_MAX
|
||||
#include <string>
|
||||
|
||||
#include <boost/config.hpp>
|
||||
@@ -82,8 +82,8 @@ public:
|
||||
virtual void save(const boost::long_long_type t) = 0;
|
||||
virtual void save(const boost::ulong_long_type t) = 0;
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
virtual void save(const __int64 t) = 0;
|
||||
virtual void save(const unsigned __int64 t) = 0;
|
||||
virtual void save(const int64_t t) = 0;
|
||||
virtual void save(const uint64_t t) = 0;
|
||||
#endif
|
||||
|
||||
virtual void save(const float t) = 0;
|
||||
@@ -141,7 +141,7 @@ public:
|
||||
};
|
||||
|
||||
// note: preserve naming symmetry
|
||||
class polymorphic_oarchive :
|
||||
class polymorphic_oarchive :
|
||||
public polymorphic_oarchive_impl
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace detail {
|
||||
enum
|
||||
{
|
||||
sockaddr_storage_maxsize = 128, // Maximum size.
|
||||
sockaddr_storage_alignsize = (sizeof(__int64)), // Desired alignment.
|
||||
sockaddr_storage_alignsize = (sizeof(int64_t)), // Desired alignment.
|
||||
sockaddr_storage_pad1size = (sockaddr_storage_alignsize - sizeof(short)),
|
||||
sockaddr_storage_pad2size = (sockaddr_storage_maxsize -
|
||||
(sizeof(short) + sockaddr_storage_pad1size + sockaddr_storage_alignsize))
|
||||
@@ -51,7 +51,7 @@ struct sockaddr_storage_emulation
|
||||
{
|
||||
short ss_family;
|
||||
char __ss_pad1[sockaddr_storage_pad1size];
|
||||
__int64 __ss_align;
|
||||
int64_t __ss_align;
|
||||
char __ss_pad2[sockaddr_storage_pad2size];
|
||||
};
|
||||
|
||||
|
||||
@@ -94,12 +94,12 @@
|
||||
#pragma intrinsic(_InterlockedOr64)
|
||||
#pragma intrinsic(_InterlockedXor64)
|
||||
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) _InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) _InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) _InterlockedExchange64((__int64*)(dest), (__int64)(newval))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_AND64(dest, arg) _InterlockedAnd64((__int64*)(dest), (__int64)(arg))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_OR64(dest, arg) _InterlockedOr64((__int64*)(dest), (__int64)(arg))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_XOR64(dest, arg) _InterlockedXor64((__int64*)(dest), (__int64)(arg))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) _InterlockedCompareExchange64((int64_t*)(dest), (int64_t)(exchange), (int64_t)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) _InterlockedExchangeAdd64((int64_t*)(dest), (int64_t)(addend))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) _InterlockedExchange64((int64_t*)(dest), (int64_t)(newval))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_AND64(dest, arg) _InterlockedAnd64((int64_t*)(dest), (int64_t)(arg))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_OR64(dest, arg) _InterlockedOr64((int64_t*)(dest), (int64_t)(arg))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_XOR64(dest, arg) _InterlockedXor64((int64_t*)(dest), (int64_t)(arg))
|
||||
|
||||
#pragma intrinsic(_InterlockedCompareExchangePointer)
|
||||
#pragma intrinsic(_InterlockedExchangePointer)
|
||||
@@ -128,9 +128,9 @@
|
||||
|
||||
#if defined(_WIN64)
|
||||
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) InterlockedExchange64((__int64*)(dest), (__int64)(newval))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) InterlockedCompareExchange64((int64_t*)(dest), (int64_t)(exchange), (int64_t)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) InterlockedExchange64((int64_t*)(dest), (int64_t)(newval))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) InterlockedExchangeAdd64((int64_t*)(dest), (int64_t)(addend))
|
||||
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) InterlockedCompareExchangePointer((void**)(dest), (void*)(exchange), (void*)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) InterlockedExchangePointer((void**)(dest), (void*)(newval))
|
||||
@@ -168,16 +168,16 @@ BOOST_ATOMIC_INTERLOCKED_IMPORT long __stdcall InterlockedExchangeAdd(long volat
|
||||
|
||||
#if defined(_WIN64)
|
||||
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT __int64 __stdcall InterlockedCompareExchange64(__int64 volatile*, __int64, __int64);
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT __int64 __stdcall InterlockedExchange64(__int64 volatile*, __int64);
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT __int64 __stdcall InterlockedExchangeAdd64(__int64 volatile*, __int64);
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT int64_t __stdcall InterlockedCompareExchange64(int64_t volatile*, int64_t, int64_t);
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT int64_t __stdcall InterlockedExchange64(int64_t volatile*, int64_t);
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT int64_t __stdcall InterlockedExchangeAdd64(int64_t volatile*, int64_t);
|
||||
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT void* __stdcall InterlockedCompareExchangePointer(void* volatile *, void*, void*);
|
||||
BOOST_ATOMIC_INTERLOCKED_IMPORT void* __stdcall InterlockedExchangePointer(void* volatile *, void*);
|
||||
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) boost::atomics::detail::InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) boost::atomics::detail::InterlockedExchange64((__int64*)(dest), (__int64)(newval))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) boost::atomics::detail::InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) boost::atomics::detail::InterlockedCompareExchange64((int64_t*)(dest), (int64_t)(exchange), (int64_t)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) boost::atomics::detail::InterlockedExchange64((int64_t*)(dest), (int64_t)(newval))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) boost::atomics::detail::InterlockedExchangeAdd64((int64_t*)(dest), (int64_t)(addend))
|
||||
|
||||
#define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) boost::atomics::detail::InterlockedCompareExchangePointer((void**)(dest), (void*)(exchange), (void*)(compare))
|
||||
#define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) boost::atomics::detail::InterlockedExchangePointer((void**)(dest), (void*)(newval))
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace chrono_detail
|
||||
#endif
|
||||
return system_clock::time_point(
|
||||
system_clock::duration(
|
||||
((static_cast<__int64>( ft.dwHighDateTime ) << 32) | ft.dwLowDateTime)
|
||||
((static_cast<int64_t>( ft.dwHighDateTime ) << 32) | ft.dwLowDateTime)
|
||||
-116444736000000000LL
|
||||
)
|
||||
);
|
||||
@@ -124,14 +124,14 @@ namespace chrono_detail
|
||||
ec.clear();
|
||||
}
|
||||
return time_point(duration(
|
||||
(static_cast<__int64>( ft.dwHighDateTime ) << 32) | ft.dwLowDateTime));
|
||||
(static_cast<int64_t>( ft.dwHighDateTime ) << 32) | ft.dwLowDateTime));
|
||||
}
|
||||
#endif
|
||||
|
||||
BOOST_CHRONO_INLINE
|
||||
std::time_t system_clock::to_time_t(const system_clock::time_point& t) BOOST_NOEXCEPT
|
||||
{
|
||||
__int64 temp = t.time_since_epoch().count();
|
||||
int64_t temp = t.time_since_epoch().count();
|
||||
|
||||
temp /= 10000000;
|
||||
return static_cast<std::time_t>( temp );
|
||||
@@ -140,7 +140,7 @@ namespace chrono_detail
|
||||
BOOST_CHRONO_INLINE
|
||||
system_clock::time_point system_clock::from_time_t(std::time_t t) BOOST_NOEXCEPT
|
||||
{
|
||||
__int64 temp = t;
|
||||
int64_t temp = t;
|
||||
temp *= 10000000;
|
||||
|
||||
return time_point(duration(temp));
|
||||
|
||||
@@ -85,8 +85,8 @@ namespace boost
|
||||
template <> struct Integer< ::boost::long_long_type> {};
|
||||
template <> struct Integer< ::boost::ulong_long_type> {};
|
||||
# elif defined(BOOST_HAS_MS_INT64)
|
||||
template <> struct Integer<__int64> {};
|
||||
template <> struct Integer<unsigned __int64> {};
|
||||
template <> struct Integer<int64_t> {};
|
||||
template <> struct Integer<uint64_t> {};
|
||||
# endif
|
||||
|
||||
BOOST_concept(SignedInteger,(T)) {
|
||||
@@ -103,7 +103,7 @@ namespace boost
|
||||
# if defined(BOOST_HAS_LONG_LONG)
|
||||
template <> struct SignedInteger< ::boost::long_long_type> {};
|
||||
# elif defined(BOOST_HAS_MS_INT64)
|
||||
template <> struct SignedInteger<__int64> {};
|
||||
template <> struct SignedInteger<int64_t> {};
|
||||
# endif
|
||||
|
||||
BOOST_concept(UnsignedInteger,(T)) {
|
||||
@@ -121,7 +121,7 @@ namespace boost
|
||||
# if defined(BOOST_HAS_LONG_LONG)
|
||||
template <> struct UnsignedInteger< ::boost::ulong_long_type> {};
|
||||
# elif defined(BOOST_HAS_MS_INT64)
|
||||
template <> struct UnsignedInteger<unsigned __int64> {};
|
||||
template <> struct UnsignedInteger<uint64_t> {};
|
||||
# endif
|
||||
|
||||
//===========================================================================
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#else
|
||||
@@ -221,7 +221,7 @@
|
||||
#include <float.h>
|
||||
#endif
|
||||
//
|
||||
// __int64:
|
||||
// int64_t:
|
||||
//
|
||||
#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
@@ -242,7 +242,7 @@
|
||||
// all versions support __declspec:
|
||||
//
|
||||
#if defined(__STRICT_ANSI__)
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
//
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// (C) Copyright Douglas Gregor 2010
|
||||
//
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
@@ -20,7 +20,7 @@
|
||||
# define BOOST_NO_TYPEID
|
||||
#endif
|
||||
|
||||
#if defined(__int64)
|
||||
#if defined(int64_t)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// __int64:
|
||||
// int64_t:
|
||||
//
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
@@ -150,7 +150,7 @@
|
||||
// all versions support __declspec:
|
||||
//
|
||||
#if defined(__STRICT_ANSI__)
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
//
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Douglas Gregor 2001.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2003.
|
||||
// (C) Copyright Beman Dawes 2003.
|
||||
// (C) Copyright Jens Maurer 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Douglas Gregor 2001.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2003.
|
||||
// (C) Copyright Beman Dawes 2003.
|
||||
// (C) Copyright Jens Maurer 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
@@ -32,7 +32,7 @@
|
||||
#endif // version 4245
|
||||
|
||||
//
|
||||
// enable __int64 support in VC emulation mode
|
||||
// enable int64_t support in VC emulation mode
|
||||
//
|
||||
# if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001 - 2002.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2002 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001 - 2002.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2002 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
@@ -94,7 +94,7 @@
|
||||
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1400
|
||||
#if _MSC_VER < 1400
|
||||
// although a conforming signature for swprint exists in VC7.1
|
||||
// it appears not to actually work:
|
||||
# define BOOST_NO_SWPRINTF
|
||||
@@ -119,9 +119,9 @@
|
||||
#endif
|
||||
|
||||
|
||||
// MSVC (including the latest checked version) has not yet completely
|
||||
// MSVC (including the latest checked version) has not yet completely
|
||||
// implemented value-initialization, as is reported:
|
||||
// "VC++ does not value-initialize members of derived classes without
|
||||
// "VC++ does not value-initialize members of derived classes without
|
||||
// user-declared constructor", reported in 2009 by Sylvester Hesp:
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/484295
|
||||
// "Presence of copy constructor breaks member class initialization",
|
||||
@@ -152,14 +152,14 @@
|
||||
# define BOOST_HAS_GETSYSTEMTIMEASFILETIME
|
||||
#endif
|
||||
|
||||
//
|
||||
// check for exception handling support:
|
||||
//
|
||||
// check for exception handling support:
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// __int64 support:
|
||||
// int64_t support:
|
||||
//
|
||||
#if (_MSC_VER >= 1200)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
@@ -251,7 +251,7 @@
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
// TODO:
|
||||
// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
|
||||
// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
|
||||
// artificial versions assigned to them only refer to the versions of some IDE
|
||||
// these compilers have been shipped with, and even that is not all of it. Some
|
||||
// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
|
||||
@@ -274,8 +274,8 @@
|
||||
# define BOOST_COMPILER_VERSION evc9
|
||||
# elif _MSC_VER < 1700
|
||||
# define BOOST_COMPILER_VERSION evc10
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION evc11
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION evc11
|
||||
# else
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
|
||||
@@ -299,8 +299,8 @@
|
||||
# define BOOST_COMPILER_VERSION 9.0
|
||||
# elif _MSC_VER < 1700
|
||||
# define BOOST_COMPILER_VERSION 10.0
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION 11.0
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION 11.0
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2001.
|
||||
// (C) Copyright David Abrahams 2003.
|
||||
// (C) Copyright Boris Gubenko 2007.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2001.
|
||||
// (C) Copyright David Abrahams 2003.
|
||||
// (C) Copyright Boris Gubenko 2007.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Rogue Wave std lib:
|
||||
|
||||
#define BOOST_RW_STDLIB 1
|
||||
#define BOOST_RW_STDLIB 1
|
||||
|
||||
#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
|
||||
# include <boost/config/no_tr1/utility.hpp>
|
||||
@@ -57,7 +57,7 @@
|
||||
# endif
|
||||
|
||||
//
|
||||
// Borland version of numeric_limits lacks __int64 specialisation:
|
||||
// Borland version of numeric_limits lacks int64_t specialisation:
|
||||
//
|
||||
#ifdef __BORLANDC__
|
||||
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
// Copyright (c) 2001-2003 John Maddock
|
||||
// Copyright (c) 2001 Darin Adler
|
||||
// Copyright (c) 2001 Peter Dimov
|
||||
// Copyright (c) 2002 Bill Kempf
|
||||
// Copyright (c) 2002 Bill Kempf
|
||||
// Copyright (c) 2002 Jens Maurer
|
||||
// Copyright (c) 2002-2003 David Abrahams
|
||||
// Copyright (c) 2003 Gennaro Prota
|
||||
@@ -105,8 +105,8 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// if there is no __int64 then there is no specialisation
|
||||
// for numeric_limits<__int64> either:
|
||||
// if there is no int64_t then there is no specialisation
|
||||
// for numeric_limits<int64_t> either:
|
||||
//
|
||||
#if !defined(BOOST_HAS_MS_INT64) && !defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS)
|
||||
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
@@ -146,7 +146,7 @@
|
||||
# endif
|
||||
|
||||
//
|
||||
// Without partial specialization, partial
|
||||
// Without partial specialization, partial
|
||||
// specialization with default args won't work either:
|
||||
//
|
||||
# if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \
|
||||
@@ -632,7 +632,7 @@ namespace std{ using ::type_info; }
|
||||
// Set some default values GPU support
|
||||
//
|
||||
# ifndef BOOST_GPU_ENABLED
|
||||
# define BOOST_GPU_ENABLED
|
||||
# define BOOST_GPU_ENABLED
|
||||
# endif
|
||||
|
||||
// BOOST_FORCEINLINE ---------------------------------------------//
|
||||
@@ -695,7 +695,7 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_NO_0X_HDR_FUTURE
|
||||
#endif
|
||||
|
||||
// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
// Use BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
// instead of BOOST_NO_0X_HDR_INITIALIZER_LIST or BOOST_NO_INITIALIZER_LISTS
|
||||
#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# ifndef BOOST_NO_0X_HDR_INITIALIZER_LIST
|
||||
@@ -884,7 +884,7 @@ namespace std{ using ::type_info; }
|
||||
|
||||
//
|
||||
// constexpr workarounds
|
||||
//
|
||||
//
|
||||
#if defined(BOOST_NO_CXX11_CONSTEXPR)
|
||||
#define BOOST_CONSTEXPR
|
||||
#define BOOST_CONSTEXPR_OR_CONST const
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// boost cstdint.hpp header file ------------------------------------------//
|
||||
|
||||
// (C) Copyright Beman Dawes 1999.
|
||||
// (C) Copyright Jens Mauer 2001
|
||||
// (C) Copyright John Maddock 2001
|
||||
// (C) Copyright Beman Dawes 1999.
|
||||
// (C) Copyright Jens Mauer 2001
|
||||
// (C) Copyright John Maddock 2001
|
||||
// Distributed under the Boost
|
||||
// Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -24,9 +24,9 @@
|
||||
#define BOOST_CSTDINT_HPP
|
||||
|
||||
//
|
||||
// Since we always define the INT#_C macros as per C++0x,
|
||||
// Since we always define the INT#_C macros as per C++0x,
|
||||
// define __STDC_CONSTANT_MACROS so that <stdint.h> does the right
|
||||
// thing if possible, and so that the user knows that the macros
|
||||
// thing if possible, and so that the user knows that the macros
|
||||
// are actually defined as per C99.
|
||||
//
|
||||
#ifndef __STDC_CONSTANT_MACROS
|
||||
@@ -50,7 +50,7 @@
|
||||
# ifdef __STDC_32_MODE__
|
||||
// this is triggered with GCC, because it defines __cplusplus < 199707L
|
||||
# define BOOST_NO_INT64_T
|
||||
# endif
|
||||
# endif
|
||||
# elif defined(__FreeBSD__) || defined(__IBMCPP__) || defined(_AIX)
|
||||
# include <inttypes.h>
|
||||
# else
|
||||
@@ -100,40 +100,40 @@ typedef ::uintfast64_t uint_fast64_t;
|
||||
namespace boost
|
||||
{
|
||||
|
||||
using ::int8_t;
|
||||
using ::int_least8_t;
|
||||
using ::int_fast8_t;
|
||||
using ::uint8_t;
|
||||
using ::uint_least8_t;
|
||||
using ::uint_fast8_t;
|
||||
|
||||
using ::int16_t;
|
||||
using ::int_least16_t;
|
||||
using ::int_fast16_t;
|
||||
using ::uint16_t;
|
||||
using ::uint_least16_t;
|
||||
using ::uint_fast16_t;
|
||||
|
||||
using ::int32_t;
|
||||
using ::int_least32_t;
|
||||
using ::int_fast32_t;
|
||||
using ::uint32_t;
|
||||
using ::uint_least32_t;
|
||||
using ::uint_fast32_t;
|
||||
|
||||
using ::int8_t;
|
||||
using ::int_least8_t;
|
||||
using ::int_fast8_t;
|
||||
using ::uint8_t;
|
||||
using ::uint_least8_t;
|
||||
using ::uint_fast8_t;
|
||||
|
||||
using ::int16_t;
|
||||
using ::int_least16_t;
|
||||
using ::int_fast16_t;
|
||||
using ::uint16_t;
|
||||
using ::uint_least16_t;
|
||||
using ::uint_fast16_t;
|
||||
|
||||
using ::int32_t;
|
||||
using ::int_least32_t;
|
||||
using ::int_fast32_t;
|
||||
using ::uint32_t;
|
||||
using ::uint_least32_t;
|
||||
using ::uint_fast32_t;
|
||||
|
||||
# ifndef BOOST_NO_INT64_T
|
||||
|
||||
using ::int64_t;
|
||||
using ::int_least64_t;
|
||||
using ::int_fast64_t;
|
||||
using ::uint64_t;
|
||||
using ::uint_least64_t;
|
||||
using ::uint_fast64_t;
|
||||
|
||||
using ::int64_t;
|
||||
using ::int_least64_t;
|
||||
using ::int_fast64_t;
|
||||
using ::uint64_t;
|
||||
using ::uint_least64_t;
|
||||
using ::uint_fast64_t;
|
||||
|
||||
# endif
|
||||
|
||||
using ::intmax_t;
|
||||
using ::uintmax_t;
|
||||
using ::intmax_t;
|
||||
using ::uintmax_t;
|
||||
|
||||
} // namespace boost
|
||||
|
||||
@@ -143,35 +143,35 @@ namespace boost
|
||||
|
||||
namespace boost {
|
||||
|
||||
using ::int8_t;
|
||||
typedef int8_t int_least8_t;
|
||||
typedef int8_t int_fast8_t;
|
||||
using ::uint8_t;
|
||||
typedef uint8_t uint_least8_t;
|
||||
typedef uint8_t uint_fast8_t;
|
||||
|
||||
using ::int16_t;
|
||||
typedef int16_t int_least16_t;
|
||||
typedef int16_t int_fast16_t;
|
||||
using ::uint16_t;
|
||||
typedef uint16_t uint_least16_t;
|
||||
typedef uint16_t uint_fast16_t;
|
||||
|
||||
using ::int32_t;
|
||||
typedef int32_t int_least32_t;
|
||||
typedef int32_t int_fast32_t;
|
||||
using ::uint32_t;
|
||||
typedef uint32_t uint_least32_t;
|
||||
typedef uint32_t uint_fast32_t;
|
||||
|
||||
# ifndef BOOST_NO_INT64_T
|
||||
using ::int8_t;
|
||||
typedef int8_t int_least8_t;
|
||||
typedef int8_t int_fast8_t;
|
||||
using ::uint8_t;
|
||||
typedef uint8_t uint_least8_t;
|
||||
typedef uint8_t uint_fast8_t;
|
||||
|
||||
using ::int64_t;
|
||||
typedef int64_t int_least64_t;
|
||||
typedef int64_t int_fast64_t;
|
||||
using ::uint64_t;
|
||||
typedef uint64_t uint_least64_t;
|
||||
typedef uint64_t uint_fast64_t;
|
||||
using ::int16_t;
|
||||
typedef int16_t int_least16_t;
|
||||
typedef int16_t int_fast16_t;
|
||||
using ::uint16_t;
|
||||
typedef uint16_t uint_least16_t;
|
||||
typedef uint16_t uint_fast16_t;
|
||||
|
||||
using ::int32_t;
|
||||
typedef int32_t int_least32_t;
|
||||
typedef int32_t int_fast32_t;
|
||||
using ::uint32_t;
|
||||
typedef uint32_t uint_least32_t;
|
||||
typedef uint32_t uint_fast32_t;
|
||||
|
||||
# ifndef BOOST_NO_INT64_T
|
||||
|
||||
using ::int64_t;
|
||||
typedef int64_t int_least64_t;
|
||||
typedef int64_t int_fast64_t;
|
||||
using ::uint64_t;
|
||||
typedef uint64_t uint_least64_t;
|
||||
typedef uint64_t uint_fast64_t;
|
||||
|
||||
typedef int64_t intmax_t;
|
||||
typedef uint64_t uintmax_t;
|
||||
@@ -235,15 +235,15 @@ namespace boost
|
||||
typedef unsigned short uint_least16_t;
|
||||
typedef unsigned short uint_fast16_t;
|
||||
# endif
|
||||
# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)
|
||||
// On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified
|
||||
// MTA / XMT does support the following non-standard integer types
|
||||
typedef __short16 int16_t;
|
||||
typedef __short16 int_least16_t;
|
||||
typedef __short16 int_fast16_t;
|
||||
typedef unsigned __short16 uint16_t;
|
||||
typedef unsigned __short16 uint_least16_t;
|
||||
typedef unsigned __short16 uint_fast16_t;
|
||||
# elif (USHRT_MAX == 0xffffffff) && defined(__MTA__)
|
||||
// On MTA / XMT short is 32 bits unless the -short16 compiler flag is specified
|
||||
// MTA / XMT does support the following non-standard integer types
|
||||
typedef __short16 int16_t;
|
||||
typedef __short16 int_least16_t;
|
||||
typedef __short16 int_fast16_t;
|
||||
typedef unsigned __short16 uint16_t;
|
||||
typedef unsigned __short16 uint_least16_t;
|
||||
typedef unsigned __short16 uint_fast16_t;
|
||||
# elif (USHRT_MAX == 0xffffffff) && defined(CRAY)
|
||||
// no 16-bit types on Cray:
|
||||
typedef short int_least16_t;
|
||||
@@ -277,14 +277,14 @@ namespace boost
|
||||
typedef unsigned long uint32_t;
|
||||
typedef unsigned long uint_least32_t;
|
||||
typedef unsigned long uint_fast32_t;
|
||||
# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
|
||||
// Integers are 64 bits on the MTA / XMT
|
||||
typedef __int32 int32_t;
|
||||
typedef __int32 int_least32_t;
|
||||
typedef __int32 int_fast32_t;
|
||||
typedef unsigned __int32 uint32_t;
|
||||
typedef unsigned __int32 uint_least32_t;
|
||||
typedef unsigned __int32 uint_fast32_t;
|
||||
# elif (UINT_MAX == 0xffffffffffffffff) && defined(__MTA__)
|
||||
// Integers are 64 bits on the MTA / XMT
|
||||
typedef __int32 int32_t;
|
||||
typedef __int32 int_least32_t;
|
||||
typedef __int32 int_fast32_t;
|
||||
typedef unsigned __int32 uint32_t;
|
||||
typedef unsigned __int32 uint_least32_t;
|
||||
typedef unsigned __int32 uint_fast32_t;
|
||||
# else
|
||||
# error defaults not correct; you must hand modify boost/cstdint.hpp
|
||||
# endif
|
||||
@@ -337,16 +337,16 @@ namespace boost
|
||||
__extension__ typedef unsigned long long uint_fast64_t;
|
||||
# elif defined(BOOST_HAS_MS_INT64)
|
||||
//
|
||||
// we have Borland/Intel/Microsoft __int64:
|
||||
// we have Borland/Intel/Microsoft int64_t:
|
||||
//
|
||||
typedef __int64 intmax_t;
|
||||
typedef unsigned __int64 uintmax_t;
|
||||
typedef __int64 int64_t;
|
||||
typedef __int64 int_least64_t;
|
||||
typedef __int64 int_fast64_t;
|
||||
typedef unsigned __int64 uint64_t;
|
||||
typedef unsigned __int64 uint_least64_t;
|
||||
typedef unsigned __int64 uint_fast64_t;
|
||||
typedef int64_t intmax_t;
|
||||
typedef uint64_t uintmax_t;
|
||||
typedef int64_t int64_t;
|
||||
typedef int64_t int_least64_t;
|
||||
typedef int64_t int_fast64_t;
|
||||
typedef uint64_t uint64_t;
|
||||
typedef uint64_t uint_least64_t;
|
||||
typedef uint64_t uint_fast64_t;
|
||||
# else // assume no 64-bit integers
|
||||
# define BOOST_NO_INT64_T
|
||||
typedef int32_t intmax_t;
|
||||
@@ -376,15 +376,15 @@ INT#_C macros if they're not already defined (John Maddock).
|
||||
#if !defined(BOOST__STDC_CONSTANT_MACROS_DEFINED) && \
|
||||
(!defined(INT8_C) || !defined(INT16_C) || !defined(INT32_C) || !defined(INT64_C))
|
||||
//
|
||||
// For the following code we get several warnings along the lines of:
|
||||
//
|
||||
// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
|
||||
//
|
||||
// So we declare this a system header to suppress these warnings.
|
||||
// For the following code we get several warnings along the lines of:
|
||||
//
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
// boost/cstdint.hpp:428:35: error: use of C99 long long integer constant
|
||||
//
|
||||
// So we declare this a system header to suppress these warnings.
|
||||
//
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
#pragma GCC system_header
|
||||
#endif
|
||||
|
||||
#include <limits.h>
|
||||
# define BOOST__STDC_CONSTANT_MACROS_DEFINED
|
||||
|
||||
@@ -68,7 +68,7 @@ extern "C" {
|
||||
//~ #if defined(BOOST_NO_INT64_T)
|
||||
//~ typedef double LONGLONG_;
|
||||
//~ #else
|
||||
//~ typedef __int64 LONGLONG_;
|
||||
//~ typedef int64_t LONGLONG_;
|
||||
//~ #endif
|
||||
//~ #else
|
||||
//~ typedef double LONGLONG_;
|
||||
@@ -80,7 +80,7 @@ extern "C" {
|
||||
#if defined(__CYGWIN__)
|
||||
typedef unsigned long ULONG_PTR_;
|
||||
#else
|
||||
typedef unsigned __int64 ULONG_PTR_;
|
||||
typedef uint64_t ULONG_PTR_;
|
||||
#endif
|
||||
# else
|
||||
typedef unsigned long ULONG_PTR_;
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace win32
|
||||
using ::TryEnterCriticalSection;
|
||||
using ::LeaveCriticalSection;
|
||||
using ::DeleteCriticalSection;
|
||||
|
||||
|
||||
# ifdef BOOST_NO_ANSI_APIS
|
||||
using ::CreateMutexW;
|
||||
using ::CreateEventW;
|
||||
@@ -56,67 +56,67 @@ extern "C" {
|
||||
void * OwningThread;
|
||||
void * LockSemaphore;
|
||||
#if defined(_WIN64)
|
||||
unsigned __int64 SpinCount;
|
||||
uint64_t SpinCount;
|
||||
#else
|
||||
unsigned long SpinCount;
|
||||
#endif
|
||||
};
|
||||
|
||||
__declspec(dllimport) void __stdcall
|
||||
__declspec(dllimport) void __stdcall
|
||||
InitializeCriticalSection(CRITICAL_SECTION_ *);
|
||||
__declspec(dllimport) void __stdcall
|
||||
__declspec(dllimport) void __stdcall
|
||||
EnterCriticalSection(CRITICAL_SECTION_ *);
|
||||
__declspec(dllimport) bool __stdcall
|
||||
__declspec(dllimport) bool __stdcall
|
||||
TryEnterCriticalSection(CRITICAL_SECTION_ *);
|
||||
__declspec(dllimport) void __stdcall
|
||||
__declspec(dllimport) void __stdcall
|
||||
LeaveCriticalSection(CRITICAL_SECTION_ *);
|
||||
__declspec(dllimport) void __stdcall
|
||||
__declspec(dllimport) void __stdcall
|
||||
DeleteCriticalSection(CRITICAL_SECTION_ *);
|
||||
|
||||
|
||||
struct _SECURITY_ATTRIBUTES;
|
||||
# ifdef BOOST_NO_ANSI_APIS
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
CreateMutexW(_SECURITY_ATTRIBUTES*,int,wchar_t const*);
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
CreateSemaphoreW(_SECURITY_ATTRIBUTES*,long,long,wchar_t const*);
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
CreateEventW(_SECURITY_ATTRIBUTES*,int,int,wchar_t const*);
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
OpenEventW(unsigned long,int,wchar_t const*);
|
||||
# else
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
CreateMutexA(_SECURITY_ATTRIBUTES*,int,char const*);
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
CreateSemaphoreA(_SECURITY_ATTRIBUTES*,long,long,char const*);
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
CreateEventA(_SECURITY_ATTRIBUTES*,int,int,char const*);
|
||||
__declspec(dllimport) void* __stdcall
|
||||
__declspec(dllimport) void* __stdcall
|
||||
OpenEventA(unsigned long,int,char const*);
|
||||
# endif
|
||||
__declspec(dllimport) int __stdcall
|
||||
__declspec(dllimport) int __stdcall
|
||||
ReleaseMutex(void*);
|
||||
__declspec(dllimport) unsigned long __stdcall
|
||||
__declspec(dllimport) unsigned long __stdcall
|
||||
WaitForSingleObject(void*,unsigned long);
|
||||
__declspec(dllimport) unsigned long __stdcall
|
||||
__declspec(dllimport) unsigned long __stdcall
|
||||
WaitForMultipleObjects(unsigned long nCount,
|
||||
void* const * lpHandles,
|
||||
int bWaitAll,
|
||||
unsigned long dwMilliseconds);
|
||||
__declspec(dllimport) int __stdcall
|
||||
__declspec(dllimport) int __stdcall
|
||||
ReleaseSemaphore(void*,long,long*);
|
||||
typedef void (__stdcall *PAPCFUNC8)(ulong_ptr);
|
||||
__declspec(dllimport) unsigned long __stdcall
|
||||
__declspec(dllimport) unsigned long __stdcall
|
||||
QueueUserAPC(PAPCFUNC8,void*,ulong_ptr);
|
||||
# ifndef UNDER_CE
|
||||
__declspec(dllimport) int __stdcall
|
||||
__declspec(dllimport) int __stdcall
|
||||
SetEvent(void*);
|
||||
__declspec(dllimport) int __stdcall
|
||||
__declspec(dllimport) int __stdcall
|
||||
ResetEvent(void*);
|
||||
# else
|
||||
using ::SetEvent;
|
||||
using ::ResetEvent;
|
||||
# endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,15 +42,15 @@ namespace boost
|
||||
// fast integers from least integers
|
||||
// int_fast_t<> works correctly for unsigned too, in spite of the name.
|
||||
template< typename LeastInt >
|
||||
struct int_fast_t
|
||||
{
|
||||
typedef LeastInt fast;
|
||||
struct int_fast_t
|
||||
{
|
||||
typedef LeastInt fast;
|
||||
typedef fast type;
|
||||
}; // imps may specialize
|
||||
|
||||
namespace detail{
|
||||
|
||||
// convert category to type
|
||||
// convert category to type
|
||||
template< int Category > struct int_least_helper {}; // default is empty
|
||||
template< int Category > struct uint_least_helper {}; // default is empty
|
||||
|
||||
@@ -60,7 +60,7 @@ namespace boost
|
||||
#ifdef BOOST_HAS_LONG_LONG
|
||||
template<> struct int_least_helper<1> { typedef boost::long_long_type least; };
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
template<> struct int_least_helper<1> { typedef __int64 least; };
|
||||
template<> struct int_least_helper<1> { typedef int64_t least; };
|
||||
#endif
|
||||
template<> struct int_least_helper<2> { typedef long least; };
|
||||
template<> struct int_least_helper<3> { typedef int least; };
|
||||
@@ -69,7 +69,7 @@ namespace boost
|
||||
#ifdef BOOST_HAS_LONG_LONG
|
||||
template<> struct uint_least_helper<1> { typedef boost::ulong_long_type least; };
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
template<> struct uint_least_helper<1> { typedef unsigned __int64 least; };
|
||||
template<> struct uint_least_helper<1> { typedef uint64_t least; };
|
||||
#endif
|
||||
template<> struct uint_least_helper<2> { typedef unsigned long least; };
|
||||
template<> struct uint_least_helper<3> { typedef unsigned int least; };
|
||||
@@ -138,7 +138,7 @@ namespace boost
|
||||
"No suitable unsigned integer type with the requested number of bits is available.");
|
||||
#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T)
|
||||
// It's really not clear why this workaround should be needed... shrug I guess! JM
|
||||
BOOST_STATIC_CONSTANT(int, s =
|
||||
BOOST_STATIC_CONSTANT(int, s =
|
||||
6 +
|
||||
(Bits <= ::std::numeric_limits<unsigned long>::digits) +
|
||||
(Bits <= ::std::numeric_limits<unsigned int>::digits) +
|
||||
@@ -147,7 +147,7 @@ namespace boost
|
||||
typedef typename detail::int_least_helper< ::boost::uint_t<Bits>::s>::least least;
|
||||
#else
|
||||
typedef typename detail::uint_least_helper
|
||||
<
|
||||
<
|
||||
#ifdef BOOST_HAS_LONG_LONG
|
||||
(Bits <= (int)(sizeof(boost::long_long_type) * CHAR_BIT)) +
|
||||
#else
|
||||
@@ -171,7 +171,7 @@ namespace boost
|
||||
#else
|
||||
template< long MaxValue > // maximum value to require support
|
||||
#endif
|
||||
struct int_max_value_t
|
||||
struct int_max_value_t
|
||||
{
|
||||
typedef typename detail::int_least_helper
|
||||
<
|
||||
@@ -193,7 +193,7 @@ namespace boost
|
||||
#else
|
||||
template< long MinValue > // minimum value to require support
|
||||
#endif
|
||||
struct int_min_value_t
|
||||
struct int_min_value_t
|
||||
{
|
||||
typedef typename detail::int_least_helper
|
||||
<
|
||||
@@ -216,12 +216,12 @@ namespace boost
|
||||
#else
|
||||
template< unsigned long MaxValue > // minimum value to require support
|
||||
#endif
|
||||
struct uint_value_t
|
||||
struct uint_value_t
|
||||
{
|
||||
#if (defined(__BORLANDC__) || defined(__CODEGEAR__))
|
||||
// It's really not clear why this workaround should be needed... shrug I guess! JM
|
||||
#if defined(BOOST_NO_INTEGRAL_INT64_T)
|
||||
BOOST_STATIC_CONSTANT(unsigned, which =
|
||||
BOOST_STATIC_CONSTANT(unsigned, which =
|
||||
1 +
|
||||
(MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
|
||||
(MaxValue <= ::boost::integer_traits<unsigned int>::const_max) +
|
||||
@@ -229,7 +229,7 @@ namespace boost
|
||||
(MaxValue <= ::boost::integer_traits<unsigned char>::const_max));
|
||||
typedef typename detail::int_least_helper< ::boost::uint_value_t<MaxValue>::which>::least least;
|
||||
#else // BOOST_NO_INTEGRAL_INT64_T
|
||||
BOOST_STATIC_CONSTANT(unsigned, which =
|
||||
BOOST_STATIC_CONSTANT(unsigned, which =
|
||||
1 +
|
||||
(MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +
|
||||
(MaxValue <= ::boost::integer_traits<unsigned long>::const_max) +
|
||||
@@ -240,7 +240,7 @@ namespace boost
|
||||
#endif // BOOST_NO_INTEGRAL_INT64_T
|
||||
#else
|
||||
typedef typename detail::uint_least_helper
|
||||
<
|
||||
<
|
||||
#if !defined(BOOST_NO_INTEGRAL_INT64_T) && defined(BOOST_HAS_LONG_LONG)
|
||||
(MaxValue <= ::boost::integer_traits<boost::ulong_long_type>::const_max) +
|
||||
#else
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
// accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
|
||||
#ifndef BOOST_INTEGER_INTEGER_MASK_HPP
|
||||
#define BOOST_INTEGER_INTEGER_MASK_HPP
|
||||
@@ -109,7 +109,7 @@ BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned long );
|
||||
#endif
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
#if 18446744073709551615ui64 > ULONG_MAX
|
||||
BOOST_LOW_BITS_MASK_SPECIALIZE( unsigned __int64 );
|
||||
BOOST_LOW_BITS_MASK_SPECIALIZE( uint64_t );
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
@@ -85,10 +85,10 @@ template < >
|
||||
class integer_traits< ::boost::ulong_long_type >;
|
||||
#elif !defined(BOOST_NO_INTEGRAL_INT64_T) && !defined(BOOST_NO_INT64_T) && defined(BOOST_HAS_MS_INT64)
|
||||
template < >
|
||||
class integer_traits<__int64>;
|
||||
class integer_traits<int64_t>;
|
||||
|
||||
template < >
|
||||
class integer_traits<unsigned __int64>;
|
||||
class integer_traits<uint64_t>;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -239,15 +239,15 @@ class integer_traits< ::boost::ulong_long_type>
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
|
||||
template<>
|
||||
class integer_traits< __int64>
|
||||
: public std::numeric_limits< __int64>,
|
||||
public detail::integer_traits_base< __int64, _I64_MIN, _I64_MAX>
|
||||
class integer_traits< int64_t>
|
||||
: public std::numeric_limits< int64_t>,
|
||||
public detail::integer_traits_base< int64_t, _I64_MIN, _I64_MAX>
|
||||
{ };
|
||||
|
||||
template<>
|
||||
class integer_traits< unsigned __int64>
|
||||
: public std::numeric_limits< unsigned __int64>,
|
||||
public detail::integer_traits_base< unsigned __int64, 0, _UI64_MAX>
|
||||
class integer_traits< uint64_t>
|
||||
: public std::numeric_limits< uint64_t>,
|
||||
public detail::integer_traits_base< uint64_t, 0, _UI64_MAX>
|
||||
{ };
|
||||
|
||||
#endif
|
||||
|
||||
@@ -610,7 +610,7 @@ struct interprocess_section_basic_information
|
||||
{
|
||||
void * base_address;
|
||||
unsigned long section_attributes;
|
||||
__int64 section_size;
|
||||
int64_t section_size;
|
||||
};
|
||||
|
||||
struct interprocess_filetime
|
||||
@@ -778,9 +778,9 @@ union system_timeofday_information
|
||||
{
|
||||
struct data_t
|
||||
{
|
||||
__int64 liKeBootTime;
|
||||
__int64 liKeSystemTime;
|
||||
__int64 liExpTimeZoneBias;
|
||||
int64_t liKeBootTime;
|
||||
int64_t liKeSystemTime;
|
||||
int64_t liExpTimeZoneBias;
|
||||
unsigned long uCurrentTimeZoneId;
|
||||
unsigned long dwReserved;
|
||||
} data;
|
||||
@@ -877,7 +877,7 @@ extern "C" __declspec(dllimport) int __stdcall FlushViewOfFile (void *, std::siz
|
||||
extern "C" __declspec(dllimport) int __stdcall VirtualUnlock (void *, std::size_t);
|
||||
extern "C" __declspec(dllimport) int __stdcall VirtualProtect (void *, std::size_t, unsigned long, unsigned long *);
|
||||
extern "C" __declspec(dllimport) int __stdcall FlushFileBuffers (void *);
|
||||
extern "C" __declspec(dllimport) int __stdcall GetFileSizeEx (void *, __int64 *size);
|
||||
extern "C" __declspec(dllimport) int __stdcall GetFileSizeEx (void *, int64_t *size);
|
||||
extern "C" __declspec(dllimport) unsigned long __stdcall FormatMessageA
|
||||
(unsigned long dwFlags, const void *lpSource, unsigned long dwMessageId,
|
||||
unsigned long dwLanguageId, char *lpBuffer, unsigned long nSize,
|
||||
@@ -888,9 +888,9 @@ extern "C" __declspec(dllimport) int __stdcall CreateDirectoryA(const char *, in
|
||||
extern "C" __declspec(dllimport) int __stdcall RemoveDirectoryA(const char *lpPathName);
|
||||
extern "C" __declspec(dllimport) int __stdcall GetTempPathA(unsigned long length, char *buffer);
|
||||
extern "C" __declspec(dllimport) int __stdcall CreateDirectory(const char *, interprocess_security_attributes*);
|
||||
extern "C" __declspec(dllimport) int __stdcall SetFileValidData(void *, __int64 size);
|
||||
extern "C" __declspec(dllimport) int __stdcall SetFileValidData(void *, int64_t size);
|
||||
extern "C" __declspec(dllimport) int __stdcall SetEndOfFile(void *);
|
||||
extern "C" __declspec(dllimport) int __stdcall SetFilePointerEx(void *, __int64 distance, __int64 *new_file_pointer, unsigned long move_method);
|
||||
extern "C" __declspec(dllimport) int __stdcall SetFilePointerEx(void *, int64_t distance, int64_t *new_file_pointer, unsigned long move_method);
|
||||
extern "C" __declspec(dllimport) int __stdcall LockFile (void *hnd, unsigned long offset_low, unsigned long offset_high, unsigned long size_low, unsigned long size_high);
|
||||
extern "C" __declspec(dllimport) int __stdcall UnlockFile(void *hnd, unsigned long offset_low, unsigned long offset_high, unsigned long size_low, unsigned long size_high);
|
||||
extern "C" __declspec(dllimport) int __stdcall LockFileEx(void *hnd, unsigned long flags, unsigned long reserved, unsigned long size_low, unsigned long size_high, interprocess_overlapped* overlapped);
|
||||
@@ -908,7 +908,7 @@ extern "C" __declspec(dllimport) unsigned long __stdcall GetMappedFileNameW(void
|
||||
extern "C" __declspec(dllimport) long __stdcall RegOpenKeyExA(void *, const char *, unsigned long, unsigned long, void **);
|
||||
extern "C" __declspec(dllimport) long __stdcall RegQueryValueExA(void *, const char *, unsigned long*, unsigned long*, unsigned char *, unsigned long*);
|
||||
extern "C" __declspec(dllimport) long __stdcall RegCloseKey(void *);
|
||||
extern "C" __declspec(dllimport) int __stdcall QueryPerformanceCounter(__int64 *lpPerformanceCount);
|
||||
extern "C" __declspec(dllimport) int __stdcall QueryPerformanceCounter(int64_t *lpPerformanceCount);
|
||||
|
||||
//COM API
|
||||
extern "C" __declspec(dllimport) long __stdcall CoInitializeEx(void *pvReserved, unsigned long dwCoInit);
|
||||
@@ -1091,7 +1091,7 @@ class interprocess_all_access_security
|
||||
{ return &sa; }
|
||||
};
|
||||
|
||||
inline void * create_file_mapping (void * handle, unsigned long access, unsigned __int64 file_offset, const char * name, interprocess_security_attributes *psec)
|
||||
inline void * create_file_mapping (void * handle, unsigned long access, uint64_t file_offset, const char * name, interprocess_security_attributes *psec)
|
||||
{
|
||||
const unsigned long high_size(file_offset >> 32), low_size((boost::uint32_t)file_offset);
|
||||
return CreateFileMappingA (handle, psec, access, high_size, low_size, name);
|
||||
@@ -1100,9 +1100,9 @@ inline void * create_file_mapping (void * handle, unsigned long access, unsigned
|
||||
inline void * open_file_mapping (unsigned long access, const char *name)
|
||||
{ return OpenFileMappingA (access, 0, name); }
|
||||
|
||||
inline void *map_view_of_file_ex(void *handle, unsigned long file_access, unsigned __int64 offset, std::size_t numbytes, void *base_addr)
|
||||
inline void *map_view_of_file_ex(void *handle, unsigned long file_access, uint64_t offset, std::size_t numbytes, void *base_addr)
|
||||
{
|
||||
const unsigned long offset_low = (unsigned long)(offset & ((unsigned __int64)0xFFFFFFFF));
|
||||
const unsigned long offset_low = (unsigned long)(offset & ((uint64_t)0xFFFFFFFF));
|
||||
const unsigned long offset_high = offset >> 32;
|
||||
return MapViewOfFileEx(handle, file_access, offset_high, offset_low, numbytes, base_addr);
|
||||
}
|
||||
@@ -1146,7 +1146,7 @@ inline bool virtual_protect(void *base_addr, std::size_t numbytes, unsigned long
|
||||
inline bool flush_file_buffers(void *handle)
|
||||
{ return 0 != FlushFileBuffers(handle); }
|
||||
|
||||
inline bool get_file_size(void *handle, __int64 &size)
|
||||
inline bool get_file_size(void *handle, int64_t &size)
|
||||
{ return 0 != GetFileSizeEx(handle, &size); }
|
||||
|
||||
inline bool create_directory(const char *name)
|
||||
@@ -1164,7 +1164,7 @@ inline unsigned long get_temp_path(unsigned long length, char *buffer)
|
||||
inline int set_end_of_file(void *handle)
|
||||
{ return 0 != SetEndOfFile(handle); }
|
||||
|
||||
inline bool set_file_pointer_ex(void *handle, __int64 distance, __int64 *new_file_pointer, unsigned long move_method)
|
||||
inline bool set_file_pointer_ex(void *handle, int64_t distance, int64_t *new_file_pointer, unsigned long move_method)
|
||||
{ return 0 != SetFilePointerEx(handle, distance, new_file_pointer, move_method); }
|
||||
|
||||
inline bool lock_file_ex(void *hnd, unsigned long flags, unsigned long reserved, unsigned long size_low, unsigned long size_high, interprocess_overlapped *overlapped)
|
||||
@@ -1225,7 +1225,7 @@ inline long reg_query_value_ex(void *hKey, const char *lpValueName, unsigned lon
|
||||
inline long reg_close_key(void *hKey)
|
||||
{ return RegCloseKey(hKey); }
|
||||
|
||||
inline bool query_performance_counter(__int64 *lpPerformanceCount)
|
||||
inline bool query_performance_counter(int64_t *lpPerformanceCount)
|
||||
{
|
||||
return 0 != QueryPerformanceCounter(lpPerformanceCount);
|
||||
}
|
||||
@@ -1812,7 +1812,7 @@ inline bool is_directory(const char *path)
|
||||
(attrib & file_attribute_directory));
|
||||
}
|
||||
|
||||
inline bool get_file_mapping_size(void *file_mapping_hnd, __int64 &size)
|
||||
inline bool get_file_mapping_size(void *file_mapping_hnd, int64_t &size)
|
||||
{
|
||||
NtQuerySection_t pNtQuerySection =
|
||||
(NtQuerySection_t)dll_func::get(dll_func::NtQuerySection);
|
||||
|
||||
@@ -138,7 +138,7 @@ class windows_named_condition_any
|
||||
|
||||
class named_cond_callbacks : public windows_named_sync_interface
|
||||
{
|
||||
typedef __int64 sem_count_t;
|
||||
typedef int64_t sem_count_t;
|
||||
mutable sem_count_t sem_counts [2];
|
||||
|
||||
public:
|
||||
|
||||
@@ -66,7 +66,7 @@ class windows_named_semaphore
|
||||
class named_sem_callbacks : public windows_named_sync_interface
|
||||
{
|
||||
public:
|
||||
typedef __int64 sem_count_t;
|
||||
typedef int64_t sem_count_t;
|
||||
named_sem_callbacks(winapi_semaphore_wrapper &sem_wrapper, sem_count_t sem_cnt)
|
||||
: m_sem_wrapper(sem_wrapper), m_sem_count(sem_cnt)
|
||||
{}
|
||||
|
||||
@@ -122,12 +122,12 @@ inline void windows_named_sync::open_or_create
|
||||
if(m_file_hnd != winapi::invalid_handle_value){
|
||||
//Now lock the file
|
||||
const std::size_t buflen = sync_interface.get_data_size();
|
||||
typedef __int64 unique_id_type;
|
||||
typedef int64_t unique_id_type;
|
||||
const std::size_t sizeof_file_info = sizeof(unique_id_type) + buflen;
|
||||
winapi::interprocess_overlapped overlapped;
|
||||
if(winapi::lock_file_ex
|
||||
(m_file_hnd, winapi::lockfile_exclusive_lock, 0, sizeof_file_info, 0, &overlapped)){
|
||||
__int64 filesize = 0;
|
||||
int64_t filesize = 0;
|
||||
//Obtain the unique id to open the native semaphore.
|
||||
//If file size was created
|
||||
if(winapi::get_file_size(m_file_hnd, filesize)){
|
||||
|
||||
@@ -62,7 +62,7 @@ inline bool bytes_to_str(const void *mem, const std::size_t mem_length, char *ou
|
||||
class sync_id
|
||||
{
|
||||
public:
|
||||
typedef __int64 internal_type;
|
||||
typedef int64_t internal_type;
|
||||
sync_id(const void *map_addr)
|
||||
: map_addr_(map_addr)
|
||||
{ winapi::query_performance_counter(&rand_); }
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
/*
|
||||
* Distributed under the Boost Software License, Version 1.0.(See accompanying
|
||||
* Distributed under the Boost Software License, Version 1.0.(See accompanying
|
||||
* file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt.)
|
||||
*
|
||||
*
|
||||
* See http://www.boost.org/libs/iostreams for documentation.
|
||||
*
|
||||
* Defines preprocessor symbols expanding to the names of functions in the
|
||||
* Defines preprocessor symbols expanding to the names of functions in the
|
||||
* C runtime library used to access file descriptors and to the type used
|
||||
* to store file offsets for seeking.
|
||||
*
|
||||
*
|
||||
* File: boost/iostreams/detail/config/rtl.hpp
|
||||
* Date: Wed Dec 26 11:58:11 MST 2007
|
||||
*
|
||||
*
|
||||
* Copyright: 2007-2008 CodeRage, LLC
|
||||
* Author: Jonathan Turkanis
|
||||
* Contact: turkanis at coderage dot com
|
||||
@@ -39,9 +39,9 @@
|
||||
#ifdef BOOST_IOSTREAMS_WINDOWS
|
||||
# if defined(BOOST_MSVC) || defined(__MSVCRT__) // MSVC, MinGW
|
||||
# define BOOST_IOSTREAMS_FD_SEEK _lseeki64
|
||||
# define BOOST_IOSTREAMS_FD_OFFSET __int64
|
||||
# define BOOST_IOSTREAMS_FD_OFFSET int64_t
|
||||
# else // Borland, Metrowerks, ...
|
||||
# define BOOST_IOSTREAMS_FD_SEEK lseek
|
||||
# define BOOST_IOSTREAMS_FD_SEEK lseek
|
||||
# define BOOST_IOSTREAMS_FD_OFFSET long
|
||||
# endif
|
||||
#else // Non-windows
|
||||
|
||||
@@ -73,12 +73,12 @@ namespace boost
|
||||
{
|
||||
// exception used to indicate runtime lexical_cast failure
|
||||
class BOOST_SYMBOL_VISIBLE bad_lexical_cast :
|
||||
// workaround MSVC bug with std::bad_cast when _HAS_EXCEPTIONS == 0
|
||||
#if defined(BOOST_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS
|
||||
public std::exception
|
||||
#else
|
||||
public std::bad_cast
|
||||
#endif
|
||||
// workaround MSVC bug with std::bad_cast when _HAS_EXCEPTIONS == 0
|
||||
#if defined(BOOST_MSVC) && defined(_HAS_EXCEPTIONS) && !_HAS_EXCEPTIONS
|
||||
public std::exception
|
||||
#else
|
||||
public std::bad_cast
|
||||
#endif
|
||||
|
||||
#if defined(__BORLANDC__) && BOOST_WORKAROUND( __BORLANDC__, < 0x560 )
|
||||
// under bcc32 5.5.1 bad_cast doesn't derive from exception
|
||||
@@ -203,7 +203,7 @@ namespace boost {
|
||||
{
|
||||
// Converts signed/unsigned char to char
|
||||
template < class Char >
|
||||
struct normalize_single_byte_char
|
||||
struct normalize_single_byte_char
|
||||
{
|
||||
typedef Char type;
|
||||
};
|
||||
@@ -223,7 +223,7 @@ namespace boost {
|
||||
|
||||
namespace detail // deduce_character_type_later<T>
|
||||
{
|
||||
// Helper type, meaning that stram character for T must be deduced
|
||||
// Helper type, meaning that stram character for T must be deduced
|
||||
// at Stage 2 (See deduce_source_char<T> and deduce_target_char<T>)
|
||||
template < class T > struct deduce_character_type_later {};
|
||||
}
|
||||
@@ -260,7 +260,7 @@ namespace boost {
|
||||
Char,
|
||||
boost::detail::deduce_character_type_later< boost::iterator_range< Char* > >
|
||||
> {};
|
||||
|
||||
|
||||
template < typename Char >
|
||||
struct stream_char_common< boost::iterator_range< const Char* > >: public boost::mpl::if_c<
|
||||
boost::detail::is_char_or_wchar< Char >::value,
|
||||
@@ -326,19 +326,19 @@ namespace boost {
|
||||
// Otherwise supplied type T is a character type, that must be normalized
|
||||
// using normalize_single_byte_char<Char>.
|
||||
// Executed at Stage 2 (See deduce_source_char<T> and deduce_target_char<T>)
|
||||
template < class Char >
|
||||
template < class Char >
|
||||
struct deduce_source_char_impl
|
||||
{
|
||||
typedef BOOST_DEDUCED_TYPENAME boost::detail::normalize_single_byte_char< Char >::type type;
|
||||
{
|
||||
typedef BOOST_DEDUCED_TYPENAME boost::detail::normalize_single_byte_char< Char >::type type;
|
||||
};
|
||||
|
||||
template < class T >
|
||||
struct deduce_source_char_impl< deduce_character_type_later< T > >
|
||||
|
||||
template < class T >
|
||||
struct deduce_source_char_impl< deduce_character_type_later< T > >
|
||||
{
|
||||
typedef boost::has_left_shift< std::basic_ostream< char >, T > result_t;
|
||||
|
||||
#if defined(BOOST_LCAST_NO_WCHAR_T)
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value),
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value),
|
||||
"Source type is not std::ostream`able and std::wostream`s are not supported by your STL implementation");
|
||||
typedef char type;
|
||||
#else
|
||||
@@ -346,7 +346,7 @@ namespace boost {
|
||||
result_t::value, char, wchar_t
|
||||
>::type type;
|
||||
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_left_shift< std::basic_ostream< type >, T >::value),
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_left_shift< std::basic_ostream< type >, T >::value),
|
||||
"Source type is neither std::ostream`able nor std::wostream`able");
|
||||
#endif
|
||||
};
|
||||
@@ -359,47 +359,47 @@ namespace boost {
|
||||
// Otherwise supplied type T is a character type, that must be normalized
|
||||
// using normalize_single_byte_char<Char>.
|
||||
// Executed at Stage 2 (See deduce_source_char<T> and deduce_target_char<T>)
|
||||
template < class Char >
|
||||
struct deduce_target_char_impl
|
||||
{
|
||||
typedef BOOST_DEDUCED_TYPENAME normalize_single_byte_char< Char >::type type;
|
||||
template < class Char >
|
||||
struct deduce_target_char_impl
|
||||
{
|
||||
typedef BOOST_DEDUCED_TYPENAME normalize_single_byte_char< Char >::type type;
|
||||
};
|
||||
|
||||
template < class T >
|
||||
struct deduce_target_char_impl< deduce_character_type_later<T> >
|
||||
{
|
||||
|
||||
template < class T >
|
||||
struct deduce_target_char_impl< deduce_character_type_later<T> >
|
||||
{
|
||||
typedef boost::has_right_shift<std::basic_istream<char>, T > result_t;
|
||||
|
||||
#if defined(BOOST_LCAST_NO_WCHAR_T)
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value),
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value),
|
||||
"Target type is not std::istream`able and std::wistream`s are not supported by your STL implementation");
|
||||
typedef char type;
|
||||
#else
|
||||
typedef BOOST_DEDUCED_TYPENAME boost::mpl::if_c<
|
||||
result_t::value, char, wchar_t
|
||||
>::type type;
|
||||
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
|
||||
|
||||
BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
|
||||
"Target type is neither std::istream`able nor std::wistream`able");
|
||||
#endif
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
namespace detail // deduce_target_char<T> and deduce_source_char<T>
|
||||
{
|
||||
// We deduce stream character types in two stages.
|
||||
//
|
||||
// Stage 1 is common for Target and Source. At Stage 1 we get
|
||||
// Stage 1 is common for Target and Source. At Stage 1 we get
|
||||
// non normalized character type (may contain unsigned/signed char)
|
||||
// or deduce_character_type_later<T> where T is the original type.
|
||||
// Stage 1 is executed by stream_char_common<T>
|
||||
//
|
||||
// At Stage 2 we normalize character types or try to deduce character
|
||||
// type using metafunctions.
|
||||
// Stage 2 is executed by deduce_target_char_impl<T> and
|
||||
// At Stage 2 we normalize character types or try to deduce character
|
||||
// type using metafunctions.
|
||||
// Stage 2 is executed by deduce_target_char_impl<T> and
|
||||
// deduce_source_char_impl<T>
|
||||
//
|
||||
// deduce_target_char<T> and deduce_source_char<T> functions combine
|
||||
// deduce_target_char<T> and deduce_source_char<T> functions combine
|
||||
// both stages
|
||||
|
||||
template < class T >
|
||||
@@ -521,11 +521,11 @@ namespace boost {
|
||||
|
||||
namespace detail // is_this_float_conversion_optimized<Float, Char>
|
||||
{
|
||||
// this metafunction evaluates to true, if we have optimized comnversion
|
||||
// from Float type to Char array.
|
||||
// this metafunction evaluates to true, if we have optimized comnversion
|
||||
// from Float type to Char array.
|
||||
// Must be in sync with lexical_stream_limited_src<Char, ...>::shl_real_type(...)
|
||||
template <typename Float, typename Char>
|
||||
struct is_this_float_conversion_optimized
|
||||
struct is_this_float_conversion_optimized
|
||||
{
|
||||
typedef boost::type_traits::ice_and<
|
||||
boost::is_float<Float>::value,
|
||||
@@ -542,7 +542,7 @@ namespace boost {
|
||||
BOOST_STATIC_CONSTANT(bool, value = (result_type::value) );
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
namespace detail // lcast_src_length
|
||||
{
|
||||
// Return max. length of string representation of Source;
|
||||
@@ -599,8 +599,8 @@ namespace boost {
|
||||
BOOST_LCAST_DEF(boost::ulong_long_type)
|
||||
BOOST_LCAST_DEF(boost::long_long_type )
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_LCAST_DEF(unsigned __int64)
|
||||
BOOST_LCAST_DEF( __int64)
|
||||
BOOST_LCAST_DEF(uint64_t)
|
||||
BOOST_LCAST_DEF( int64_t)
|
||||
#endif
|
||||
|
||||
#undef BOOST_LCAST_DEF
|
||||
@@ -610,7 +610,7 @@ namespace boost {
|
||||
// -1.23456789e-123456
|
||||
// ^ sign
|
||||
// ^ leading digit
|
||||
// ^ decimal point
|
||||
// ^ decimal point
|
||||
// ^^^^^^^^ lcast_precision<Source>::value
|
||||
// ^ "e"
|
||||
// ^ exponent sign
|
||||
@@ -658,11 +658,11 @@ namespace boost {
|
||||
struct lexical_cast_stream_traits {
|
||||
typedef BOOST_DEDUCED_TYPENAME boost::detail::array_to_pointer_decay<Source>::type src;
|
||||
typedef BOOST_DEDUCED_TYPENAME boost::remove_cv<src>::type no_cv_src;
|
||||
|
||||
|
||||
typedef boost::detail::deduce_source_char<no_cv_src> deduce_src_char_metafunc;
|
||||
typedef BOOST_DEDUCED_TYPENAME deduce_src_char_metafunc::type src_char_t;
|
||||
typedef BOOST_DEDUCED_TYPENAME boost::detail::deduce_target_char<Target>::type target_char_t;
|
||||
|
||||
|
||||
typedef BOOST_DEDUCED_TYPENAME boost::detail::widest_char<
|
||||
target_char_t, src_char_t
|
||||
>::type char_type;
|
||||
@@ -700,12 +700,12 @@ namespace boost {
|
||||
|
||||
// If we have an optimized conversion for
|
||||
// Source, we do not need to construct stringbuf.
|
||||
BOOST_STATIC_CONSTANT(bool, requires_stringbuf =
|
||||
BOOST_STATIC_CONSTANT(bool, requires_stringbuf =
|
||||
(boost::type_traits::ice_or<
|
||||
is_string_widening_required_t::value, is_source_input_not_optimized_t::value
|
||||
>::value)
|
||||
);
|
||||
|
||||
|
||||
typedef boost::detail::lcast_src_length<no_cv_src> len_t;
|
||||
};
|
||||
}
|
||||
@@ -1160,7 +1160,7 @@ namespace boost {
|
||||
#if defined(BOOST_HAS_LONG_LONG)
|
||||
typedef boost::ulong_long_type type;
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
typedef unsigned __int64 type;
|
||||
typedef uint64_t type;
|
||||
#endif
|
||||
};
|
||||
|
||||
@@ -1494,7 +1494,7 @@ namespace boost {
|
||||
"Use boost::locale instead" );
|
||||
return shl_input_streamable(str);
|
||||
}
|
||||
|
||||
|
||||
bool shl_char_array_limited(CharT const* str, std::size_t max_size) BOOST_NOEXCEPT
|
||||
{
|
||||
start = const_cast<CharT*>(str);
|
||||
@@ -1543,11 +1543,11 @@ namespace boost {
|
||||
{ using namespace std;
|
||||
if (put_inf_nan(begin, end, val)) return true;
|
||||
const double val_as_double = val;
|
||||
end = begin +
|
||||
end = begin +
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
|
||||
sprintf_s(begin, end-begin,
|
||||
#else
|
||||
sprintf(begin,
|
||||
sprintf(begin,
|
||||
#endif
|
||||
"%.*g", static_cast<int>(boost::detail::lcast_get_precision<float>()), val_as_double);
|
||||
return end > begin;
|
||||
@@ -1556,11 +1556,11 @@ namespace boost {
|
||||
static bool shl_real_type(double val, char* begin, char*& end)
|
||||
{ using namespace std;
|
||||
if (put_inf_nan(begin, end, val)) return true;
|
||||
end = begin +
|
||||
end = begin +
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
|
||||
sprintf_s(begin, end-begin,
|
||||
#else
|
||||
sprintf(begin,
|
||||
sprintf(begin,
|
||||
#endif
|
||||
"%.*g", static_cast<int>(boost::detail::lcast_get_precision<double>()), val);
|
||||
return end > begin;
|
||||
@@ -1570,11 +1570,11 @@ namespace boost {
|
||||
static bool shl_real_type(long double val, char* begin, char*& end)
|
||||
{ using namespace std;
|
||||
if (put_inf_nan(begin, end, val)) return true;
|
||||
end = begin +
|
||||
end = begin +
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
|
||||
sprintf_s(begin, end-begin,
|
||||
#else
|
||||
sprintf(begin,
|
||||
sprintf(begin,
|
||||
#endif
|
||||
"%.*Lg", static_cast<int>(boost::detail::lcast_get_precision<long double>()), val );
|
||||
return end > begin;
|
||||
@@ -1641,14 +1641,14 @@ namespace boost {
|
||||
{
|
||||
start = rng.begin();
|
||||
finish = rng.end();
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool operator<<(const iterator_range<const CharT*>& rng) BOOST_NOEXCEPT
|
||||
{
|
||||
start = const_cast<CharT*>(rng.begin());
|
||||
finish = const_cast<CharT*>(rng.end());
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool operator<<(const iterator_range<const signed char*>& rng) BOOST_NOEXCEPT
|
||||
@@ -1720,8 +1720,8 @@ namespace boost {
|
||||
bool operator<<(boost::ulong_long_type n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
|
||||
bool operator<<(boost::long_long_type n) { return shl_signed(n); }
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
bool operator<<(unsigned __int64 n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
|
||||
bool operator<<( __int64 n) { return shl_signed(n); }
|
||||
bool operator<<(uint64_t n) { start = lcast_put_unsigned<Traits>(n, finish); return true; }
|
||||
bool operator<<( int64_t n) { return shl_signed(n); }
|
||||
#endif
|
||||
bool operator<<(float val) { return shl_real_type(val, start, finish); }
|
||||
bool operator<<(double val) { return shl_real_type(val, start, finish); }
|
||||
@@ -1732,7 +1732,7 @@ namespace boost {
|
||||
return shl_real_type(static_cast<double>(val), start, finish);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
template <std::size_t N>
|
||||
bool operator<<(boost::array<CharT, N> const& input) BOOST_NOEXCEPT
|
||||
{ return shl_char_array_limited(input.begin(), N); }
|
||||
@@ -1756,13 +1756,13 @@ namespace boost {
|
||||
template <std::size_t N>
|
||||
bool operator<<(boost::array<const signed char, N> const& input) BOOST_NOEXCEPT
|
||||
{ return ((*this) << reinterpret_cast<boost::array<const char, N> const& >(input)); }
|
||||
|
||||
|
||||
#ifndef BOOST_NO_CXX11_HDR_ARRAY
|
||||
template <std::size_t N>
|
||||
bool operator<<(std::array<CharT, N> const& input) BOOST_NOEXCEPT
|
||||
{
|
||||
{
|
||||
if (input.size()) return shl_char_array_limited(&input[0], N);
|
||||
else return true;
|
||||
else return true;
|
||||
}
|
||||
|
||||
template <std::size_t N>
|
||||
@@ -1775,9 +1775,9 @@ namespace boost {
|
||||
|
||||
template <std::size_t N>
|
||||
bool operator<<(std::array<const CharT, N> const& input) BOOST_NOEXCEPT
|
||||
{
|
||||
{
|
||||
if (input.size()) return shl_char_array_limited(&input[0], N);
|
||||
else return true;
|
||||
else return true;
|
||||
}
|
||||
|
||||
template <std::size_t N>
|
||||
@@ -1788,7 +1788,7 @@ namespace boost {
|
||||
bool operator<<(std::array<const signed char, N> const& input) BOOST_NOEXCEPT
|
||||
{ return ((*this) << reinterpret_cast<boost::array<const char, N> const& >(input)); }
|
||||
#endif
|
||||
|
||||
|
||||
template <class InStreamable>
|
||||
bool operator<<(const InStreamable& input) { return shl_input_streamable(input); }
|
||||
|
||||
@@ -1927,8 +1927,8 @@ namespace boost {
|
||||
bool operator>>(boost::ulong_long_type& output) { return shr_unsigned(output); }
|
||||
bool operator>>(boost::long_long_type& output) { return shr_signed(output); }
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
bool operator>>(unsigned __int64& output) { return shr_unsigned(output); }
|
||||
bool operator>>(__int64& output) { return shr_signed(output); }
|
||||
bool operator>>(uint64_t& output) { return shr_unsigned(output); }
|
||||
bool operator>>(int64_t& output) { return shr_signed(output); }
|
||||
#endif
|
||||
bool operator>>(char& output) { return shr_xchar(output); }
|
||||
bool operator>>(unsigned char& output) { return shr_xchar(output); }
|
||||
@@ -1948,14 +1948,14 @@ namespace boost {
|
||||
template<class Alloc>
|
||||
bool operator>>(boost::container::basic_string<CharT,Traits,Alloc>& str) { str.assign(start, finish); return true; }
|
||||
|
||||
|
||||
|
||||
private:
|
||||
template <std::size_t N, class ArrayT>
|
||||
bool shr_std_array(ArrayT& output) BOOST_NOEXCEPT
|
||||
{
|
||||
using namespace std;
|
||||
const std::size_t size = finish - start;
|
||||
if (size > N - 1) { // `-1` because we need to store \0 at the end
|
||||
if (size > N - 1) { // `-1` because we need to store \0 at the end
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1968,39 +1968,39 @@ namespace boost {
|
||||
|
||||
template <std::size_t N>
|
||||
bool operator>>(boost::array<CharT, N>& output) BOOST_NOEXCEPT
|
||||
{
|
||||
return shr_std_array<N>(output);
|
||||
{
|
||||
return shr_std_array<N>(output);
|
||||
}
|
||||
|
||||
template <std::size_t N>
|
||||
bool operator>>(boost::array<unsigned char, N>& output)
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<boost::array<char, N>& >(output));
|
||||
bool operator>>(boost::array<unsigned char, N>& output)
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<boost::array<char, N>& >(output));
|
||||
}
|
||||
|
||||
template <std::size_t N>
|
||||
bool operator>>(boost::array<signed char, N>& output)
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<boost::array<char, N>& >(output));
|
||||
bool operator>>(boost::array<signed char, N>& output)
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<boost::array<char, N>& >(output));
|
||||
}
|
||||
|
||||
|
||||
#ifndef BOOST_NO_CXX11_HDR_ARRAY
|
||||
template <std::size_t N>
|
||||
bool operator>>(std::array<CharT, N>& output) BOOST_NOEXCEPT
|
||||
{
|
||||
return shr_std_array<N>(output);
|
||||
{
|
||||
return shr_std_array<N>(output);
|
||||
}
|
||||
|
||||
template <std::size_t N>
|
||||
bool operator>>(std::array<unsigned char, N>& output)
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<std::array<char, N>& >(output));
|
||||
bool operator>>(std::array<unsigned char, N>& output)
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<std::array<char, N>& >(output));
|
||||
}
|
||||
|
||||
template <std::size_t N>
|
||||
bool operator>>(std::array<signed char, N>& output)
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<std::array<char, N>& >(output));
|
||||
{
|
||||
return ((*this) >> reinterpret_cast<std::array<char, N>& >(output));
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2217,15 +2217,15 @@ namespace boost {
|
||||
static inline Target lexical_cast_impl(const Source& arg)
|
||||
{
|
||||
typedef lexical_cast_stream_traits<Source, Target> stream_trait;
|
||||
|
||||
|
||||
typedef detail::lexical_stream_limited_src<
|
||||
BOOST_DEDUCED_TYPENAME stream_trait::char_type,
|
||||
BOOST_DEDUCED_TYPENAME stream_trait::traits,
|
||||
stream_trait::requires_stringbuf
|
||||
BOOST_DEDUCED_TYPENAME stream_trait::char_type,
|
||||
BOOST_DEDUCED_TYPENAME stream_trait::traits,
|
||||
stream_trait::requires_stringbuf
|
||||
> interpreter_type;
|
||||
|
||||
// Target type must be default constructible
|
||||
Target result;
|
||||
Target result;
|
||||
|
||||
BOOST_DEDUCED_TYPENAME stream_trait::char_type buf[stream_trait::len_t::value + 1];
|
||||
stream_trait::len_t::check_coverage();
|
||||
@@ -2408,7 +2408,7 @@ namespace boost {
|
||||
template <typename Target, typename CharType>
|
||||
inline Target lexical_cast(const CharType* chars, std::size_t count)
|
||||
{
|
||||
BOOST_STATIC_ASSERT_MSG(boost::detail::is_char_or_wchar<CharType>::value,
|
||||
BOOST_STATIC_ASSERT_MSG(boost::detail::is_char_or_wchar<CharType>::value,
|
||||
"CharType must be a character or wide character type");
|
||||
|
||||
return boost::lexical_cast<Target>(
|
||||
@@ -2535,10 +2535,10 @@ namespace boost {
|
||||
template<typename Target, typename Source>
|
||||
Target lexical_cast(Source arg)
|
||||
{
|
||||
typedef typename detail::widest_char<
|
||||
BOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type
|
||||
, BOOST_DEDUCED_TYPENAME detail::stream_char<Source>::type
|
||||
>::type char_type;
|
||||
typedef typename detail::widest_char<
|
||||
BOOST_DEDUCED_TYPENAME detail::stream_char<Target>::type
|
||||
, BOOST_DEDUCED_TYPENAME detail::stream_char<Source>::type
|
||||
>::type char_type;
|
||||
|
||||
typedef std::char_traits<char_type> traits;
|
||||
detail::lexical_stream<Target, Source, traits> interpreter;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
// (C) Copyright John maddock 1999.
|
||||
// (C) Copyright John maddock 1999.
|
||||
// (C) David Abrahams 2002. Distributed under the Boost
|
||||
// Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
@@ -23,8 +23,8 @@
|
||||
|| (defined(BOOST_HAS_MS_INT64) && defined(BOOST_NO_MS_INT64_NUMERIC_LIMITS))
|
||||
// Add missing specializations for numeric_limits:
|
||||
#ifdef BOOST_HAS_MS_INT64
|
||||
# define BOOST_LLT __int64
|
||||
# define BOOST_ULLT unsigned __int64
|
||||
# define BOOST_LLT int64_t
|
||||
# define BOOST_ULLT uint64_t
|
||||
#else
|
||||
# define BOOST_LLT ::boost::long_long_type
|
||||
# define BOOST_ULLT ::boost::ulong_long_type
|
||||
@@ -35,7 +35,7 @@
|
||||
namespace std
|
||||
{
|
||||
template<>
|
||||
class numeric_limits<BOOST_LLT>
|
||||
class numeric_limits<BOOST_LLT>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -84,11 +84,11 @@ namespace std
|
||||
BOOST_STATIC_CONSTANT(bool, traps = false);
|
||||
BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
|
||||
BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
|
||||
|
||||
|
||||
};
|
||||
|
||||
template<>
|
||||
class numeric_limits<BOOST_ULLT>
|
||||
class numeric_limits<BOOST_ULLT>
|
||||
{
|
||||
public:
|
||||
|
||||
@@ -137,10 +137,10 @@ namespace std
|
||||
BOOST_STATIC_CONSTANT(bool, traps = false);
|
||||
BOOST_STATIC_CONSTANT(bool, tinyness_before = false);
|
||||
BOOST_STATIC_CONSTANT(float_round_style, round_style = round_toward_zero);
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
// use, modify, sell and distribute this software is granted provided this
|
||||
// copyright notice appears in all copies. This software is provided "as is"
|
||||
// without express or implied warranty, and with no claim as to its suitability
|
||||
// for any purpose.
|
||||
// for any purpose.
|
||||
|
||||
// boostinspect:nolicense (don't complain about the lack of a Boost license)
|
||||
// (Paul Moore hasn't been in contact for years, so there's no way to change the
|
||||
// license.)
|
||||
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
// See http://www.boost.org for updates, documentation, and revision history.
|
||||
|
||||
#ifndef BOOST_MATH_COMMON_FACTOR_RT_HPP
|
||||
#define BOOST_MATH_COMMON_FACTOR_RT_HPP
|
||||
@@ -314,7 +314,7 @@ namespace detail
|
||||
#ifdef BOOST_HAS_LONG_LONG
|
||||
BOOST_PRIVATE_GCD_UF( boost::ulong_long_type );
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_PRIVATE_GCD_UF( unsigned __int64 );
|
||||
BOOST_PRIVATE_GCD_UF( uint64_t );
|
||||
#endif
|
||||
|
||||
#if CHAR_MIN == 0
|
||||
@@ -342,7 +342,7 @@ namespace detail
|
||||
#ifdef BOOST_HAS_LONG_LONG
|
||||
BOOST_PRIVATE_GCD_SF( boost::long_long_type, boost::ulong_long_type );
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_PRIVATE_GCD_SF( __int64, unsigned __int64 );
|
||||
BOOST_PRIVATE_GCD_SF( int64_t, uint64_t );
|
||||
#endif
|
||||
|
||||
#undef BOOST_PRIVATE_GCD_SF
|
||||
|
||||
@@ -78,8 +78,8 @@ public:
|
||||
real_concept(boost::ulong_long_type c) : m_value(static_cast<real_concept_base_type>(c)){}
|
||||
real_concept(boost::long_long_type c) : m_value(static_cast<real_concept_base_type>(c)){}
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
real_concept(unsigned __int64 c) : m_value(static_cast<real_concept_base_type>(c)){}
|
||||
real_concept(__int64 c) : m_value(static_cast<real_concept_base_type>(c)){}
|
||||
real_concept(uint64_t c) : m_value(static_cast<real_concept_base_type>(c)){}
|
||||
real_concept(int64_t c) : m_value(static_cast<real_concept_base_type>(c)){}
|
||||
#endif
|
||||
real_concept(float c) : m_value(c){}
|
||||
real_concept(double c) : m_value(c){}
|
||||
@@ -366,7 +366,7 @@ inline concepts::real_concept epsilon<concepts::real_concept>(BOOST_MATH_EXPLICI
|
||||
|
||||
template <>
|
||||
inline int digits<concepts::real_concept>(BOOST_MATH_EXPLICIT_TEMPLATE_TYPE_SPEC(concepts::real_concept))
|
||||
{
|
||||
{
|
||||
// Assume number of significand bits is same as real_concept_base_type,
|
||||
// unless std::numeric_limits<T>::is_specialized to provide digits.
|
||||
return tools::digits<concepts::real_concept_base_type>();
|
||||
@@ -432,7 +432,7 @@ inline long double real_cast<long double, concepts::real_concept>(concepts::real
|
||||
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1310)
|
||||
//
|
||||
// For some strange reason ADL sometimes fails to find the
|
||||
// For some strange reason ADL sometimes fails to find the
|
||||
// correct overloads, unless we bring these declarations into scope:
|
||||
//
|
||||
using concepts::itrunc;
|
||||
|
||||
@@ -105,7 +105,7 @@ struct is_mpi_byte_datatype
|
||||
* directly to the MPI type @c MPI_INT. When there is a direct
|
||||
* mapping from the type @c T to an MPI type, @c
|
||||
* is_mpi_builtin_datatype will derive from @c mpl::true_ and the MPI
|
||||
* data type will be accessible via @c get_mpi_datatype.
|
||||
* data type will be accessible via @c get_mpi_datatype.
|
||||
*
|
||||
* In general, users should not need to specialize this
|
||||
* trait. However, if you have an additional C++ type that can map
|
||||
@@ -240,19 +240,19 @@ BOOST_MPI_DATATYPE(unsigned long, MPI_UNSIGNED_LONG, integer);
|
||||
/// INTERNAL ONLY
|
||||
#define BOOST_MPI_LIST2(A, B) A, B
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(float, int)>, MPI_FLOAT_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(float, int)>, MPI_FLOAT_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(double, int)>, MPI_DOUBLE_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(double, int)>, MPI_DOUBLE_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(long double, int)>,
|
||||
MPI_LONG_DOUBLE_INT, builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(long, int>), MPI_LONG_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(long, int>), MPI_LONG_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(short, int>), MPI_SHORT_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(short, int>), MPI_SHORT_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(int, int>), MPI_2INT, builtin);
|
||||
@@ -271,18 +271,18 @@ struct is_mpi_datatype<std::pair<T,U> >
|
||||
BOOST_MPI_DATATYPE(wchar_t, MPI_WCHAR, builtin);
|
||||
#endif
|
||||
|
||||
// Define long long or __int64 specialization of is_mpi_datatype, if possible.
|
||||
// Define long long or int64_t specialization of is_mpi_datatype, if possible.
|
||||
#if defined(BOOST_HAS_LONG_LONG) && \
|
||||
(defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
|
||||
BOOST_MPI_DATATYPE(long long, MPI_LONG_LONG_INT, builtin);
|
||||
#elif defined(BOOST_HAS_MS_INT64) && \
|
||||
(defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
|
||||
BOOST_MPI_DATATYPE(__int64, MPI_LONG_LONG_INT, builtin);
|
||||
BOOST_MPI_DATATYPE(int64_t, MPI_LONG_LONG_INT, builtin);
|
||||
#endif
|
||||
|
||||
// Define unsigned long long or unsigned __int64 specialization of
|
||||
// Define unsigned long long or uint64_t specialization of
|
||||
// is_mpi_datatype, if possible. We separate this from the check for
|
||||
// the (signed) long long/__int64 because some MPI implementations
|
||||
// the (signed) long long/int64_t because some MPI implementations
|
||||
// (e.g., MPICH-MX) have MPI_LONG_LONG_INT but not
|
||||
// MPI_UNSIGNED_LONG_LONG.
|
||||
#if defined(BOOST_HAS_LONG_LONG) && \
|
||||
@@ -292,7 +292,7 @@ BOOST_MPI_DATATYPE(unsigned long long, MPI_UNSIGNED_LONG_LONG, builtin);
|
||||
#elif defined(BOOST_HAS_MS_INT64) && \
|
||||
(defined(MPI_UNSIGNED_LONG_LONG) \
|
||||
|| (defined(MPI_VERSION) && MPI_VERSION >= 2))
|
||||
BOOST_MPI_DATATYPE(unsigned __int64, MPI_UNSIGNED_LONG_LONG, builtin);
|
||||
BOOST_MPI_DATATYPE(uint64_t, MPI_UNSIGNED_LONG_LONG, builtin);
|
||||
#endif
|
||||
|
||||
// Define signed char specialization of is_mpi_datatype, if possible.
|
||||
|
||||
@@ -45,7 +45,7 @@ template<>struct uintptr_candidates<3> {typedef unsigned int type;};
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_HAS_MS_INT64)
|
||||
template<>struct uintptr_candidates<4> {typedef unsigned __int64 type;};
|
||||
template<>struct uintptr_candidates<4> {typedef uint64_t type;};
|
||||
#else
|
||||
template<>struct uintptr_candidates<4> {typedef unsigned int type;};
|
||||
#endif
|
||||
|
||||
@@ -216,14 +216,14 @@ namespace boost
|
||||
{ return x >= 0 && static_cast<X>(static_cast<Y>(x)) != x; }
|
||||
|
||||
# if defined(BOOST_MSVC) && BOOST_MSVC < 1300
|
||||
// MSVC6 can't static_cast unsigned __int64 -> floating types
|
||||
// MSVC6 can't static_cast uint64_t -> floating types
|
||||
# define BOOST_UINT64_CAST(src_type) \
|
||||
static inline bool check(src_type x, unsigned __int64) \
|
||||
static inline bool check(src_type x, uint64_t) \
|
||||
{ \
|
||||
if (x < 0) return false; \
|
||||
unsigned __int64 y = static_cast<unsigned __int64>(x); \
|
||||
uint64_t y = static_cast<uint64_t>(x); \
|
||||
bool odd = y & 0x1; \
|
||||
__int64 div2 = static_cast<__int64>(y >> 1); \
|
||||
int64_t div2 = static_cast<int64_t>(y >> 1); \
|
||||
return ((static_cast<src_type>(div2) * 2.0) + odd) != x; \
|
||||
}
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ struct critical_section
|
||||
void * OwningThread;
|
||||
void * LockSemaphore;
|
||||
#if defined(_WIN64)
|
||||
unsigned __int64 SpinCount;
|
||||
uint64_t SpinCount;
|
||||
#else
|
||||
unsigned long SpinCount;
|
||||
#endif
|
||||
|
||||
@@ -37,7 +37,7 @@ struct critical_section
|
||||
void * OwningThread;
|
||||
void * LockSemaphore;
|
||||
#if defined(_WIN64)
|
||||
unsigned __int64 SpinCount;
|
||||
uint64_t SpinCount;
|
||||
#else
|
||||
unsigned long SpinCount;
|
||||
#endif
|
||||
|
||||
@@ -43,7 +43,7 @@ using boost::math::fabs;
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#include <boost/config/no_tr1/cmath.hpp>
|
||||
|
||||
namespace std{
|
||||
namespace std{
|
||||
|
||||
#ifdef BOOST_NO_STDC_NAMESPACE
|
||||
using :: atan2;
|
||||
@@ -142,14 +142,14 @@ inline complex<double> polar(const long long& rho, const long long& theta = 0)
|
||||
inline complex<double> polar(const unsigned long long& rho, const unsigned long long& theta = 0)
|
||||
{ return ::std::polar(static_cast<double>(rho), static_cast<double>(theta)); }
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
inline complex<double> polar(const __int64& rho, const __int64& theta = 0)
|
||||
inline complex<double> polar(const int64_t& rho, const int64_t& theta = 0)
|
||||
{ return ::std::polar(static_cast<double>(rho), static_cast<double>(theta)); }
|
||||
inline complex<double> polar(const unsigned __int64& rho, const unsigned __int64& theta = 0)
|
||||
inline complex<double> polar(const uint64_t& rho, const uint64_t& theta = 0)
|
||||
{ return ::std::polar(static_cast<double>(rho), static_cast<double>(theta)); }
|
||||
#endif
|
||||
|
||||
template<class T, class U>
|
||||
inline complex<typename boost::tr1_detail::promote_to_real<T, U>::type>
|
||||
template<class T, class U>
|
||||
inline complex<typename boost::tr1_detail::promote_to_real<T, U>::type>
|
||||
polar(const T& rho, const U& theta)
|
||||
{
|
||||
typedef typename boost::tr1_detail::promote_to_real<T, U>::type real_type;
|
||||
@@ -210,7 +210,7 @@ inline complex<typename boost::tr1_detail::largest_real<T, U>::type>
|
||||
cast2_type y1(y);
|
||||
return std::pow(x1, y1);
|
||||
}
|
||||
template<class T, class U>
|
||||
template<class T, class U>
|
||||
inline complex<typename boost::tr1_detail::promote_to_real<T, U>::type>
|
||||
pow (const complex<T>& x, const U& y)
|
||||
{
|
||||
@@ -223,7 +223,7 @@ inline complex<typename boost::tr1_detail::promote_to_real<T, U>::type>
|
||||
return std::pow(x1, y1);
|
||||
}
|
||||
|
||||
template<class T, class U>
|
||||
template<class T, class U>
|
||||
inline complex<typename boost::tr1_detail::promote_to_real<T, U>::type>
|
||||
pow (const T& x, const complex<U>& y)
|
||||
{
|
||||
|
||||
@@ -54,8 +54,8 @@ BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int16)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(__int32 )
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int32)
|
||||
#ifdef __BORLANDC__
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(uint64_t)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( int64_t)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -63,8 +63,8 @@ BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::ulong_long_type)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(boost::long_long_type )
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(unsigned __int64)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( __int64)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE(uint64_t)
|
||||
BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE( int64_t)
|
||||
#endif
|
||||
|
||||
#undef BOOST_TT_AUX_PROMOTE_NONSTANDARD_TYPE
|
||||
@@ -99,7 +99,7 @@ BOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long)
|
||||
|
||||
|
||||
// WARNING: integral promotions to non-standard types
|
||||
// long long and __int64 are not defined by the standard.
|
||||
// long long and int64_t are not defined by the standard.
|
||||
// Additional specialisations and overloads shouldn't
|
||||
// introduce ambiguity, though.
|
||||
|
||||
@@ -107,8 +107,8 @@ BOOST_TT_AUX_PROMOTE_FROM_INDEX(4, unsigned long)
|
||||
BOOST_TT_AUX_PROMOTE_FROM_INDEX(5, boost::long_long_type )
|
||||
BOOST_TT_AUX_PROMOTE_FROM_INDEX(6, boost::ulong_long_type)
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_TT_AUX_PROMOTE_FROM_INDEX(7, __int64 )
|
||||
BOOST_TT_AUX_PROMOTE_FROM_INDEX(8, unsigned __int64)
|
||||
BOOST_TT_AUX_PROMOTE_FROM_INDEX(7, int64_t )
|
||||
BOOST_TT_AUX_PROMOTE_FROM_INDEX(8, uint64_t)
|
||||
#endif
|
||||
|
||||
#undef BOOST_TT_AUX_PROMOTE_FROM_INDEX
|
||||
@@ -142,8 +142,8 @@ BOOST_TT_AUX_PROMOTED_INDEX_TESTER(4, unsigned long)
|
||||
BOOST_TT_AUX_PROMOTED_INDEX_TESTER(5, boost::long_long_type )
|
||||
BOOST_TT_AUX_PROMOTED_INDEX_TESTER(6, boost::ulong_long_type)
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, __int64 )
|
||||
BOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, unsigned __int64)
|
||||
BOOST_TT_AUX_PROMOTED_INDEX_TESTER(7, int64_t )
|
||||
BOOST_TT_AUX_PROMOTED_INDEX_TESTER(8, uint64_t)
|
||||
#endif
|
||||
|
||||
#undef BOOST_TT_AUX_PROMOTED_INDEX_TESTER
|
||||
|
||||
@@ -56,8 +56,8 @@ BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int16,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int32,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int32,true)
|
||||
#ifdef __BORLANDC__
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,uint64_t,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,int64_t,true)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -65,10 +65,10 @@ BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::ulong_long_type,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral, ::boost::long_long_type,true)
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,unsigned __int64,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,__int64,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,uint64_t,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,int64_t,true)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef BOOST_HAS_INT128
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,boost::int128_type,true)
|
||||
BOOST_TT_AUX_BOOL_TRAIT_CV_SPEC1(is_integral,boost::uint128_type,true)
|
||||
|
||||
@@ -45,7 +45,7 @@ struct make_signed_imp
|
||||
|
||||
typedef typename remove_cv<T>::type t_no_cv;
|
||||
typedef typename mpl::if_c<
|
||||
(::boost::type_traits::ice_and<
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::is_signed<T>::value,
|
||||
::boost::is_integral<T>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
|
||||
@@ -53,7 +53,7 @@ struct make_signed_imp
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),
|
||||
T,
|
||||
typename mpl::if_c<
|
||||
(::boost::type_traits::ice_and<
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::is_integral<T>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
|
||||
@@ -74,15 +74,15 @@ struct make_signed_imp
|
||||
#if defined(BOOST_HAS_LONG_LONG)
|
||||
#ifdef BOOST_HAS_INT128
|
||||
typename mpl::if_c<
|
||||
sizeof(t_no_cv) == sizeof(boost::long_long_type),
|
||||
boost::long_long_type,
|
||||
sizeof(t_no_cv) == sizeof(boost::long_long_type),
|
||||
boost::long_long_type,
|
||||
boost::int128_type
|
||||
>::type
|
||||
#else
|
||||
boost::long_long_type
|
||||
#endif
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
__int64
|
||||
int64_t
|
||||
#else
|
||||
long
|
||||
#endif
|
||||
@@ -106,15 +106,15 @@ struct make_signed_imp
|
||||
#if defined(BOOST_HAS_LONG_LONG)
|
||||
#ifdef BOOST_HAS_INT128
|
||||
typename mpl::if_c<
|
||||
sizeof(t_no_cv) == sizeof(boost::long_long_type),
|
||||
boost::long_long_type,
|
||||
sizeof(t_no_cv) == sizeof(boost::long_long_type),
|
||||
boost::long_long_type,
|
||||
boost::int128_type
|
||||
>::type
|
||||
#else
|
||||
boost::long_long_type
|
||||
#endif
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
__int64
|
||||
int64_t
|
||||
#else
|
||||
long
|
||||
#endif
|
||||
@@ -124,14 +124,14 @@ struct make_signed_imp
|
||||
>::type
|
||||
>::type
|
||||
>::type base_integer_type;
|
||||
|
||||
|
||||
// Add back any const qualifier:
|
||||
typedef typename mpl::if_<
|
||||
is_const<T>,
|
||||
typename add_const<base_integer_type>::type,
|
||||
base_integer_type
|
||||
>::type const_base_integer_type;
|
||||
|
||||
|
||||
// Add back any volatile qualifier:
|
||||
typedef typename mpl::if_<
|
||||
is_volatile<T>,
|
||||
|
||||
@@ -45,7 +45,7 @@ struct make_unsigned_imp
|
||||
|
||||
typedef typename remove_cv<T>::type t_no_cv;
|
||||
typedef typename mpl::if_c<
|
||||
(::boost::type_traits::ice_and<
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::is_unsigned<T>::value,
|
||||
::boost::is_integral<T>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
|
||||
@@ -53,7 +53,7 @@ struct make_unsigned_imp
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, bool>::value>::value >::value),
|
||||
T,
|
||||
typename mpl::if_c<
|
||||
(::boost::type_traits::ice_and<
|
||||
(::boost::type_traits::ice_and<
|
||||
::boost::is_integral<T>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, char>::value>::value,
|
||||
::boost::type_traits::ice_not< ::boost::is_same<t_no_cv, wchar_t>::value>::value,
|
||||
@@ -74,15 +74,15 @@ struct make_unsigned_imp
|
||||
#if defined(BOOST_HAS_LONG_LONG)
|
||||
#ifdef BOOST_HAS_INT128
|
||||
typename mpl::if_c<
|
||||
sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
|
||||
boost::ulong_long_type,
|
||||
sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
|
||||
boost::ulong_long_type,
|
||||
boost::uint128_type
|
||||
>::type
|
||||
#else
|
||||
boost::ulong_long_type
|
||||
#endif
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
unsigned __int64
|
||||
uint64_t
|
||||
#else
|
||||
unsigned long
|
||||
#endif
|
||||
@@ -106,15 +106,15 @@ struct make_unsigned_imp
|
||||
#if defined(BOOST_HAS_LONG_LONG)
|
||||
#ifdef BOOST_HAS_INT128
|
||||
typename mpl::if_c<
|
||||
sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
|
||||
boost::ulong_long_type,
|
||||
sizeof(t_no_cv) == sizeof(boost::ulong_long_type),
|
||||
boost::ulong_long_type,
|
||||
boost::uint128_type
|
||||
>::type
|
||||
#else
|
||||
boost::ulong_long_type
|
||||
#endif
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
unsigned __int64
|
||||
uint64_t
|
||||
#else
|
||||
unsigned long
|
||||
#endif
|
||||
@@ -124,14 +124,14 @@ struct make_unsigned_imp
|
||||
>::type
|
||||
>::type
|
||||
>::type base_integer_type;
|
||||
|
||||
|
||||
// Add back any const qualifier:
|
||||
typedef typename mpl::if_<
|
||||
is_const<T>,
|
||||
typename add_const<base_integer_type>::type,
|
||||
base_integer_type
|
||||
>::type const_base_integer_type;
|
||||
|
||||
|
||||
// Add back any volatile qualifier:
|
||||
typedef typename mpl::if_<
|
||||
is_volatile<T>,
|
||||
|
||||
@@ -44,8 +44,8 @@ BOOST_TYPEOF_REGISTER_TYPE(__int16)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int32)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(__int32)
|
||||
#ifdef __BORLANDC__
|
||||
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(__int64)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(uint64_t)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(int64_t)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -53,8 +53,8 @@ BOOST_TYPEOF_REGISTER_TYPE(__int64)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(::boost::ulong_long_type)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(::boost::long_long_type)
|
||||
#elif defined(BOOST_HAS_MS_INT64)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(unsigned __int64)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(__int64)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(uint64_t)
|
||||
BOOST_TYPEOF_REGISTER_TYPE(int64_t)
|
||||
#endif
|
||||
|
||||
BOOST_TYPEOF_REGISTER_TYPE(void)
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Boost.Wave: A Standard compliant C++ preprocessor library
|
||||
|
||||
Global application configuration
|
||||
|
||||
|
||||
http://www.boost.org/
|
||||
|
||||
Copyright (c) 2001-2012 Hartmut Kaiser. Distributed under the Boost
|
||||
@@ -20,10 +20,10 @@
|
||||
#include <boost/wave/wave_version.hpp>
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Define the maximal include nesting depth allowed. If this value isn't
|
||||
// Define the maximal include nesting depth allowed. If this value isn't
|
||||
// defined it defaults to 1024
|
||||
//
|
||||
// To define a new initial include nesting define the following constant
|
||||
// To define a new initial include nesting define the following constant
|
||||
// before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_MAX_INCLUDE_LEVEL_DEPTH)
|
||||
@@ -33,7 +33,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to support variadics and placemarkers
|
||||
//
|
||||
// To implement support variadics and placemarkers define the following to
|
||||
// To implement support variadics and placemarkers define the following to
|
||||
// something not equal to zero.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SUPPORT_VARIADICS_PLACEMARKERS)
|
||||
@@ -41,10 +41,10 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to implement a #warning directive as an extension to the
|
||||
// Decide, whether to implement a #warning directive as an extension to the
|
||||
// C++ Standard (same as #error, but emits a warning, not an error)
|
||||
//
|
||||
// To disable the implementation of #warning directives, define the following
|
||||
// To disable the implementation of #warning directives, define the following
|
||||
// constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SUPPORT_WARNING_DIRECTIVE)
|
||||
@@ -52,9 +52,9 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to implement #pragma once
|
||||
// Decide, whether to implement #pragma once
|
||||
//
|
||||
// To disable the implementation of #pragma once, define the following
|
||||
// To disable the implementation of #pragma once, define the following
|
||||
// constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SUPPORT_PRAGMA_ONCE)
|
||||
@@ -62,9 +62,9 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to implement #pragma message("")
|
||||
// Decide, whether to implement #pragma message("")
|
||||
//
|
||||
// To disable the implementation of #pragma message(""), define the following
|
||||
// To disable the implementation of #pragma message(""), define the following
|
||||
// constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SUPPORT_PRAGMA_MESSAGE)
|
||||
@@ -75,7 +75,7 @@
|
||||
// Decide, whether to implement #include_next
|
||||
// Please note, that this is an extension to the C++ Standard.
|
||||
//
|
||||
// To disable the implementation of #include_next, define the following
|
||||
// To disable the implementation of #include_next, define the following
|
||||
// constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SUPPORT_INCLUDE_NEXT)
|
||||
@@ -85,7 +85,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to support C++11
|
||||
//
|
||||
// To implement C++11 keywords and preprocessor semantics define the following
|
||||
// To implement C++11 keywords and preprocessor semantics define the following
|
||||
// to something not equal to zero.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SUPPORT_CPP0X)
|
||||
@@ -96,11 +96,11 @@
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Undefine the following, to enable some MS specific language extensions:
|
||||
// __int8, __int16, __int32, __int64, __based, __declspec, __cdecl,
|
||||
// __int8, __int16, __int32, int64_t, __based, __declspec, __cdecl,
|
||||
// __fastcall, __stdcall, __try, __except, __finally, __leave, __inline,
|
||||
// __asm, #region, #endregion
|
||||
//
|
||||
// Note: By default this is enabled for Windows based systems, otherwise it's
|
||||
// Note: By default this is enabled for Windows based systems, otherwise it's
|
||||
// disabled.
|
||||
#if !defined(BOOST_WAVE_SUPPORT_MS_EXTENSIONS)
|
||||
#if defined(BOOST_WINDOWS)
|
||||
@@ -111,10 +111,10 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Allow the message body of the #error and #warning directives to be
|
||||
// Allow the message body of the #error and #warning directives to be
|
||||
// preprocessed before the diagnostic is issued.
|
||||
//
|
||||
// To disable preprocessing of the body of #error and #warning directives,
|
||||
// To disable preprocessing of the body of #error and #warning directives,
|
||||
// define the following constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_PREPROCESS_ERROR_MESSAGE_BODY)
|
||||
@@ -122,10 +122,10 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Allow the #pragma directives to be returned to the caller (optionally after
|
||||
// preprocessing the body)
|
||||
// Allow the #pragma directives to be returned to the caller (optionally after
|
||||
// preprocessing the body)
|
||||
//
|
||||
// To disable the library to emit unknown #pragma directives, define the
|
||||
// To disable the library to emit unknown #pragma directives, define the
|
||||
// following constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_EMIT_PRAGMA_DIRECTIVES)
|
||||
@@ -133,10 +133,10 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Allow the body of a #pragma directive to be preprocessed before the
|
||||
// Allow the body of a #pragma directive to be preprocessed before the
|
||||
// directive is returned to the caller.
|
||||
//
|
||||
// To disable the preprocessing of the body of #pragma directives, define the
|
||||
// To disable the preprocessing of the body of #pragma directives, define the
|
||||
// following constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_PREPROCESS_PRAGMA_BODY)
|
||||
@@ -146,7 +146,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Allow to define macros with the command line syntax (-DMACRO(x)=definition)
|
||||
//
|
||||
// To disable the possibility to define macros based on the command line
|
||||
// To disable the possibility to define macros based on the command line
|
||||
// syntax, define the following constant as zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_ENABLE_COMMANDLINE_MACROS)
|
||||
@@ -155,27 +155,27 @@
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Define the pragma keyword to be used by the library to recognize its own
|
||||
// pragma's. If nothing else is defined, then 'wave' will be used as the
|
||||
// default keyword, i.e. the library recognizes all
|
||||
// pragma's. If nothing else is defined, then 'wave' will be used as the
|
||||
// default keyword, i.e. the library recognizes all
|
||||
//
|
||||
// #pragma wave option [(argument)]
|
||||
//
|
||||
// and dispatches the handling to the interpret_pragma() preprocessing hook
|
||||
// and dispatches the handling to the interpret_pragma() preprocessing hook
|
||||
// function (see file: preprocessing_hooks.hpp). The arguments part of the
|
||||
// pragma is optional.
|
||||
// The BOOST_WAVE_PRAGMA_KEYWORD constant needs to be defined to
|
||||
// resolve as a string literal value.
|
||||
#if !defined(BOOST_WAVE_PRAGMA_KEYWORD)
|
||||
#define BOOST_WAVE_PRAGMA_KEYWORD "wave"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Configure Wave thread support, Boost.Spirit and Boost.Pool are configured
|
||||
// Configure Wave thread support, Boost.Spirit and Boost.Pool are configured
|
||||
// based on these settings automatically
|
||||
//
|
||||
// If BOOST_WAVE_SUPPORT_THREADING is not defined, Wave will use the global
|
||||
// If BOOST_WAVE_SUPPORT_THREADING is not defined, Wave will use the global
|
||||
// Boost build settings (BOOST_HAS_THREADS), if it is defined its value
|
||||
// defines, whether threading will be enabled or not (should be set to '0'
|
||||
// defines, whether threading will be enabled or not (should be set to '0'
|
||||
// or '1').
|
||||
#if !defined(BOOST_WAVE_SUPPORT_THREADING)
|
||||
#if defined(BOOST_HAS_THREADS)
|
||||
@@ -185,7 +185,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if BOOST_WAVE_SUPPORT_THREADING != 0
|
||||
#if BOOST_WAVE_SUPPORT_THREADING != 0
|
||||
#define BOOST_SPIRIT_THREADSAFE 1
|
||||
#define PHOENIX_THREADSAFE 1
|
||||
#else
|
||||
@@ -194,18 +194,18 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Define the string type to be used to store the token values and the file
|
||||
// Define the string type to be used to store the token values and the file
|
||||
// names inside a file_position template class
|
||||
//
|
||||
#if !defined(BOOST_WAVE_STRINGTYPE)
|
||||
|
||||
// VC7 isn't able to compile the flex_string class, fall back to std::string
|
||||
// VC7 isn't able to compile the flex_string class, fall back to std::string
|
||||
// CW up to 8.3 chokes as well *sigh*
|
||||
// Tru64/CXX has linker problems when using flex_string
|
||||
#if BOOST_WORKAROUND(BOOST_MSVC, <= 1300) || \
|
||||
BOOST_WORKAROUND(__MWERKS__, < 0x3200) || \
|
||||
(defined(__DECCXX) && defined(__alpha)) || \
|
||||
defined(BOOST_WAVE_STRINGTYPE_USE_STDSTRING)
|
||||
defined(BOOST_WAVE_STRINGTYPE_USE_STDSTRING)
|
||||
|
||||
#define BOOST_WAVE_STRINGTYPE std::string
|
||||
|
||||
@@ -223,8 +223,8 @@
|
||||
> \
|
||||
> \
|
||||
/**/
|
||||
|
||||
// This include is needed for the flex_string class used in the
|
||||
|
||||
// This include is needed for the flex_string class used in the
|
||||
// BOOST_WAVE_STRINGTYPE above.
|
||||
#include <boost/wave/util/flex_string.hpp>
|
||||
|
||||
@@ -237,13 +237,13 @@
|
||||
// #define BOOST_SPIRIT_USE_LIST_FOR_TREES
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// The following definition forces the Spirit tree code to use boost pool
|
||||
// The following definition forces the Spirit tree code to use boost pool
|
||||
// allocators instead of the std::allocator for the vector/list's.
|
||||
// #define BOOST_SPIRIT_USE_BOOST_ALLOCATOR_FOR_TREES
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Uncomment the following, if you need debug output, the
|
||||
// BOOST_SPIRIT_DEBUG_FLAGS_CPP constants below help to fine control the
|
||||
// Uncomment the following, if you need debug output, the
|
||||
// BOOST_SPIRIT_DEBUG_FLAGS_CPP constants below help to fine control the
|
||||
// amount of the generated debug output.
|
||||
//#define BOOST_SPIRIT_DEBUG
|
||||
|
||||
@@ -262,16 +262,16 @@
|
||||
|
||||
#if !defined(BOOST_SPIRIT_DEBUG_FLAGS_CPP)
|
||||
#define BOOST_SPIRIT_DEBUG_FLAGS_CPP 0 // default is no debugging
|
||||
#endif
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// For all recognized preprocessor statements the output parse trees
|
||||
// formatted as xml are printed. The formatted parse trees are streamed to the
|
||||
// For all recognized preprocessor statements the output parse trees
|
||||
// formatted as xml are printed. The formatted parse trees are streamed to the
|
||||
// std::ostream defined by the WAVE_DUMP_PARSE_TREE_OUT constant.
|
||||
//
|
||||
// To enable the output of these parse trees, define the following constant
|
||||
// as zero something not equal to zero before including this file.
|
||||
// To enable the output of these parse trees, define the following constant
|
||||
// as zero something not equal to zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_DUMP_PARSE_TREE)
|
||||
#define BOOST_WAVE_DUMP_PARSE_TREE 0
|
||||
@@ -283,10 +283,10 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// For all #if and #elif directives the preprocessed expressions are printed.
|
||||
// These expressions are streamed to the std::ostream defined by the
|
||||
// These expressions are streamed to the std::ostream defined by the
|
||||
// BOOST_WAVE_DUMP_CONDITIONAL_EXPRESSIONS_OUT constant.
|
||||
//
|
||||
// To enable the output of the preprocessed expressions, define the following
|
||||
// To enable the output of the preprocessed expressions, define the following
|
||||
// constant as something not equal to zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_DUMP_CONDITIONAL_EXPRESSIONS)
|
||||
@@ -298,14 +298,14 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to use the separate compilation model for the instantiation
|
||||
// Decide, whether to use the separate compilation model for the instantiation
|
||||
// of the C++ lexer objects.
|
||||
//
|
||||
// If this is defined, you should explicitly instantiate the C++ lexer
|
||||
// template with the correct parameters in a separate compilation unit of
|
||||
// your program (see the file instantiate_re2c_lexer.cpp).
|
||||
// your program (see the file instantiate_re2c_lexer.cpp).
|
||||
//
|
||||
// To use the lexer inclusion model, define the following constant as
|
||||
// To use the lexer inclusion model, define the following constant as
|
||||
// something not equal to zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SEPARATE_LEXER_INSTANTIATION)
|
||||
@@ -313,14 +313,14 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to use the separate compilation model for the instantiation
|
||||
// Decide, whether to use the separate compilation model for the instantiation
|
||||
// of the grammar objects.
|
||||
//
|
||||
// If this is defined, you should explicitly instantiate the grammar
|
||||
// templates with the correct parameters in a separate compilation unit of
|
||||
// your program (see the files instantiate_cpp_grammar.cpp et.al.).
|
||||
// your program (see the files instantiate_cpp_grammar.cpp et.al.).
|
||||
//
|
||||
// To use the grammar inclusion model, define the following constant as
|
||||
// To use the grammar inclusion model, define the following constant as
|
||||
// something not equal to zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SEPARATE_GRAMMAR_INSTANTIATION)
|
||||
@@ -329,9 +329,9 @@
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide whether to use a strict C++ lexer.
|
||||
//
|
||||
// If this is defined to something != 0, then the C++ lexers recognize the
|
||||
// strict C99/C++ basic source character set. If it is not defined or defined
|
||||
//
|
||||
// If this is defined to something != 0, then the C++ lexers recognize the
|
||||
// strict C99/C++ basic source character set. If it is not defined or defined
|
||||
// to zero, the C++ lexers recognize the '$' character as part of identifiers.
|
||||
//
|
||||
// The default is to recognize the '$' character as part of identifiers.
|
||||
@@ -341,14 +341,14 @@
|
||||
#endif
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether the serialization of the wave::context class should be
|
||||
// Decide, whether the serialization of the wave::context class should be
|
||||
// supported
|
||||
//
|
||||
// If this is defined to something not equal to zero the generated code will
|
||||
// expose routines allowing to store and reload the internal state of the
|
||||
// expose routines allowing to store and reload the internal state of the
|
||||
// wave::context object.
|
||||
//
|
||||
// To enable the availability of the serialization functionality, define the
|
||||
// To enable the availability of the serialization functionality, define the
|
||||
// following constant as something not equal to zero before including this file.
|
||||
//
|
||||
#if !defined(BOOST_WAVE_SERIALIZATION)
|
||||
@@ -368,19 +368,19 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Decide, whether to support long long integers in the preprocessor.
|
||||
//
|
||||
// The C++ standard requires the preprocessor to use one of the following
|
||||
// types for integer literals: long or unsigned long depending on an optional
|
||||
// The C++ standard requires the preprocessor to use one of the following
|
||||
// types for integer literals: long or unsigned long depending on an optional
|
||||
// suffix ('u', 'l', 'ul', or 'lu')
|
||||
//
|
||||
// Sometimes it's required to preprocess integer literals bigger than that
|
||||
// (i.e. long long or unsigned long long). In this case you need to define the
|
||||
// (i.e. long long or unsigned long long). In this case you need to define the
|
||||
// BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS to something not equal to zero.
|
||||
//
|
||||
// This pp constant is effective only, if your target platform supports
|
||||
// This pp constant is effective only, if your target platform supports
|
||||
// long long integers (BOOST_HAS_LONG_LONG is defined).
|
||||
//
|
||||
// Please note, that this setting doesn't relate to the Wave support option
|
||||
// support_option_long_long, which enables the recognition of 'll' suffixes
|
||||
// support_option_long_long, which enables the recognition of 'll' suffixes
|
||||
// only.
|
||||
//
|
||||
// Defining this pp constant enables the recognition of long long integers
|
||||
@@ -390,7 +390,7 @@
|
||||
#define BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS 0
|
||||
#endif
|
||||
|
||||
namespace boost { namespace wave
|
||||
namespace boost { namespace wave
|
||||
{
|
||||
#if defined(BOOST_HAS_LONG_LONG) && \
|
||||
BOOST_WAVE_SUPPORT_LONGLONG_INTEGER_LITERALS != 0
|
||||
@@ -404,7 +404,7 @@ namespace boost { namespace wave
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// On some platforms Wave will not be able to properly detect whether wchar_t
|
||||
// is representing a signed or unsigned integral data type. Use the
|
||||
// is representing a signed or unsigned integral data type. Use the
|
||||
// configuration constants below to force wchar_t being signed or unsigned, as
|
||||
// appropriate.
|
||||
//
|
||||
@@ -424,7 +424,7 @@ namespace boost { namespace wave
|
||||
#define PHOENIX_LIMIT 6
|
||||
#endif
|
||||
#if PHOENIX_LIMIT < 6
|
||||
// boost/home/classic/spirit/classic_attribute.hpp sets PHOENIX_LIMIT to 3!
|
||||
// boost/home/classic/spirit/classic_attribute.hpp sets PHOENIX_LIMIT to 3!
|
||||
#error "Boost.Wave: the constant PHOENIX_LIMIT must be at least defined to 6" \
|
||||
" to compile the library."
|
||||
#endif
|
||||
@@ -433,12 +433,12 @@ namespace boost { namespace wave
|
||||
// Set up dll import/export options
|
||||
#if (defined(BOOST_WAVE_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)) && \
|
||||
!defined(BOOST_WAVE_STATIC_LINK)
|
||||
|
||||
|
||||
#if defined(BOOST_WAVE_SOURCE)
|
||||
#define BOOST_WAVE_DECL BOOST_SYMBOL_EXPORT
|
||||
#define BOOST_WAVE_DECL BOOST_SYMBOL_EXPORT
|
||||
#define BOOST_WAVE_BUILD_DLL
|
||||
#else
|
||||
#define BOOST_WAVE_DECL BOOST_SYMBOL_IMPORT
|
||||
#define BOOST_WAVE_DECL BOOST_SYMBOL_IMPORT
|
||||
#endif
|
||||
|
||||
#endif // building a shared library
|
||||
@@ -449,7 +449,7 @@ namespace boost { namespace wave
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Auto library naming
|
||||
#if BOOST_VERSION >= 103100
|
||||
#if BOOST_VERSION >= 103100
|
||||
// auto link features work beginning from Boost V1.31.0
|
||||
#if !defined(BOOST_WAVE_SOURCE) && !defined(BOOST_ALL_NO_LIB) && \
|
||||
!defined(BOOST_WAVE_NO_LIB)
|
||||
@@ -467,15 +467,15 @@ namespace boost { namespace wave
|
||||
#endif // BOOST_VERSION
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Compatibility macros
|
||||
// Compatibility macros
|
||||
// (ensure interface compatibility to older Wave versions)
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// The preprocessing hook signatures changed after the Boost V1.34.0 release
|
||||
//
|
||||
// To use the preprocessing hook signatures as released with Boost V1.34.0
|
||||
// you need to define the BOOST_WAVE_USE_DEPRECIATED_PREPROCESSING_HOOKS
|
||||
// To use the preprocessing hook signatures as released with Boost V1.34.0
|
||||
// you need to define the BOOST_WAVE_USE_DEPRECIATED_PREPROCESSING_HOOKS
|
||||
// constant to something not equal zero.
|
||||
//
|
||||
// To force using the new interface define this constant to zero.
|
||||
|
||||
Reference in New Issue
Block a user