#ifndef _LIBCPP___CONFIG
#define _LIBCPP___CONFIG
#include <__config_site>
#include <__configuration/abi.h>
#include <__configuration/availability.h>
#include <__configuration/compiler.h>
#include <__configuration/platform.h>
#ifndef _LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER
# pragma GCC system_header
#endif
#ifdef __cplusplus
#define _LIBCPP_VERSION …
#define _LIBCPP_CONCAT_IMPL(_X, _Y) …
#define _LIBCPP_CONCAT(_X, _Y) …
# if __STDC_HOSTED__ == 0
#define _LIBCPP_FREESTANDING
# endif
# ifdef _LIBCPP_ENABLE_ASSERTIONS
# warning "_LIBCPP_ENABLE_ASSERTIONS is deprecated, please use _LIBCPP_HARDENING_MODE instead"
# if _LIBCPP_ENABLE_ASSERTIONS != 0 && _LIBCPP_ENABLE_ASSERTIONS != 1
# error "_LIBCPP_ENABLE_ASSERTIONS must be set to 0 or 1"
# endif
# if _LIBCPP_ENABLE_ASSERTIONS
#define _LIBCPP_HARDENING_MODE …
# endif
# endif
#define _LIBCPP_HARDENING_MODE_NONE …
#define _LIBCPP_HARDENING_MODE_FAST …
#define _LIBCPP_HARDENING_MODE_EXTENSIVE …
#define _LIBCPP_HARDENING_MODE_DEBUG …
# ifndef _LIBCPP_HARDENING_MODE
# ifndef _LIBCPP_HARDENING_MODE_DEFAULT
# error _LIBCPP_HARDENING_MODE_DEFAULT is not defined. This definition should be set at configuration time in the \
`__config_site` header, please make sure your installation of libc++ is not broken.
# endif
#define _LIBCPP_HARDENING_MODE …
# endif
# if _LIBCPP_HARDENING_MODE != _LIBCPP_HARDENING_MODE_NONE && \
_LIBCPP_HARDENING_MODE != _LIBCPP_HARDENING_MODE_FAST && \
_LIBCPP_HARDENING_MODE != _LIBCPP_HARDENING_MODE_EXTENSIVE && \
_LIBCPP_HARDENING_MODE != _LIBCPP_HARDENING_MODE_DEBUG
# error _LIBCPP_HARDENING_MODE must be set to one of the following values: \
_LIBCPP_HARDENING_MODE_NONE, \
_LIBCPP_HARDENING_MODE_FAST, \
_LIBCPP_HARDENING_MODE_EXTENSIVE, \
_LIBCPP_HARDENING_MODE_DEBUG
# endif
#define _LIBCPP_TOSTRING2(x) …
#define _LIBCPP_TOSTRING(x) …
# if __cplusplus < 201103L
#define _LIBCPP_CXX03_LANG
# endif
# ifndef __has_constexpr_builtin
#define __has_constexpr_builtin …
# endif
# ifndef __building_module
#define __building_module …
# endif
# ifndef __is_identifier
#define __is_identifier …
# endif
# ifndef __has_declspec_attribute
#define __has_declspec_attribute …
# endif
#define __has_keyword(__x) …
# ifndef __has_warning
#define __has_warning …
# endif
# if !defined(_LIBCPP_COMPILER_CLANG_BASED) && __cplusplus < 201103L
# error "libc++ only supports C++03 with Clang-based compilers. Please enable C++11"
# endif
# if defined(_LIBCPP_ABI_FORCE_ITANIUM) && defined(_LIBCPP_ABI_FORCE_MICROSOFT)
# error "Only one of _LIBCPP_ABI_FORCE_ITANIUM and _LIBCPP_ABI_FORCE_MICROSOFT can be defined"
# elif defined(_LIBCPP_ABI_FORCE_ITANIUM)
#define _LIBCPP_ABI_ITANIUM
# elif defined(_LIBCPP_ABI_FORCE_MICROSOFT)
#define _LIBCPP_ABI_MICROSOFT
# else
# if defined(_WIN32) && defined(_MSC_VER)
#define _LIBCPP_ABI_MICROSOFT
# else
#define _LIBCPP_ABI_ITANIUM
# endif
# endif
# if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_NO_VCRUNTIME)
#define _LIBCPP_ABI_VCRUNTIME
# endif
# if __has_feature(experimental_library)
# ifndef _LIBCPP_ENABLE_EXPERIMENTAL
#define _LIBCPP_ENABLE_EXPERIMENTAL
# endif
# endif
# if !defined(_LIBCPP_ENABLE_EXPERIMENTAL) && !defined(_LIBCPP_BUILDING_LIBRARY)
#define _LIBCPP_HAS_NO_INCOMPLETE_PSTL
#define _LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN
#define _LIBCPP_HAS_NO_EXPERIMENTAL_TZDB
#define _LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM
# endif
# if defined(__MVS__)
# include <features.h>
# endif
# if defined(_WIN32)
#define _LIBCPP_WIN32API
#define _LIBCPP_SHORT_WCHAR …
#define _LIBCPP_MSVCRT_LIKE
# if defined(_MSC_VER) && !defined(__MINGW32__)
#define _LIBCPP_MSVCRT …
# endif
# if (defined(_M_AMD64) || defined(__x86_64__)) || (defined(_M_ARM) || defined(__arm__))
#define _LIBCPP_HAS_BITSCAN64
# endif
#define _LIBCPP_HAS_OPEN_WITH_WCHAR
# endif
# if defined(_AIX) && !defined(__64BIT__)
#define _LIBCPP_SHORT_WCHAR …
# endif
# if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \
defined(__DragonFly__)
#define _LIBCPP_USING_ARC4_RANDOM
# elif defined(__wasi__) || defined(__EMSCRIPTEN__)
#define _LIBCPP_USING_GETENTROPY
# elif defined(__Fuchsia__)
#define _LIBCPP_USING_FUCHSIA_CPRNG
# elif defined(__native_client__)
#define _LIBCPP_USING_NACL_RANDOM
# elif defined(_LIBCPP_WIN32API)
#define _LIBCPP_USING_WIN32_RANDOM
# else
#define _LIBCPP_USING_DEV_RANDOM
# endif
# ifndef _LIBCPP_CXX03_LANG
#define _LIBCPP_ALIGNOF(_Tp) …
#define _ALIGNAS_TYPE(x) …
#define _ALIGNAS(x) …
#define _LIBCPP_NORETURN …
#define _NOEXCEPT …
#define _NOEXCEPT_(...) …
#define _LIBCPP_CONSTEXPR …
# else
#define _LIBCPP_ALIGNOF …
#define _ALIGNAS_TYPE …
#define _ALIGNAS …
#define _LIBCPP_NORETURN …
#define _LIBCPP_HAS_NO_NOEXCEPT
# define nullptr __nullptr
#define _NOEXCEPT …
#define _NOEXCEPT_ …
# define static_assert(...) _Static_assert(__VA_ARGS__)
# define decltype(...) __decltype(__VA_ARGS__)
#define _LIBCPP_CONSTEXPR
typedef __char16_t char16_t;
typedef __char32_t char32_t;
# endif
#define _LIBCPP_PREFERRED_ALIGNOF(_Tp) …
# if __has_feature(objc_arc)
#define _LIBCPP_HAS_OBJC_ARC
# endif
# if __has_feature(objc_arc_weak)
#define _LIBCPP_HAS_OBJC_ARC_WEAK
# endif
# if __has_extension(blocks)
#define _LIBCPP_HAS_EXTENSION_BLOCKS
# endif
# if defined(_LIBCPP_HAS_EXTENSION_BLOCKS) && defined(__APPLE__)
#define _LIBCPP_HAS_BLOCKS_RUNTIME
# endif
# if !__has_feature(address_sanitizer)
#define _LIBCPP_HAS_NO_ASAN
# endif
#define _LIBCPP_ALWAYS_INLINE …
#define _LIBCPP_DISABLE_EXTENSION_WARNING …
# if defined(_LIBCPP_OBJECT_FORMAT_COFF)
# ifdef _DLL
#define _LIBCPP_CRT_FUNC …
# else
#define _LIBCPP_CRT_FUNC
# endif
# if defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) || (defined(__MINGW32__) && !defined(_LIBCPP_BUILDING_LIBRARY))
#define _LIBCPP_DLL_VIS
#define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
#define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
#define _LIBCPP_OVERRIDABLE_FUNC_VIS
#define _LIBCPP_EXPORTED_FROM_ABI
# elif defined(_LIBCPP_BUILDING_LIBRARY)
#define _LIBCPP_DLL_VIS …
# if defined(__MINGW32__)
#define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS …
#define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
# else
#define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS
#define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS …
# endif
#define _LIBCPP_OVERRIDABLE_FUNC_VIS …
#define _LIBCPP_EXPORTED_FROM_ABI …
# else
#define _LIBCPP_DLL_VIS …
#define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS …
#define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
#define _LIBCPP_OVERRIDABLE_FUNC_VIS
#define _LIBCPP_EXPORTED_FROM_ABI …
# endif
#define _LIBCPP_HIDDEN
#define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
#define _LIBCPP_TEMPLATE_VIS
#define _LIBCPP_TEMPLATE_DATA_VIS
#define _LIBCPP_TYPE_VISIBILITY_DEFAULT
# else
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#define _LIBCPP_VISIBILITY(vis) …
# else
#define _LIBCPP_VISIBILITY …
# endif
#define _LIBCPP_HIDDEN …
#define _LIBCPP_TEMPLATE_DATA_VIS …
#define _LIBCPP_EXPORTED_FROM_ABI …
#define _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS …
#define _LIBCPP_CLASS_TEMPLATE_INSTANTIATION_VIS
# ifndef _LIBCPP_OVERRIDABLE_FUNC_VIS
#define _LIBCPP_OVERRIDABLE_FUNC_VIS …
# endif
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
#define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS …
# else
#define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS
# endif
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) && !__has_attribute(__type_visibility__)
#define _LIBCPP_TEMPLATE_VIS …
# else
#define _LIBCPP_TEMPLATE_VIS
# endif
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) && __has_attribute(__type_visibility__)
#define _LIBCPP_TYPE_VISIBILITY_DEFAULT …
# else
#define _LIBCPP_TYPE_VISIBILITY_DEFAULT
# endif
# endif
# if __has_attribute(exclude_from_explicit_instantiation)
#define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION …
# else
#define _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION …
# endif
# ifdef _LIBCPP_COMPILER_CLANG_BASED
#define _LIBCPP_DIAGNOSTIC_PUSH …
#define _LIBCPP_DIAGNOSTIC_POP …
#define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED(str) …
#define _LIBCPP_GCC_DIAGNOSTIC_IGNORED(str) …
# elif defined(_LIBCPP_COMPILER_GCC)
#define _LIBCPP_DIAGNOSTIC_PUSH …
#define _LIBCPP_DIAGNOSTIC_POP …
#define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED …
#define _LIBCPP_GCC_DIAGNOSTIC_IGNORED …
# else
#define _LIBCPP_DIAGNOSTIC_PUSH
#define _LIBCPP_DIAGNOSTIC_POP
#define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED …
#define _LIBCPP_GCC_DIAGNOSTIC_IGNORED …
# endif
# if _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_FAST
#define _LIBCPP_HARDENING_SIG …
# elif _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_EXTENSIVE
#define _LIBCPP_HARDENING_SIG …
# elif _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG
#define _LIBCPP_HARDENING_SIG …
# else
#define _LIBCPP_HARDENING_SIG …
# endif
# ifdef _LIBCPP_HAS_NO_EXCEPTIONS
#define _LIBCPP_EXCEPTIONS_SIG …
# else
#define _LIBCPP_EXCEPTIONS_SIG …
# endif
#define _LIBCPP_ODR_SIGNATURE …
# ifndef _LIBCPP_NO_ABI_TAG
#define _LIBCPP_HIDE_FROM_ABI …
# else
#define _LIBCPP_HIDE_FROM_ABI …
# endif
#define _LIBCPP_HIDE_FROM_ABI_VIRTUAL …
# ifdef _LIBCPP_BUILDING_LIBRARY
# if _LIBCPP_ABI_VERSION > 1
#define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 …
# else
#define _LIBCPP_HIDE_FROM_ABI_AFTER_V1
# endif
# else
#define _LIBCPP_HIDE_FROM_ABI_AFTER_V1 …
# endif
# if __has_warning("-Wc++23-extensions")
#define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED_CXX23_EXTENSION …
# else
#define _LIBCPP_CLANG_DIAGNOSTIC_IGNORED_CXX23_EXTENSION …
# endif
# if !__has_feature(modules)
#define _LIBCPP_PUSH_EXTENSION_DIAGNOSTICS …
#define _LIBCPP_POP_EXTENSION_DIAGNOSTICS …
# else
#define _LIBCPP_PUSH_EXTENSION_DIAGNOSTICS
#define _LIBCPP_POP_EXTENSION_DIAGNOSTICS
# endif
#define _LIBCPP_BEGIN_NAMESPACE_STD …
#define _LIBCPP_END_NAMESPACE_STD …
#ifdef _LIBCPP_ABI_NO_FILESYSTEM_INLINE_NAMESPACE
#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM …
#define _LIBCPP_END_NAMESPACE_FILESYSTEM …
#else
#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM …
#define _LIBCPP_END_NAMESPACE_FILESYSTEM …
#endif
# if __has_attribute(__enable_if__)
#define _LIBCPP_PREFERRED_OVERLOAD …
# endif
# if !defined(__SIZEOF_INT128__) || defined(_MSC_VER)
#define _LIBCPP_HAS_NO_INT128
# endif
# ifdef _LIBCPP_CXX03_LANG
#define _LIBCPP_DECLARE_STRONG_ENUM …
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG …
# else
#define _LIBCPP_DECLARE_STRONG_ENUM(x) …
#define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) …
# endif
# if defined(__APPLE__) || defined(__FreeBSD__) || defined(_LIBCPP_MSVCRT_LIKE) || defined(__NetBSD__)
#define _LIBCPP_LOCALE__L_EXTENSIONS …
# endif
# ifdef __FreeBSD__
#define _DECLARE_C99_LDBL_MATH …
# endif
# if defined(_LIBCPP_MSVCRT) && defined(_MSC_VER) && _MSC_VER < 1912
#define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
# elif defined(_LIBCPP_ABI_VCRUNTIME) && !defined(__cpp_aligned_new)
#define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
# elif defined(__MVS__)
#define _LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION
# endif
# if defined(_LIBCPP_HAS_NO_LIBRARY_ALIGNED_ALLOCATION) || (!defined(__cpp_aligned_new) || __cpp_aligned_new < 201606)
#define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION
# endif
# if defined(__APPLE__)
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && \
__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101500)
#define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC
# endif
# elif defined(__ANDROID__) && __ANDROID_API__ < 28
#define _LIBCPP_HAS_NO_C11_ALIGNED_ALLOC
# endif
# if defined(__APPLE__) || defined(__FreeBSD__)
#define _LIBCPP_HAS_DEFAULTRUNELOCALE
# endif
# if defined(__APPLE__) || defined(__FreeBSD__)
#define _LIBCPP_WCTYPE_IS_MASK
# endif
# if _LIBCPP_STD_VER <= 17 || !defined(__cpp_char8_t)
#define _LIBCPP_HAS_NO_CHAR8_T
# endif
# if !defined(_LIBCPP_DISABLE_DEPRECATION_WARNINGS)
# if __has_attribute(__deprecated__)
#define _LIBCPP_DEPRECATED …
#define _LIBCPP_DEPRECATED_(m) …
# elif _LIBCPP_STD_VER >= 14
#define _LIBCPP_DEPRECATED …
#define _LIBCPP_DEPRECATED_ …
# else
#define _LIBCPP_DEPRECATED
#define _LIBCPP_DEPRECATED_ …
# endif
# else
#define _LIBCPP_DEPRECATED
#define _LIBCPP_DEPRECATED_ …
# endif
# if !defined(_LIBCPP_CXX03_LANG)
#define _LIBCPP_DEPRECATED_IN_CXX11 …
# else
#define _LIBCPP_DEPRECATED_IN_CXX11
# endif
# if _LIBCPP_STD_VER >= 14
#define _LIBCPP_DEPRECATED_IN_CXX14 …
# else
#define _LIBCPP_DEPRECATED_IN_CXX14
# endif
# if _LIBCPP_STD_VER >= 17
#define _LIBCPP_DEPRECATED_IN_CXX17 …
# else
#define _LIBCPP_DEPRECATED_IN_CXX17
# endif
# if _LIBCPP_STD_VER >= 20
#define _LIBCPP_DEPRECATED_IN_CXX20 …
# else
#define _LIBCPP_DEPRECATED_IN_CXX20
# endif
# if _LIBCPP_STD_VER >= 23
#define _LIBCPP_DEPRECATED_IN_CXX23 …
# else
#define _LIBCPP_DEPRECATED_IN_CXX23
# endif
# if _LIBCPP_STD_VER >= 26
#define _LIBCPP_DEPRECATED_IN_CXX26 …
# else
#define _LIBCPP_DEPRECATED_IN_CXX26
# endif
# if !defined(_LIBCPP_HAS_NO_CHAR8_T)
#define _LIBCPP_DEPRECATED_WITH_CHAR8_T …
# else
#define _LIBCPP_DEPRECATED_WITH_CHAR8_T
# endif
# if defined(_LIBCPP_COMPILER_CLANG_BASED) || defined(_LIBCPP_COMPILER_GCC)
#define _LIBCPP_SUPPRESS_DEPRECATED_PUSH …
#define _LIBCPP_SUPPRESS_DEPRECATED_POP …
# else
#define _LIBCPP_SUPPRESS_DEPRECATED_PUSH
#define _LIBCPP_SUPPRESS_DEPRECATED_POP
# endif
# if _LIBCPP_STD_VER <= 11
#define _LIBCPP_EXPLICIT_SINCE_CXX14
# else
#define _LIBCPP_EXPLICIT_SINCE_CXX14 …
# endif
# if _LIBCPP_STD_VER >= 23
#define _LIBCPP_EXPLICIT_SINCE_CXX23 …
# else
#define _LIBCPP_EXPLICIT_SINCE_CXX23
# endif
# if _LIBCPP_STD_VER >= 14
#define _LIBCPP_CONSTEXPR_SINCE_CXX14 …
# else
#define _LIBCPP_CONSTEXPR_SINCE_CXX14
# endif
# if _LIBCPP_STD_VER >= 17
#define _LIBCPP_CONSTEXPR_SINCE_CXX17 …
# else
#define _LIBCPP_CONSTEXPR_SINCE_CXX17
# endif
# if _LIBCPP_STD_VER >= 20
#define _LIBCPP_CONSTEXPR_SINCE_CXX20 …
# else
#define _LIBCPP_CONSTEXPR_SINCE_CXX20
# endif
# if _LIBCPP_STD_VER >= 23
#define _LIBCPP_CONSTEXPR_SINCE_CXX23 …
# else
#define _LIBCPP_CONSTEXPR_SINCE_CXX23
# endif
# if _LIBCPP_STD_VER >= 26
#define _LIBCPP_CONSTEXPR_SINCE_CXX26 …
# else
#define _LIBCPP_CONSTEXPR_SINCE_CXX26
# endif
# ifndef _LIBCPP_WEAK
#define _LIBCPP_WEAK …
# endif
# if !defined(_LIBCPP_HAS_NO_THREADS) && \
!defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && \
!defined(_LIBCPP_HAS_THREAD_API_WIN32) && \
!defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
# if defined(__FreeBSD__) || \
defined(__wasi__) || \
defined(__NetBSD__) || \
defined(__OpenBSD__) || \
defined(__NuttX__) || \
defined(__linux__) || \
defined(__GNU__) || \
defined(__APPLE__) || \
defined(__MVS__) || \
defined(_AIX) || \
defined(__EMSCRIPTEN__)
#define _LIBCPP_HAS_THREAD_API_PTHREAD
# elif defined(__Fuchsia__)
#define _LIBCPP_HAS_THREAD_API_PTHREAD
# elif defined(_LIBCPP_WIN32API)
#define _LIBCPP_HAS_THREAD_API_WIN32
# else
# error "No thread API"
# endif
# endif
# if defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
# if defined(__ANDROID__) && __ANDROID_API__ >= 30
#define _LIBCPP_HAS_COND_CLOCKWAIT
# elif defined(_LIBCPP_GLIBC_PREREQ)
# if _LIBCPP_GLIBC_PREREQ(2, 30)
#define _LIBCPP_HAS_COND_CLOCKWAIT
# endif
# endif
# endif
# if defined(_LIBCPP_HAS_NO_THREADS) && defined(_LIBCPP_HAS_THREAD_API_PTHREAD)
# error _LIBCPP_HAS_THREAD_API_PTHREAD may only be defined when \
_LIBCPP_HAS_NO_THREADS is not defined.
# endif
# if defined(_LIBCPP_HAS_NO_THREADS) && defined(_LIBCPP_HAS_THREAD_API_EXTERNAL)
# error _LIBCPP_HAS_THREAD_API_EXTERNAL may not be defined when \
_LIBCPP_HAS_NO_THREADS is defined.
# endif
# if defined(_LIBCPP_HAS_NO_MONOTONIC_CLOCK) && !defined(_LIBCPP_HAS_NO_THREADS)
# error _LIBCPP_HAS_NO_MONOTONIC_CLOCK may only be defined when \
_LIBCPP_HAS_NO_THREADS is defined.
# endif
# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(__STDCPP_THREADS__)
#define __STDCPP_THREADS__ …
# endif
# if (defined(_LIBCPP_HAS_THREAD_API_PTHREAD) && defined(__GLIBC__)) || \
(defined(_LIBCPP_HAS_THREAD_API_C11) && defined(__Fuchsia__)) || \
defined(_LIBCPP_HAS_THREAD_API_WIN32)
#define _LIBCPP_HAS_TRIVIAL_MUTEX_DESTRUCTION
# endif
# if (defined(_LIBCPP_HAS_THREAD_API_C11) && defined(__Fuchsia__)) || defined(_LIBCPP_HAS_THREAD_API_WIN32)
#define _LIBCPP_HAS_TRIVIAL_CONDVAR_DESTRUCTION
# endif
# if defined(__BIONIC__) || defined(__NuttX__) || defined(__Fuchsia__) || defined(__wasi__) || \
defined(_LIBCPP_HAS_MUSL_LIBC) || defined(__OpenBSD__)
#define _LIBCPP_PROVIDES_DEFAULT_RUNE_TABLE
# endif
# if __has_feature(cxx_atomic) || __has_extension(c_atomic) || __has_keyword(_Atomic)
#define _LIBCPP_HAS_C_ATOMIC_IMP
# elif defined(_LIBCPP_COMPILER_GCC)
#define _LIBCPP_HAS_GCC_ATOMIC_IMP
# endif
# if !defined(_LIBCPP_HAS_C_ATOMIC_IMP) && !defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) && \
!defined(_LIBCPP_HAS_EXTERNAL_ATOMIC_IMP)
#define _LIBCPP_HAS_NO_ATOMIC_HEADER
# else
# ifndef _LIBCPP_ATOMIC_FLAG_TYPE
#define _LIBCPP_ATOMIC_FLAG_TYPE …
# endif
# endif
# if defined(__FreeBSD__) && defined(__clang__) && __has_attribute(__no_thread_safety_analysis__)
#define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS …
# else
#define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
# endif
# if defined(_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS)
# if defined(__clang__) && __has_attribute(acquire_capability)
# if !defined(_MSC_VER)
#define _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS
# endif
# endif
# endif
# ifdef _LIBCPP_HAS_THREAD_SAFETY_ANNOTATIONS
#define _LIBCPP_THREAD_SAFETY_ANNOTATION …
# else
#define _LIBCPP_THREAD_SAFETY_ANNOTATION(x) …
# endif
# if _LIBCPP_STD_VER >= 20
#define _LIBCPP_CONSTINIT …
# elif __has_attribute(__require_constant_initialization__)
#define _LIBCPP_CONSTINIT …
# else
#define _LIBCPP_CONSTINIT
# endif
# if defined(__CUDACC__) || defined(__CUDA_ARCH__) || defined(__CUDA_LIBDEVICE__)
#define _LIBCPP_NOINLINE …
# elif __has_attribute(__noinline__)
#define _LIBCPP_NOINLINE …
# else
#define _LIBCPP_NOINLINE
# endif
# if defined(_LIBCPP_HAS_NO_WIDE_CHARACTERS)
#define _LIBCPP_IF_WIDE_CHARACTERS …
# else
#define _LIBCPP_IF_WIDE_CHARACTERS(...) …
# endif
#define _LIBCPP_PUSH_MACROS …
#define _LIBCPP_POP_MACROS …
# ifndef _LIBCPP_NO_AUTO_LINK
# if defined(_LIBCPP_ABI_MICROSOFT) && !defined(_LIBCPP_BUILDING_LIBRARY)
# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS)
# pragma comment(lib, "c++.lib")
# else
# pragma comment(lib, "libc++.lib")
# endif
# endif
# endif
# if defined(__BIONIC__)
#define _LIBCPP_FOPEN_CLOEXEC_MODE …
# else
#define _LIBCPP_FOPEN_CLOEXEC_MODE
# endif
# if __has_cpp_attribute(msvc::no_unique_address)
#define _LIBCPP_NO_UNIQUE_ADDRESS …
# elif __has_cpp_attribute(no_unique_address)
#define _LIBCPP_NO_UNIQUE_ADDRESS …
# else
#define _LIBCPP_NO_UNIQUE_ADDRESS …
# endif
#define _LIBCPP_HAS_NO_C8RTOMB_MBRTOC8
# if defined(_LIBCPP_GLIBC_PREREQ)
# if _LIBCPP_GLIBC_PREREQ(2, 36) && defined(__cpp_char8_t)
# undef _LIBCPP_HAS_NO_C8RTOMB_MBRTOC8
# endif
# endif
# if _LIBCPP_STD_VER >= 17
# ifdef _LIBCPP_COMPILER_CLANG_BASED
#define _LIBCPP_CTAD_SUPPORTED_FOR_TYPE(_ClassName) …
# else
#define _LIBCPP_CTAD_SUPPORTED_FOR_TYPE …
# endif
# else
#define _LIBCPP_CTAD_SUPPORTED_FOR_TYPE …
# endif
# ifdef __OBJC__
#define _LIBCPP_WORKAROUND_OBJCXX_COMPILER_INTRINSICS
# endif
#define _PSTL_PRAGMA(x) …
# if (defined(_OPENMP) && _OPENMP >= 201307)
#define _PSTL_UDR_PRESENT
#define _PSTL_PRAGMA_SIMD …
#define _PSTL_PRAGMA_DECLARE_SIMD …
#define _PSTL_PRAGMA_SIMD_REDUCTION …
#define _PSTL_PRAGMA_SIMD_SCAN …
#define _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN …
#define _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN …
#define _PSTL_PRAGMA_DECLARE_REDUCTION …
# elif defined(_LIBCPP_COMPILER_CLANG_BASED)
#define _PSTL_PRAGMA_SIMD …
#define _PSTL_PRAGMA_DECLARE_SIMD
#define _PSTL_PRAGMA_SIMD_REDUCTION(PRM) …
#define _PSTL_PRAGMA_SIMD_SCAN(PRM) …
#define _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM) …
#define _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM) …
#define _PSTL_PRAGMA_DECLARE_REDUCTION(NAME, OP) …
# else
#define _PSTL_PRAGMA_SIMD
#define _PSTL_PRAGMA_DECLARE_SIMD
#define _PSTL_PRAGMA_SIMD_REDUCTION …
#define _PSTL_PRAGMA_SIMD_SCAN …
#define _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN …
#define _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN …
#define _PSTL_PRAGMA_DECLARE_REDUCTION …
# endif
#define _PSTL_USE_NONTEMPORAL_STORES_IF_ALLOWED
# if __has_attribute(__no_sanitize__) && !defined(_LIBCPP_COMPILER_GCC)
#define _LIBCPP_NO_CFI …
# else
#define _LIBCPP_NO_CFI
# endif
# if __has_attribute(__malloc__)
#define _LIBCPP_NOALIAS …
# else
#define _LIBCPP_NOALIAS
# endif
# if __has_attribute(__using_if_exists__)
#define _LIBCPP_USING_IF_EXISTS …
# else
#define _LIBCPP_USING_IF_EXISTS
# endif
# if __has_cpp_attribute(__nodiscard__)
#define _LIBCPP_NODISCARD …
# else
#define _LIBCPP_NODISCARD
# endif
# if __has_attribute(__no_destroy__)
#define _LIBCPP_NO_DESTROY …
# else
#define _LIBCPP_NO_DESTROY
# endif
# if __has_attribute(__diagnose_if__)
#define _LIBCPP_DIAGNOSE_WARNING(...) …
# else
#define _LIBCPP_DIAGNOSE_WARNING …
# endif
# if __has_cpp_attribute(fallthrough)
#define _LIBCPP_FALLTHROUGH() …
# elif __has_attribute(__fallthrough__)
#define _LIBCPP_FALLTHROUGH …
# else
#define _LIBCPP_FALLTHROUGH …
# endif
# if __has_cpp_attribute(_Clang::__lifetimebound__)
#define _LIBCPP_LIFETIMEBOUND …
# else
#define _LIBCPP_LIFETIMEBOUND
# endif
# if __has_attribute(__nodebug__)
#define _LIBCPP_NODEBUG …
# else
#define _LIBCPP_NODEBUG
# endif
# if __has_attribute(__standalone_debug__)
#define _LIBCPP_STANDALONE_DEBUG …
# else
#define _LIBCPP_STANDALONE_DEBUG
# endif
# if __has_attribute(__preferred_name__)
#define _LIBCPP_PREFERRED_NAME(x) …
# else
#define _LIBCPP_PREFERRED_NAME …
# endif
# if __has_attribute(__no_sanitize__)
#define _LIBCPP_NO_SANITIZE(...) …
# else
#define _LIBCPP_NO_SANITIZE …
# endif
# if __has_attribute(__init_priority__)
#define _LIBCPP_INIT_PRIORITY_MAX …
# else
#define _LIBCPP_INIT_PRIORITY_MAX
# endif
# if __has_attribute(__format__)
#define _LIBCPP_ATTRIBUTE_FORMAT(archetype, format_string_index, first_format_arg_index) …
# else
#define _LIBCPP_ATTRIBUTE_FORMAT …
# endif
# if __has_attribute(__packed__)
#define _LIBCPP_PACKED …
# else
#define _LIBCPP_PACKED
# endif
# if defined(_LIBCPP_ABI_MICROSOFT) && __has_declspec_attribute(empty_bases)
#define _LIBCPP_DECLSPEC_EMPTY_BASES …
# else
#define _LIBCPP_DECLSPEC_EMPTY_BASES
# endif
# if __has_attribute(no_sanitize) && !defined(_LIBCPP_COMPILER_GCC)
#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK …
# else
#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
# endif
# if defined(__cpp_explicit_this_parameter) || (defined(_LIBCPP_CLANG_VER) && _LIBCPP_CLANG_VER >= 1800)
#define _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER
# endif
#endif
#endif