update boost
This commit is contained in:
203
linx64/include/boost/config/detail/cxx_composite.hpp
Normal file
203
linx64/include/boost/config/detail/cxx_composite.hpp
Normal file
@@ -0,0 +1,203 @@
|
||||
// This file was automatically generated on Sun Jun 5 16:50:18 2022
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// 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/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#if defined(BOOST_NO_ADL_BARRIER)\
|
||||
|| defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\
|
||||
|| defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\
|
||||
|| defined(BOOST_NO_CTYPE_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CV_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_CWCHAR)\
|
||||
|| defined(BOOST_NO_CWCTYPE)\
|
||||
|| defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)\
|
||||
|| defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)\
|
||||
|| defined(BOOST_NO_EXCEPTIONS)\
|
||||
|| defined(BOOST_NO_EXCEPTION_STD_NAMESPACE)\
|
||||
|| defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)\
|
||||
|| defined(BOOST_NO_FENV_H)\
|
||||
|| defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\
|
||||
|| defined(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\
|
||||
|| defined(BOOST_NO_INTEGRAL_INT64_T)\
|
||||
|| defined(BOOST_NO_INTRINSIC_WCHAR_T)\
|
||||
|| defined(BOOST_NO_IOSFWD)\
|
||||
|| defined(BOOST_NO_IOSTREAM)\
|
||||
|| defined(BOOST_NO_IS_ABSTRACT)\
|
||||
|| defined(BOOST_NO_LIMITS)\
|
||||
|| defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\
|
||||
|| defined(BOOST_NO_LONG_LONG)\
|
||||
|| defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\
|
||||
|| defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_MEMBER_TEMPLATES)\
|
||||
|| defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\
|
||||
|| defined(BOOST_NO_MEMBER_TEMPLATE_KEYWORD)\
|
||||
|| defined(BOOST_NO_NESTED_FRIENDSHIP)\
|
||||
|| defined(BOOST_NO_OPERATORS_IN_NAMESPACE)\
|
||||
|| defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\
|
||||
|| defined(BOOST_NO_POINTER_TO_MEMBER_CONST)\
|
||||
|| defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)\
|
||||
|| defined(BOOST_NO_PRIVATE_IN_AGGREGATE)\
|
||||
|| defined(BOOST_NO_RESTRICT_REFERENCES)\
|
||||
|| defined(BOOST_NO_RTTI)\
|
||||
|| defined(BOOST_NO_SFINAE)\
|
||||
|| defined(BOOST_NO_SFINAE_EXPR)\
|
||||
|| defined(BOOST_NO_STDC_NAMESPACE)\
|
||||
|| defined(BOOST_NO_STD_ALLOCATOR)\
|
||||
|| defined(BOOST_NO_STD_DISTANCE)\
|
||||
|| defined(BOOST_NO_STD_ITERATOR)\
|
||||
|| defined(BOOST_NO_STD_ITERATOR_TRAITS)\
|
||||
|| defined(BOOST_NO_STD_LOCALE)\
|
||||
|| defined(BOOST_NO_STD_MESSAGES)\
|
||||
|| defined(BOOST_NO_STD_MIN_MAX)\
|
||||
|| defined(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN)\
|
||||
|| defined(BOOST_NO_STD_TYPEINFO)\
|
||||
|| defined(BOOST_NO_STD_USE_FACET)\
|
||||
|| defined(BOOST_NO_STD_WSTREAMBUF)\
|
||||
|| defined(BOOST_NO_STD_WSTRING)\
|
||||
|| defined(BOOST_NO_STRINGSTREAM)\
|
||||
|| defined(BOOST_NO_TEMPLATED_IOSTREAMS)\
|
||||
|| defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
|
||||
|| defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\
|
||||
|| defined(BOOST_NO_TEMPLATE_TEMPLATES)\
|
||||
|| defined(BOOST_NO_TWO_PHASE_NAME_LOOKUP)\
|
||||
|| defined(BOOST_NO_TYPEID)\
|
||||
|| defined(BOOST_NO_TYPENAME_WITH_CTOR)\
|
||||
|| defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)\
|
||||
|| defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)\
|
||||
|| defined(BOOST_NO_USING_TEMPLATE)\
|
||||
|| defined(BOOST_NO_VOID_RETURNS)
|
||||
# define BOOST_NO_CXX03
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX03)\
|
||||
|| defined(BOOST_NO_CXX11_ADDRESSOF)\
|
||||
|| defined(BOOST_NO_CXX11_ALIGNAS)\
|
||||
|| defined(BOOST_NO_CXX11_ALLOCATOR)\
|
||||
|| defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\
|
||||
|| defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\
|
||||
|| defined(BOOST_NO_CXX11_CHAR16_T)\
|
||||
|| defined(BOOST_NO_CXX11_CHAR32_T)\
|
||||
|| defined(BOOST_NO_CXX11_CONSTEXPR)\
|
||||
|| defined(BOOST_NO_CXX11_DECLTYPE)\
|
||||
|| defined(BOOST_NO_CXX11_DECLTYPE_N3276)\
|
||||
|| defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CXX11_DEFAULTED_MOVES)\
|
||||
|| defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)\
|
||||
|| defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)\
|
||||
|| defined(BOOST_NO_CXX11_FINAL)\
|
||||
|| defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\
|
||||
|| defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_ARRAY)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_ATOMIC)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_CHRONO)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_EXCEPTION)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_FORWARD_LIST)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_FUTURE)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_MUTEX)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_RANDOM)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_RATIO)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_REGEX)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_THREAD)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_TUPLE)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_TYPEINDEX)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_UNORDERED_SET)\
|
||||
|| defined(BOOST_NO_CXX11_INLINE_NAMESPACES)\
|
||||
|| defined(BOOST_NO_CXX11_LAMBDAS)\
|
||||
|| defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS)\
|
||||
|| defined(BOOST_NO_CXX11_NOEXCEPT)\
|
||||
|| defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CXX11_NULLPTR)\
|
||||
|| defined(BOOST_NO_CXX11_NUMERIC_LIMITS)\
|
||||
|| defined(BOOST_NO_CXX11_OVERRIDE)\
|
||||
|| defined(BOOST_NO_CXX11_POINTER_TRAITS)\
|
||||
|| defined(BOOST_NO_CXX11_RANGE_BASED_FOR)\
|
||||
|| defined(BOOST_NO_CXX11_RAW_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX11_REF_QUALIFIERS)\
|
||||
|| defined(BOOST_NO_CXX11_RVALUE_REFERENCES)\
|
||||
|| defined(BOOST_NO_CXX11_SCOPED_ENUMS)\
|
||||
|| defined(BOOST_NO_CXX11_SFINAE_EXPR)\
|
||||
|| defined(BOOST_NO_CXX11_SMART_PTR)\
|
||||
|| defined(BOOST_NO_CXX11_STATIC_ASSERT)\
|
||||
|| defined(BOOST_NO_CXX11_STD_ALIGN)\
|
||||
|| defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)\
|
||||
|| defined(BOOST_NO_CXX11_THREAD_LOCAL)\
|
||||
|| defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)\
|
||||
|| defined(BOOST_NO_CXX11_UNICODE_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)\
|
||||
|| defined(BOOST_NO_CXX11_UNRESTRICTED_UNION)\
|
||||
|| defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX11_VARIADIC_MACROS)\
|
||||
|| defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
||||
# define BOOST_NO_CXX11
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX11)\
|
||||
|| defined(BOOST_NO_CXX14_AGGREGATE_NSDMI)\
|
||||
|| defined(BOOST_NO_CXX14_BINARY_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX14_CONSTEXPR)\
|
||||
|| defined(BOOST_NO_CXX14_DECLTYPE_AUTO)\
|
||||
|| defined(BOOST_NO_CXX14_DIGIT_SEPARATORS)\
|
||||
|| defined(BOOST_NO_CXX14_GENERIC_LAMBDAS)\
|
||||
|| defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX)\
|
||||
|| defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)\
|
||||
|| defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION)\
|
||||
|| defined(BOOST_NO_CXX14_STD_EXCHANGE)\
|
||||
|| defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
|
||||
# define BOOST_NO_CXX14
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX14)\
|
||||
|| defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\
|
||||
|| defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_ANY)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_CHARCONV)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_EXECUTION)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_FILESYSTEM)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_OPTIONAL)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_STRING_VIEW)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_VARIANT)\
|
||||
|| defined(BOOST_NO_CXX17_IF_CONSTEXPR)\
|
||||
|| defined(BOOST_NO_CXX17_INLINE_VARIABLES)\
|
||||
|| defined(BOOST_NO_CXX17_ITERATOR_TRAITS)\
|
||||
|| defined(BOOST_NO_CXX17_STD_APPLY)\
|
||||
|| defined(BOOST_NO_CXX17_STD_INVOKE)\
|
||||
|| defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS)
|
||||
# define BOOST_NO_CXX17
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX17)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_BARRIER)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_BIT)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_COMPARE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_CONCEPTS)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_COROUTINE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_FORMAT)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_LATCH)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_NUMBERS)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_RANGES)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SPAN)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SYNCSTREAM)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_VERSION)
|
||||
# define BOOST_NO_CXX20
|
||||
#endif
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
// Intel
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
|
||||
|
||||
#elif defined __clang__ && !defined(__ibmxl__)
|
||||
#elif defined __clang__ && !defined(__ibmxl__) && !defined(__CODEGEARC__)
|
||||
// Clang C++ emulates GCC, so it has to appear early.
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
|
||||
|
||||
|
||||
@@ -88,6 +88,11 @@
|
||||
#elif defined(__CloudABI__)
|
||||
// Nuxi CloudABI:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp"
|
||||
|
||||
#elif defined (__wasm__)
|
||||
// Web assembly:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/wasm.hpp"
|
||||
|
||||
#else
|
||||
|
||||
# if defined(unix) \
|
||||
|
||||
@@ -11,10 +11,21 @@
|
||||
|
||||
// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:
|
||||
|
||||
// First include <cstddef> to determine if some version of STLport is in use as the std lib
|
||||
// First, check if __has_include is available and <version> include can be located,
|
||||
// otherwise include <cstddef> to determine if some version of STLport is in use as the std lib
|
||||
// (do not rely on this header being included since users can short-circuit this header
|
||||
// if they know whose std lib they are using.)
|
||||
#ifdef __cplusplus
|
||||
#if defined(__cplusplus) && defined(__has_include)
|
||||
# if __has_include(<version>)
|
||||
// It should be safe to include `<version>` when it is present without checking
|
||||
// the actual C++ language version as it consists solely of macro definitions.
|
||||
// [version.syn] p1: The header <version> supplies implementation-dependent
|
||||
// information about the C++ standard library (e.g., version number and release date).
|
||||
# include <version>
|
||||
# else
|
||||
# include <cstddef>
|
||||
# endif
|
||||
#elif defined(__cplusplus)
|
||||
# include <cstddef>
|
||||
#else
|
||||
# include <stddef.h>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#endif
|
||||
|
||||
//
|
||||
// ensure that visibility macros are always defined, thus symplifying use
|
||||
// ensure that visibility macros are always defined, thus simplifying use
|
||||
//
|
||||
#ifndef BOOST_SYMBOL_EXPORT
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
@@ -47,6 +47,22 @@
|
||||
# define BOOST_SYMBOL_VISIBLE
|
||||
#endif
|
||||
|
||||
//
|
||||
// disable explicitly enforced visibility
|
||||
//
|
||||
#if defined(BOOST_DISABLE_EXPLICIT_SYMBOL_VISIBILITY)
|
||||
|
||||
#undef BOOST_SYMBOL_EXPORT
|
||||
#define BOOST_SYMBOL_EXPORT
|
||||
|
||||
#undef BOOST_SYMBOL_IMPORT
|
||||
#define BOOST_SYMBOL_IMPORT
|
||||
|
||||
#undef BOOST_SYMBOL_VISIBLE
|
||||
#define BOOST_SYMBOL_VISIBLE
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// look for long long by looking for the appropriate macros in <limits.h>.
|
||||
// Note that we use limits.h rather than climits for maximal portability,
|
||||
@@ -54,7 +70,7 @@
|
||||
// no namespace issues from this.
|
||||
//
|
||||
#if !defined(BOOST_HAS_LONG_LONG) && !defined(BOOST_NO_LONG_LONG) \
|
||||
&& !defined(BOOST_MSVC) && !defined(__BORLANDC__)
|
||||
&& !defined(BOOST_MSVC) && !defined(BOOST_BORLANDC)
|
||||
# include <limits.h>
|
||||
# if (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX))
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
@@ -475,6 +491,16 @@ namespace std {
|
||||
# define BOOST_CTOR_TYPENAME
|
||||
#endif
|
||||
|
||||
//
|
||||
// If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __int128 and __float128 support if present:
|
||||
//
|
||||
#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_FLOAT128)
|
||||
# undef BOOST_HAS_FLOAT128
|
||||
#endif
|
||||
#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_INT128)
|
||||
# undef BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
// long long workaround ------------------------------------------//
|
||||
// On gcc (and maybe other compilers?) long long is alway supported
|
||||
// but it's use may generate either warnings (with -ansi), or errors
|
||||
@@ -529,10 +555,13 @@ namespace boost {
|
||||
# define BOOST_APPEND_EXPLICIT_TEMPLATE_NON_TYPE_SPEC(t, v)
|
||||
|
||||
// When BOOST_NO_STD_TYPEINFO is defined, we can just import
|
||||
// the global definition into std namespace:
|
||||
#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus)
|
||||
// the global definition into std namespace,
|
||||
// see https://svn.boost.org/trac10/ticket/4115
|
||||
#if defined(BOOST_NO_STD_TYPEINFO) && defined(__cplusplus) && defined(BOOST_MSVC)
|
||||
#include <typeinfo>
|
||||
namespace std{ using ::type_info; }
|
||||
// Since we do now have typeinfo, undef the macro:
|
||||
#undef BOOST_NO_STD_TYPEINFO
|
||||
#endif
|
||||
|
||||
// ---------------------------------------------------------------------------//
|
||||
@@ -619,6 +648,9 @@ namespace std{ using ::type_info; }
|
||||
// nvcc doesn't always parse __noinline__,
|
||||
// see: https://svn.boost.org/trac/boost/ticket/9392
|
||||
# define BOOST_NOINLINE __attribute__ ((noinline))
|
||||
# elif defined(__HIP__)
|
||||
// See https://github.com/boostorg/config/issues/392
|
||||
# define BOOST_NOINLINE __attribute__ ((noinline))
|
||||
# else
|
||||
# define BOOST_NOINLINE __attribute__ ((__noinline__))
|
||||
# endif
|
||||
@@ -634,7 +666,7 @@ namespace std{ using ::type_info; }
|
||||
#if !defined(BOOST_NORETURN)
|
||||
# if defined(_MSC_VER)
|
||||
# define BOOST_NORETURN __declspec(noreturn)
|
||||
# elif defined(__GNUC__)
|
||||
# elif defined(__GNUC__) || defined(__CODEGEARC__) && defined(__clang__)
|
||||
# define BOOST_NORETURN __attribute__ ((__noreturn__))
|
||||
# elif defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)
|
||||
# if __has_attribute(noreturn)
|
||||
@@ -652,6 +684,23 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_NORETURN
|
||||
#endif
|
||||
|
||||
// BOOST_DEPRECATED -------------------------------------------//
|
||||
// The macro can be used to mark deprecated symbols, such as functions, objects and types.
|
||||
// Any code that uses these symbols will produce warnings, possibly with a message specified
|
||||
// as an argument. The warnings can be suppressed by defining BOOST_ALLOW_DEPRECATED_SYMBOLS
|
||||
// or BOOST_ALLOW_DEPRECATED.
|
||||
#if !defined(BOOST_DEPRECATED) && __cplusplus >= 201402
|
||||
#define BOOST_DEPRECATED(msg) [[deprecated(msg)]]
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_ALLOW_DEPRECATED_SYMBOLS) || defined(BOOST_ALLOW_DEPRECATED)
|
||||
#undef BOOST_DEPRECATED
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_DEPRECATED)
|
||||
#define BOOST_DEPRECATED(msg)
|
||||
#endif
|
||||
|
||||
// Branch prediction hints
|
||||
// These macros are intended to wrap conditional expressions that yield true or false
|
||||
//
|
||||
@@ -667,6 +716,12 @@ namespace std{ using ::type_info; }
|
||||
# define BOOST_UNLIKELY(x) x
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_OVERRIDE)
|
||||
# define BOOST_OVERRIDE override
|
||||
#else
|
||||
# define BOOST_OVERRIDE
|
||||
#endif
|
||||
|
||||
// Type and data alignment specification
|
||||
//
|
||||
#if !defined(BOOST_ALIGNMENT)
|
||||
@@ -943,6 +998,14 @@ namespace std{ using ::type_info; }
|
||||
// ------------------ End of deprecated macros for 1.51 ---------------------------
|
||||
|
||||
|
||||
//
|
||||
// Helper macro for marking types and methods final
|
||||
//
|
||||
#if !defined(BOOST_NO_CXX11_FINAL)
|
||||
# define BOOST_FINAL final
|
||||
#else
|
||||
# define BOOST_FINAL
|
||||
#endif
|
||||
|
||||
//
|
||||
// Helper macros BOOST_NOEXCEPT, BOOST_NOEXCEPT_IF, BOOST_NOEXCEPT_EXPR
|
||||
@@ -985,16 +1048,82 @@ namespace std{ using ::type_info; }
|
||||
#else
|
||||
#define BOOST_CXX14_CONSTEXPR constexpr
|
||||
#endif
|
||||
#if !defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS) && defined(BOOST_NO_CXX11_HDR_TUPLE)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++17 inline variables
|
||||
//
|
||||
#if !defined(BOOST_NO_CXX17_INLINE_VARIABLES)
|
||||
#define BOOST_INLINE_VARIABLE inline
|
||||
#else
|
||||
#define BOOST_INLINE_VARIABLE
|
||||
#endif
|
||||
//
|
||||
// C++17 if constexpr
|
||||
//
|
||||
#if !defined(BOOST_NO_CXX17_IF_CONSTEXPR)
|
||||
# define BOOST_IF_CONSTEXPR if constexpr
|
||||
#else
|
||||
# define BOOST_IF_CONSTEXPR if
|
||||
#endif
|
||||
|
||||
#define BOOST_INLINE_CONSTEXPR BOOST_INLINE_VARIABLE BOOST_CONSTEXPR_OR_CONST
|
||||
|
||||
//
|
||||
// Unused variable/typedef workarounds:
|
||||
//
|
||||
#ifndef BOOST_ATTRIBUTE_UNUSED
|
||||
# if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)
|
||||
# if __has_attribute(maybe_unused)
|
||||
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
|
||||
# endif
|
||||
# elif defined(__has_cpp_attribute)
|
||||
# if __has_cpp_attribute(maybe_unused)
|
||||
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_ATTRIBUTE_UNUSED
|
||||
# define BOOST_ATTRIBUTE_UNUSED
|
||||
#endif
|
||||
|
||||
//
|
||||
// [[nodiscard]]:
|
||||
//
|
||||
#if defined(__has_attribute) && defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x5130)
|
||||
#if __has_attribute(nodiscard)
|
||||
# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]]
|
||||
#endif
|
||||
#if __has_attribute(no_unique_address)
|
||||
# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]]
|
||||
#endif
|
||||
#elif defined(__has_cpp_attribute)
|
||||
// clang-6 accepts [[nodiscard]] with -std=c++14, but warns about it -pedantic
|
||||
#if __has_cpp_attribute(nodiscard) && !(defined(__clang__) && (__cplusplus < 201703L)) && !(defined(__GNUC__) && (__cplusplus < 201100))
|
||||
# define BOOST_ATTRIBUTE_NODISCARD [[nodiscard]]
|
||||
#endif
|
||||
#if __has_cpp_attribute(no_unique_address) && !(defined(__GNUC__) && (__cplusplus < 201100))
|
||||
# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS [[no_unique_address]]
|
||||
#endif
|
||||
#endif
|
||||
#ifndef BOOST_ATTRIBUTE_NODISCARD
|
||||
# define BOOST_ATTRIBUTE_NODISCARD
|
||||
#endif
|
||||
#ifndef BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS
|
||||
# define BOOST_ATTRIBUTE_NO_UNIQUE_ADDRESS
|
||||
#endif
|
||||
|
||||
#define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST
|
||||
|
||||
#if !defined(BOOST_NO_CXX11_NULLPTR)
|
||||
# define BOOST_NULLPTR nullptr
|
||||
#else
|
||||
# define BOOST_NULLPTR 0
|
||||
#endif
|
||||
|
||||
//
|
||||
// Set BOOST_HAS_STATIC_ASSERT when BOOST_NO_CXX11_STATIC_ASSERT is not defined
|
||||
//
|
||||
@@ -1024,9 +1153,16 @@ namespace std{ using ::type_info; }
|
||||
#endif
|
||||
|
||||
// This is a catch all case for obsolete compilers / std libs:
|
||||
#if !defined(__has_include)
|
||||
#if !defined(_YVALS) && !defined(_CPPLIB_VER) // msvc std lib already configured
|
||||
#if (!defined(__has_include) || (__cplusplus < 201700))
|
||||
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
# 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
|
||||
#else
|
||||
#if !__has_include(<optional>)
|
||||
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
@@ -1034,7 +1170,116 @@ namespace std{ using ::type_info; }
|
||||
#if !__has_include(<string_view>)
|
||||
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
#endif
|
||||
#if !__has_include(<variant>)
|
||||
# define BOOST_NO_CXX17_HDR_VARIANT
|
||||
#endif
|
||||
#if !__has_include(<any>)
|
||||
# define BOOST_NO_CXX17_HDR_ANY
|
||||
#endif
|
||||
#if !__has_include(<memory_resource>)
|
||||
# define BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
||||
#endif
|
||||
#if !__has_include(<charconv>)
|
||||
# define BOOST_NO_CXX17_HDR_CHARCONV
|
||||
#endif
|
||||
#if !__has_include(<execution>)
|
||||
# define BOOST_NO_CXX17_HDR_EXECUTION
|
||||
#endif
|
||||
#if !__has_include(<filesystem>)
|
||||
# define BOOST_NO_CXX17_HDR_FILESYSTEM
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
//
|
||||
// Define the std level that the compiler claims to support:
|
||||
//
|
||||
#ifndef BOOST_CXX_VERSION
|
||||
# define BOOST_CXX_VERSION __cplusplus
|
||||
#endif
|
||||
|
||||
#if (!defined(__has_include) || (BOOST_CXX_VERSION < 201704))
|
||||
# define BOOST_NO_CXX20_HDR_BARRIER
|
||||
# define BOOST_NO_CXX20_HDR_FORMAT
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
# define BOOST_NO_CXX20_HDR_BIT
|
||||
# define BOOST_NO_CXX20_HDR_LATCH
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
# define BOOST_NO_CXX20_HDR_NUMBERS
|
||||
# define BOOST_NO_CXX20_HDR_STOP_TOKEN
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
# define BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
# define BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
#else
|
||||
#if (!__has_include(<barrier>) || !defined(__cpp_lib_barrier) || (__cpp_lib_barrier < 201907L)) && !defined(BOOST_NO_CXX20_HDR_BARRIER)
|
||||
# define BOOST_NO_CXX20_HDR_BARRIER
|
||||
#endif
|
||||
#if (!__has_include(<format>) || !defined(__cpp_lib_format) || (__cpp_lib_format < 201907L)) && !defined(BOOST_NO_CXX20_HDR_FORMAT)
|
||||
# define BOOST_NO_CXX20_HDR_FORMAT
|
||||
#endif
|
||||
#if (!__has_include(<source_location>) || !defined(__cpp_lib_source_location) || (__cpp_lib_source_location < 201907L)) && !defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)
|
||||
# define BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
#endif
|
||||
#if (!__has_include(<bit>) || !defined(__cpp_lib_bit_cast) || (__cpp_lib_bit_cast < 201806L) || !defined(__cpp_lib_bitops) || (__cpp_lib_bitops < 201907L) || !defined(__cpp_lib_endian) || (__cpp_lib_endian < 201907L)) && !defined(BOOST_NO_CXX20_HDR_BIT)
|
||||
# define BOOST_NO_CXX20_HDR_BIT
|
||||
#endif
|
||||
#if (!__has_include(<latch>) || !defined(__cpp_lib_latch) || (__cpp_lib_latch < 201907L)) && !defined(BOOST_NO_CXX20_HDR_LATCH)
|
||||
# define BOOST_NO_CXX20_HDR_LATCH
|
||||
#endif
|
||||
#if (!__has_include(<span>) || !defined(__cpp_lib_span) || (__cpp_lib_span < 202002L)) && !defined(BOOST_NO_CXX20_HDR_SPAN)
|
||||
# define BOOST_NO_CXX20_HDR_SPAN
|
||||
#endif
|
||||
#if (!__has_include(<compare>) || !defined(__cpp_lib_three_way_comparison) || (__cpp_lib_three_way_comparison < 201907L)) && !defined(BOOST_NO_CXX20_HDR_COMPARE)
|
||||
# define BOOST_NO_CXX20_HDR_COMPARE
|
||||
#endif
|
||||
#if (!__has_include(<numbers>) || !defined(__cpp_lib_math_constants) || (__cpp_lib_math_constants < 201907L)) && !defined(BOOST_NO_CXX20_HDR_NUMBERS)
|
||||
# define BOOST_NO_CXX20_HDR_NUMBERS
|
||||
#endif
|
||||
#if (!__has_include(<stop_token>) || !defined(__cpp_lib_jthread) || (__cpp_lib_jthread < 201911L)) && !defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)
|
||||
# define BOOST_NO_CXX20_HDR_STOP_TOKEN
|
||||
#endif
|
||||
#if (!__has_include(<concepts>) || !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L)) && !defined(_YVALS) && !defined(_CPPLIB_VER) && !defined(BOOST_NO_CXX20_HDR_CONCEPTS)
|
||||
# define BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
#endif
|
||||
#if (!__has_include(<ranges>) || !defined(__cpp_lib_ranges) || (__cpp_lib_ranges < 201911L)) && !defined(BOOST_NO_CXX20_HDR_RANGES)
|
||||
# define BOOST_NO_CXX20_HDR_RANGES
|
||||
#endif
|
||||
#if (!__has_include(<syncstream>) || !defined(__cpp_lib_syncbuf) || (__cpp_lib_syncbuf < 201803L)) && !defined(BOOST_NO_CXX20_HDR_SYNCSTREAM)
|
||||
# define BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
#endif
|
||||
#if (!__has_include(<coroutine>) || !defined(__cpp_lib_coroutine) || (__cpp_lib_coroutine < 201902L)) && !defined(BOOST_NO_CXX20_HDR_COROUTINE)
|
||||
# define BOOST_NO_CXX20_HDR_COROUTINE
|
||||
#endif
|
||||
#if (!__has_include(<semaphore>) || !defined(__cpp_lib_semaphore) || (__cpp_lib_semaphore < 201907L)) && !defined(BOOST_NO_CXX20_HDR_SEMAPHORE)
|
||||
# define BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__cplusplus) && defined(__has_include)
|
||||
#if !__has_include(<version>)
|
||||
# define BOOST_NO_CXX20_HDR_VERSION
|
||||
#else
|
||||
// For convenience, this is always included:
|
||||
# include <version>
|
||||
#endif
|
||||
#else
|
||||
# define BOOST_NO_CXX20_HDR_VERSION
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_MSVC)
|
||||
#if (BOOST_MSVC < 1914) || (_MSVC_LANG < 201703)
|
||||
# define BOOST_NO_CXX17_DEDUCTION_GUIDES
|
||||
#endif
|
||||
#elif !defined(__cpp_deduction_guides) || (__cpp_deduction_guides < 201606)
|
||||
# define BOOST_NO_CXX17_DEDUCTION_GUIDES
|
||||
#endif
|
||||
|
||||
//
|
||||
// Define composite agregate macros:
|
||||
//
|
||||
#include <boost/config/detail/cxx_composite.hpp>
|
||||
|
||||
//
|
||||
// Finish off with checks for macros that are depricated / no longer supported,
|
||||
|
||||
Reference in New Issue
Block a user