update boost
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
#if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
|
||||
// full dinkumware 3.06 and above
|
||||
// fully conforming provided the compiler supports it:
|
||||
# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h
|
||||
# if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(BOOST_BORLANDC) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
# endif
|
||||
# if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
|
||||
@@ -68,12 +68,12 @@
|
||||
// the same applies to other compilers that sit on top
|
||||
// of vc7.1 (Intel and Comeau):
|
||||
//
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(BOOST_BORLANDC)
|
||||
# define BOOST_STD_EXTENSION_NAMESPACE stdext
|
||||
#endif
|
||||
|
||||
|
||||
#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
|
||||
#if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(BOOST_BORLANDC)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
|
||||
// if we're using a dinkum lib that's
|
||||
// been configured for VC6/7 then there is
|
||||
// no iterator traits (true even for icl)
|
||||
@@ -86,20 +86,24 @@
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
#endif
|
||||
|
||||
#if ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER))) && (_MSC_VER < 1800)
|
||||
// Fix for VC++ 8.0 on up ( I do not have a previous version to test )
|
||||
// or clang-cl. If exceptions are off you must manually include the
|
||||
// <exception> header before including the <typeinfo> header. Admittedly
|
||||
// trying to use Boost libraries or the standard C++ libraries without
|
||||
// exception support is not suggested but currently clang-cl ( v 3.4 )
|
||||
// does not support exceptions and must be compiled with exceptions off.
|
||||
#if !_HAS_EXCEPTIONS && ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER)))
|
||||
#if !_HAS_EXCEPTIONS
|
||||
#include <exception>
|
||||
#endif
|
||||
#include <typeinfo>
|
||||
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (defined(__ghs__) && !_HAS_NAMESPACE) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__) \
|
||||
&& !defined(__VXWORKS__)
|
||||
#if !_HAS_EXCEPTIONS
|
||||
# define BOOST_NO_STD_TYPEINFO
|
||||
#endif
|
||||
#endif
|
||||
#if defined(__ghs__) && !_HAS_NAMESPACE
|
||||
# define BOOST_NO_STD_TYPEINFO
|
||||
#endif
|
||||
|
||||
// C++0x headers implemented in 520 (as shipped by Microsoft)
|
||||
//
|
||||
@@ -136,6 +140,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_RATIO
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
#endif
|
||||
|
||||
// C++0x headers implemented in 610 (as shipped by Microsoft)
|
||||
@@ -171,14 +176,29 @@
|
||||
#endif
|
||||
|
||||
// C++17 features
|
||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1910) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0)
|
||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) \
|
||||
|| ((!defined(BOOST_MSVC) || (BOOST_MSVC < 1910))) && (!defined(__clang__) || !defined(_MSC_VER) || (_MSC_VER < 1929))\
|
||||
|| !defined(_HAS_CXX17) || (_HAS_CXX17 == 0)
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
# define BOOST_NO_CXX17_HDR_VARIANT
|
||||
# define BOOST_NO_CXX17_HDR_ANY
|
||||
# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
||||
# define BOOST_NO_CXX17_HDR_CHARCONV
|
||||
# define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
# define BOOST_NO_CXX17_HDR_FILESYSTEM
|
||||
#endif
|
||||
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) || !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 201709)
|
||||
# define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
|
||||
// C++20 features which aren't configured in suffix.hpp correctly:
|
||||
#if !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 202008L) || !defined(_HAS_CXX20) || (_HAS_CXX20 == 0)
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
#endif
|
||||
|
||||
#if !(!defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(BOOST_MSVC) || (BOOST_MSVC < 1912) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0))
|
||||
// Deprecated std::iterator:
|
||||
# define BOOST_NO_STD_ITERATOR
|
||||
@@ -199,7 +219,15 @@
|
||||
// Bug specific to VC14,
|
||||
// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t
|
||||
// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2
|
||||
#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650)
|
||||
#if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650) && (!defined(_MSVC_STL_VERSION) || (_MSVC_STL_VERSION < 142))
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
#endif
|
||||
|
||||
#if (_MSVC_LANG > 201700) && !defined(BOOST_NO_CXX11_HDR_CODECVT)
|
||||
//
|
||||
// <codecvt> is deprected as of C++17, and by default MSVC emits hard errors
|
||||
// if you try to use it, so mark it as unavailable:
|
||||
//
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
#endif
|
||||
|
||||
@@ -212,8 +240,16 @@
|
||||
# define BOOST_NO_CXX98_RANDOM_SHUFFLE
|
||||
# define BOOST_NO_CXX98_FUNCTION_BASE
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
# elif defined(_HAS_DEPRECATED_ADAPTOR_TYPEDEFS) && (_HAS_DEPRECATED_ADAPTOR_TYPEDEFS == 0)
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
# endif
|
||||
#endif
|
||||
//
|
||||
// Things deprecated in C++20:
|
||||
//
|
||||
#if defined(_HAS_CXX20)
|
||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
@@ -251,6 +287,36 @@
|
||||
# define BOOST_DINKUMWARE_STDLIB 1
|
||||
#endif
|
||||
|
||||
// BOOST_MSSTL_VERSION: as _MSVC_STL_VERSION, but for earlier releases as well
|
||||
|
||||
#if defined(_MSVC_STL_VERSION) // VS2017 (14.1) and above
|
||||
# define BOOST_MSSTL_VERSION _MSVC_STL_VERSION
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 650 // VS2015 (14.0)
|
||||
# define BOOST_MSSTL_VERSION 140
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 610 // VS2013 (12.0)
|
||||
# define BOOST_MSSTL_VERSION 120
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 540 // VS2012 (11.0)
|
||||
# define BOOST_MSSTL_VERSION 110
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 520 // VS2010 (10.0)
|
||||
# define BOOST_MSSTL_VERSION 100
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 505 // VS2008SP1 (9.0)
|
||||
# define BOOST_MSSTL_VERSION 91
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 503 // VS2008 (also 9.0)
|
||||
# define BOOST_MSSTL_VERSION 90
|
||||
|
||||
#elif defined(_CPPLIB_VER) && _CPPLIB_VER >= 405 // VS2005 (8.0)
|
||||
# define BOOST_MSSTL_VERSION 80
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
|
||||
#ifdef _CPPLIB_VER
|
||||
# define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
|
||||
#else
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_RANDOM
|
||||
@@ -91,6 +92,7 @@
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
# define BOOST_NO_CXX17_HDR_VARIANT
|
||||
#endif
|
||||
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
|
||||
# define BOOST_NO_AUTO_PTR
|
||||
@@ -102,8 +104,34 @@
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
#if defined(__cplusplus) && defined(__has_include)
|
||||
#if __has_include(<version>)
|
||||
#include <version>
|
||||
|
||||
#if !defined(__cpp_lib_execution) || (__cpp_lib_execution < 201603L)
|
||||
# define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
#endif
|
||||
#if !defined(__cpp_lib_invoke) || (__cpp_lib_invoke < 201411L)
|
||||
#define BOOST_NO_CXX17_STD_INVOKE
|
||||
#endif
|
||||
|
||||
#if(_LIBCPP_VERSION < 9000)
|
||||
// as_writable_bytes is missing.
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result)
|
||||
#define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
#endif
|
||||
#else
|
||||
#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result)
|
||||
#define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
#endif
|
||||
|
||||
#if _LIBCPP_VERSION < 10000 // What's the correct version check here?
|
||||
#define BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
#endif
|
||||
|
||||
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
||||
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
|
||||
@@ -140,4 +168,13 @@
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
#if _LIBCPP_VERSION >= 15000
|
||||
//
|
||||
// Unary function is now deprecated in C++11 and later:
|
||||
//
|
||||
#if __cplusplus >= 201103L
|
||||
#define BOOST_NO_CXX98_FUNCTION_BASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// --- end ---
|
||||
|
||||
@@ -94,6 +94,20 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__has_include)
|
||||
#if defined(BOOST_HAS_HASH)
|
||||
#if !__has_include(BOOST_HASH_SET_HEADER) || (__GNUC__ >= 10)
|
||||
#undef BOOST_HAS_HASH
|
||||
#undef BOOST_HAS_SET_HEADER
|
||||
#undef BOOST_HAS_MAP_HEADER
|
||||
#endif
|
||||
#if !__has_include(BOOST_SLIST_HEADER)
|
||||
#undef BOOST_HAS_SLIST
|
||||
#undef BOOST_HAS_SLIST_HEADER
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Decide whether we have C++11 support turned on:
|
||||
//
|
||||
@@ -125,7 +139,26 @@
|
||||
//
|
||||
#ifdef __clang__
|
||||
|
||||
#if __has_include(<experimental/memory_resource>)
|
||||
#ifdef _GLIBCXX_RELEASE
|
||||
# define BOOST_LIBSTDCXX_VERSION (_GLIBCXX_RELEASE * 10000 + 100)
|
||||
#else
|
||||
//
|
||||
// We figure out which gcc version issued this std lib
|
||||
// by checking which headers are available:
|
||||
//
|
||||
#if __has_include(<expected>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 120100
|
||||
#elif __has_include(<source_location>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 110100
|
||||
#elif __has_include(<compare>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 100100
|
||||
#elif __has_include(<memory_resource>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 90100
|
||||
#elif __has_include(<charconv>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 80100
|
||||
#elif __has_include(<variant>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 70100
|
||||
#elif __has_include(<experimental/memory_resource>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 60100
|
||||
#elif __has_include(<experimental/any>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 50100
|
||||
@@ -144,6 +177,34 @@
|
||||
#elif __has_include(<array>)
|
||||
# define BOOST_LIBSTDCXX_VERSION 40300
|
||||
#endif
|
||||
#endif
|
||||
//
|
||||
// If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is
|
||||
// configured to support this type. If not disable it:
|
||||
//
|
||||
#if defined(BOOST_HAS_FLOAT128) && !defined(_GLIBCXX_USE_FLOAT128)
|
||||
# undef BOOST_HAS_FLOAT128
|
||||
#endif
|
||||
|
||||
#if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH)
|
||||
//
|
||||
// hash_set/hash_map deprecated and have terminal bugs:
|
||||
//
|
||||
#undef BOOST_HAS_HASH
|
||||
#undef BOOST_HAS_SET_HEADER
|
||||
#undef BOOST_HAS_MAP_HEADER
|
||||
#endif
|
||||
|
||||
|
||||
#if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH)
|
||||
//
|
||||
// hash_set/hash_map deprecated and have terminal bugs:
|
||||
//
|
||||
#undef BOOST_HAS_HASH
|
||||
#undef BOOST_HAS_SET_HEADER
|
||||
#undef BOOST_HAS_MAP_HEADER
|
||||
#endif
|
||||
|
||||
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 50100)
|
||||
// libstdc++ does not define this function as it's deprecated in C++11, but clang still looks for it,
|
||||
@@ -206,8 +267,9 @@ extern "C" char *gets (char *__s);
|
||||
# if !_GLIBCXX_DEPRECATED
|
||||
# define BOOST_NO_AUTO_PTR
|
||||
# endif
|
||||
# elif !_GLIBCXX_USE_DEPRECATED
|
||||
# elif !defined(_GLIBCXX_USE_DEPRECATED) || !_GLIBCXX_USE_DEPRECATED
|
||||
# define BOOST_NO_AUTO_PTR
|
||||
# define BOOST_NO_CXX98_BINDERS
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@@ -231,6 +293,7 @@ extern "C" char *gets (char *__s);
|
||||
# define BOOST_NO_CXX11_HDR_RATIO
|
||||
# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define BOOST_NO_CXX11_SMART_PTR
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
#else
|
||||
# define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
|
||||
# define BOOST_HAS_TR1_COMPLEX_OVERLOADS
|
||||
@@ -279,10 +342,6 @@ extern "C" char *gets (char *__s);
|
||||
# define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
#endif
|
||||
|
||||
#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
|
||||
// As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#endif
|
||||
//
|
||||
// C++0x features in GCC 5.1 and later
|
||||
//
|
||||
@@ -301,6 +360,7 @@ extern "C" char *gets (char *__s);
|
||||
# define BOOST_NO_CXX17_STD_APPLY
|
||||
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
# define BOOST_NO_CXX17_HDR_VARIANT
|
||||
#endif
|
||||
|
||||
#if defined(__has_include)
|
||||
@@ -309,10 +369,83 @@ extern "C" char *gets (char *__s);
|
||||
#elif __cplusplus <= 201103
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
//
|
||||
// <execution> has a dependency to Intel's thread building blocks:
|
||||
// unless these are installed seperately, including <execution> leads
|
||||
// to inscrutable errors inside libstdc++'s own headers.
|
||||
//
|
||||
#if (BOOST_LIBSTDCXX_VERSION < 100100)
|
||||
#if !__has_include(<tbb/tbb.h>)
|
||||
#define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
#endif
|
||||
#endif
|
||||
#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
|
||||
#if BOOST_LIBSTDCXX_VERSION < 100100
|
||||
//
|
||||
// The header may be present but is incomplete:
|
||||
//
|
||||
# define BOOST_NO_CXX17_HDR_CHARCONV
|
||||
#endif
|
||||
|
||||
#if BOOST_LIBSTDCXX_VERSION < 110000
|
||||
//
|
||||
// Header <bit> may be present but lacks std::bit_cast:
|
||||
//
|
||||
#define BOOST_NO_CXX20_HDR_BIT
|
||||
#endif
|
||||
|
||||
#if BOOST_LIBSTDCXX_VERSION >= 120000
|
||||
//
|
||||
// Unary function is now deprecated in C++11 and later:
|
||||
//
|
||||
#if __cplusplus >= 201103L
|
||||
#define BOOST_NO_CXX98_FUNCTION_BASE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_impl_coroutine
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
#endif
|
||||
|
||||
//
|
||||
// These next defines are mostly for older clang versions with a newer libstdc++ :
|
||||
//
|
||||
#if !defined(__cpp_lib_concepts)
|
||||
#if !defined(BOOST_NO_CXX20_HDR_COMPARE)
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX20_HDR_CONCEPTS)
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX20_HDR_SPAN)
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX20_HDR_RANGES)
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__clang__)
|
||||
#if (__clang_major__ < 11) && !defined(BOOST_NO_CXX20_HDR_RANGES)
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
#endif
|
||||
#if (__clang_major__ < 10) && (BOOST_LIBSTDCXX_VERSION >= 110000) && !defined(BOOST_NO_CXX11_HDR_CHRONO)
|
||||
// Old clang can't parse <chrono>:
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && !defined(BOOST_NO_CXX11_NULLPTR)
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
#endif
|
||||
#if defined(__clang__) && (BOOST_LIBSTDCXX_VERSION < 40300) && defined(BOOST_HAS_INT128) && defined(__APPLE_CC__)
|
||||
#undef BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
//
|
||||
// Headers not present on Solaris with the Oracle compiler:
|
||||
#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
|
||||
@@ -341,7 +474,7 @@ extern "C" char *gets (char *__s);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX)
|
||||
#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) && (__GNUC__ < 6)
|
||||
// Timed mutexes are not always available:
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
#endif
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
|
||||
@@ -75,6 +75,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
//
|
||||
// Borland version of numeric_limits lacks __int64 specialisation:
|
||||
//
|
||||
#ifdef __BORLANDC__
|
||||
#ifdef BOOST_BORLANDC
|
||||
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
#endif
|
||||
|
||||
@@ -187,6 +187,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
|
||||
@@ -145,6 +145,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
|
||||
@@ -62,11 +62,11 @@
|
||||
// then the io stream facets are not available in namespace std::
|
||||
//
|
||||
#ifdef _STLPORT_VERSION
|
||||
# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
|
||||
# if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC)
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
# endif
|
||||
#else
|
||||
# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__)
|
||||
# if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(BOOST_BORLANDC)
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
# endif
|
||||
#endif
|
||||
@@ -128,7 +128,7 @@
|
||||
// BCB6 does cause problems. If we detect C++ Builder, then don't define
|
||||
// BOOST_NO_STDC_NAMESPACE
|
||||
//
|
||||
#if !defined(__BORLANDC__) && !defined(__DMC__)
|
||||
#if !defined(BOOST_BORLANDC) && !defined(__DMC__)
|
||||
//
|
||||
// If STLport is using it's own namespace, and the real names are in
|
||||
// the global namespace, then we duplicate STLport's using declarations
|
||||
@@ -143,7 +143,7 @@
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
# define BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
# endif
|
||||
#elif defined(__BORLANDC__) && __BORLANDC__ < 0x560
|
||||
#elif defined(BOOST_BORLANDC) && BOOST_BORLANDC < 0x560
|
||||
// STLport doesn't import std::abs correctly:
|
||||
#include <stdlib.h>
|
||||
namespace std { using ::abs; }
|
||||
@@ -192,7 +192,7 @@ namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy;
|
||||
// Borland ships a version of STLport with C++ Builder 6 that lacks
|
||||
// hashtables and the like:
|
||||
//
|
||||
#if defined(__BORLANDC__) && (__BORLANDC__ == 0x560)
|
||||
#if defined(BOOST_BORLANDC) && (BOOST_BORLANDC == 0x560)
|
||||
# undef BOOST_HAS_HASH
|
||||
#endif
|
||||
|
||||
@@ -235,6 +235,7 @@ namespace boost { using std::min; using std::max; }
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# define BOOST_NO_CXX11_STD_ALIGN
|
||||
# define BOOST_NO_CXX11_ADDRESSOF
|
||||
# define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
|
||||
#if defined(__has_include)
|
||||
#if !__has_include(<shared_mutex>)
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
#define BOOST_NO_CXX11_HDR_CHRONO
|
||||
#define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#define BOOST_NO_CXX11_HDR_ARRAY
|
||||
#define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
#define BOOST_NO_CXX11_STD_ALIGN
|
||||
|
||||
#define BOOST_NO_CXX14_STD_EXCHANGE
|
||||
|
||||
Reference in New Issue
Block a user