#ifndef _LIBCPP___CONFIGURATION_AVAILABILITY_H
#define _LIBCPP___CONFIGURATION_AVAILABILITY_H
#include <__configuration/compiler.h>
#include <__configuration/language.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
#if defined(_LIBCPP_DISABLE_AVAILABILITY)
# if !defined(_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS)
#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
# endif
#endif
#if defined(_LIBCPP_BUILDING_LIBRARY) || defined(_LIBCXXABI_BUILDING_LIBRARY) || !defined(_LIBCPP_COMPILER_CLANG_BASED)
# if !defined(_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS)
#define _LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS
# endif
#endif
#if defined(_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS)
#define _LIBCPP_INTRODUCED_IN_LLVM_19 …
#define _LIBCPP_INTRODUCED_IN_LLVM_19_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_18 …
#define _LIBCPP_INTRODUCED_IN_LLVM_18_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_17 …
#define _LIBCPP_INTRODUCED_IN_LLVM_17_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_16 …
#define _LIBCPP_INTRODUCED_IN_LLVM_16_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_15 …
#define _LIBCPP_INTRODUCED_IN_LLVM_15_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_14 …
#define _LIBCPP_INTRODUCED_IN_LLVM_14_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_13 …
#define _LIBCPP_INTRODUCED_IN_LLVM_13_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_12 …
#define _LIBCPP_INTRODUCED_IN_LLVM_12_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_11 …
#define _LIBCPP_INTRODUCED_IN_LLVM_11_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_10 …
#define _LIBCPP_INTRODUCED_IN_LLVM_10_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_9 …
#define _LIBCPP_INTRODUCED_IN_LLVM_9_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_9_ATTRIBUTE_PUSH …
#define _LIBCPP_INTRODUCED_IN_LLVM_9_ATTRIBUTE_POP …
#define _LIBCPP_INTRODUCED_IN_LLVM_8 …
#define _LIBCPP_INTRODUCED_IN_LLVM_8_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_4 …
#define _LIBCPP_INTRODUCED_IN_LLVM_4_ATTRIBUTE …
#elif defined(__APPLE__)
#define _LIBCPP_INTRODUCED_IN_LLVM_19 …
#define _LIBCPP_INTRODUCED_IN_LLVM_19_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_18 …
#define _LIBCPP_INTRODUCED_IN_LLVM_18_ATTRIBUTE …
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 140400) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 170400) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 170400) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 100400)
#define _LIBCPP_INTRODUCED_IN_LLVM_17 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_17 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_17_ATTRIBUTE …
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 140000) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 170000) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 170000) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 100000)
#define _LIBCPP_INTRODUCED_IN_LLVM_16 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_16 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_16_ATTRIBUTE …
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 130400) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 160500) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 160500) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 90500)
#define _LIBCPP_INTRODUCED_IN_LLVM_15 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_15 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_15_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_14 …
#define _LIBCPP_INTRODUCED_IN_LLVM_14_ATTRIBUTE …
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 130000) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 160000) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 160000) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 90000)
#define _LIBCPP_INTRODUCED_IN_LLVM_13 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_13 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_13_ATTRIBUTE …
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 120300) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 150300) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 150300) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 80300)
#define _LIBCPP_INTRODUCED_IN_LLVM_12 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_12 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_12_ATTRIBUTE …
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 110000) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 140000) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 140000) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 70000)
#define _LIBCPP_INTRODUCED_IN_LLVM_11 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_11 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_11_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_10 …
#define _LIBCPP_INTRODUCED_IN_LLVM_10_ATTRIBUTE …
# if (defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 101500) || \
(defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 130000) || \
(defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 130000) || \
(defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 60000)
#define _LIBCPP_INTRODUCED_IN_LLVM_9 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_9 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_9_ATTRIBUTE …
#define _LIBCPP_INTRODUCED_IN_LLVM_9_ATTRIBUTE_PUSH …
#define _LIBCPP_INTRODUCED_IN_LLVM_9_ATTRIBUTE_POP …
# if defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 50000
#define _LIBCPP_INTRODUCED_IN_LLVM_4 …
# else
#define _LIBCPP_INTRODUCED_IN_LLVM_4 …
# endif
#define _LIBCPP_INTRODUCED_IN_LLVM_4_ATTRIBUTE …
#else
# error \
"It looks like you're trying to enable vendor availability markup, but you haven't defined the corresponding macros yet!"
#endif
#define _LIBCPP_AVAILABILITY_HAS_BAD_OPTIONAL_ACCESS …
#define _LIBCPP_AVAILABILITY_BAD_OPTIONAL_ACCESS …
#define _LIBCPP_AVAILABILITY_HAS_BAD_VARIANT_ACCESS …
#define _LIBCPP_AVAILABILITY_BAD_VARIANT_ACCESS …
#define _LIBCPP_AVAILABILITY_HAS_BAD_ANY_CAST …
#define _LIBCPP_AVAILABILITY_BAD_ANY_CAST …
#define _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY …
#define _LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY …
#define _LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY_PUSH …
#define _LIBCPP_AVAILABILITY_FILESYSTEM_LIBRARY_POP …
#define _LIBCPP_AVAILABILITY_HAS_SYNC …
#define _LIBCPP_AVAILABILITY_SYNC …
#if !defined(_LIBCPP_COMPILER_GCC) && !defined(_WIN32)
#define _LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1 …
#else
#define _LIBCPP_AVAILABILITY_HAS_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1 …
#endif
#define _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT …
#define _LIBCPP_AVAILABILITY_TO_CHARS_FLOATING_POINT …
#define _LIBCPP_AVAILABILITY_HAS_VERBOSE_ABORT …
#define _LIBCPP_AVAILABILITY_VERBOSE_ABORT …
#define _LIBCPP_AVAILABILITY_HAS_PMR …
#define _LIBCPP_AVAILABILITY_PMR
#define _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION …
#define _LIBCPP_AVAILABILITY_INIT_PRIMARY_EXCEPTION …
#define _LIBCPP_AVAILABILITY_HAS_PRINT …
#define _LIBCPP_AVAILABILITY_PRINT …
#define _LIBCPP_AVAILABILITY_HAS_TZDB …
#define _LIBCPP_AVAILABILITY_TZDB …
#define _LIBCPP_AVAILABILITY_HAS_BAD_FUNCTION_CALL_KEY_FUNCTION …
#define _LIBCPP_AVAILABILITY_BAD_FUNCTION_CALL_KEY_FUNCTION …
#define _LIBCPP_AVAILABILITY_HAS_BAD_EXPECTED_ACCESS_KEY_FUNCTION …
#define _LIBCPP_AVAILABILITY_BAD_EXPECTED_ACCESS_KEY_FUNCTION …
#if defined(_LIBCPP_HAS_NO_EXCEPTIONS)
#define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
#define _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS
#define _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS
#else
#define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST …
#define _LIBCPP_AVAILABILITY_THROW_BAD_OPTIONAL_ACCESS …
#define _LIBCPP_AVAILABILITY_THROW_BAD_VARIANT_ACCESS …
#endif
#if defined(_LIBCPP_HAS_NO_EXCEPTIONS) || defined(_LIBCPP_HAS_NO_RTTI)
# undef _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION
# undef _LIBCPP_AVAILABILITY_INIT_PRIMARY_EXCEPTION
#define _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION …
#define _LIBCPP_AVAILABILITY_INIT_PRIMARY_EXCEPTION
#endif
#endif