30 #ifndef _GLIBCXX_CXX_CONFIG_H 31 #define _GLIBCXX_CXX_CONFIG_H 1 33 #ifdef _GLIBCXX_SYSHDR 34 #pragma GCC system_header 37 #pragma GCC diagnostic push 38 #pragma GCC diagnostic ignored "-Wvariadic-macros" 40 #pragma GCC diagnostic ignored "-Wc++11-extensions" 41 #pragma GCC diagnostic ignored "-Wc++23-extensions" // bf16 45 #define _GLIBCXX_RELEASE 15 49 #define __GLIBCXX__ 20250521 58 # define _GLIBCXX_PURE __attribute__ ((__pure__)) 61 #ifndef _GLIBCXX_CONST 62 # define _GLIBCXX_CONST __attribute__ ((__const__)) 65 #ifndef _GLIBCXX_NORETURN 66 # define _GLIBCXX_NORETURN __attribute__ ((__noreturn__)) 70 #ifndef _GLIBCXX_NOTHROW 72 # define _GLIBCXX_NOTHROW __attribute__((__nothrow__)) 79 # define _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1 81 #if _GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 82 # define _GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V))) 86 # define _GLIBCXX_VISIBILITY(V) _GLIBCXX_PSEUDO_VISIBILITY(V) 105 #ifndef _GLIBCXX_USE_DEPRECATED 106 # define _GLIBCXX_USE_DEPRECATED 1 109 #if defined(__DEPRECATED) 110 # define _GLIBCXX_DEPRECATED __attribute__ ((__deprecated__)) 111 # define _GLIBCXX_DEPRECATED_SUGGEST(ALT) \ 112 __attribute__ ((__deprecated__ ("use '" ALT "' instead"))) 114 # define _GLIBCXX_DEPRECATED 115 # define _GLIBCXX_DEPRECATED_SUGGEST(ALT) 118 #if defined(__DEPRECATED) && (__cplusplus >= 201103L) 119 # define _GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED 120 # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) 122 # define _GLIBCXX11_DEPRECATED 123 # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) 126 #if defined(__DEPRECATED) && (__cplusplus >= 201402L) 127 # define _GLIBCXX14_DEPRECATED _GLIBCXX_DEPRECATED 128 # define _GLIBCXX14_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) 130 # define _GLIBCXX14_DEPRECATED 131 # define _GLIBCXX14_DEPRECATED_SUGGEST(ALT) 134 #if defined(__DEPRECATED) && (__cplusplus >= 201703L) 135 # define _GLIBCXX17_DEPRECATED [[__deprecated__]] 136 # define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) 138 # define _GLIBCXX17_DEPRECATED 139 # define _GLIBCXX17_DEPRECATED_SUGGEST(ALT) 142 #if defined(__DEPRECATED) && (__cplusplus >= 202002L) 143 # define _GLIBCXX20_DEPRECATED [[__deprecated__]] 144 # define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) 146 # define _GLIBCXX20_DEPRECATED 147 # define _GLIBCXX20_DEPRECATED_SUGGEST(ALT) 150 #if defined(__DEPRECATED) && (__cplusplus >= 202100L) 151 # define _GLIBCXX23_DEPRECATED [[__deprecated__]] 152 # define _GLIBCXX23_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) 154 # define _GLIBCXX23_DEPRECATED 155 # define _GLIBCXX23_DEPRECATED_SUGGEST(ALT) 158 #if defined(__DEPRECATED) && (__cplusplus >= 202400L) 159 # define _GLIBCXX26_DEPRECATED [[__deprecated__]] 160 # define _GLIBCXX26_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT) 162 # define _GLIBCXX26_DEPRECATED 163 # define _GLIBCXX26_DEPRECATED_SUGGEST(ALT) 167 #ifndef _GLIBCXX_ABI_TAG_CXX11 168 # define _GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11"))) 172 #if __cplusplus >= 201103L 173 # define _GLIBCXX_NODISCARD [[__nodiscard__]] 175 # define _GLIBCXX_NODISCARD 183 #ifndef _GLIBCXX_CONSTEXPR 184 # if __cplusplus >= 201103L 185 # define _GLIBCXX_CONSTEXPR constexpr 186 # define _GLIBCXX_USE_CONSTEXPR constexpr 188 # define _GLIBCXX_CONSTEXPR 189 # define _GLIBCXX_USE_CONSTEXPR const 193 #ifndef _GLIBCXX14_CONSTEXPR 194 # if __cplusplus >= 201402L 195 # define _GLIBCXX14_CONSTEXPR constexpr 197 # define _GLIBCXX14_CONSTEXPR 201 #ifndef _GLIBCXX17_CONSTEXPR 202 # if __cplusplus >= 201703L 203 # define _GLIBCXX17_CONSTEXPR constexpr 205 # define _GLIBCXX17_CONSTEXPR 209 #ifndef _GLIBCXX20_CONSTEXPR 210 # if __cplusplus >= 202002L 211 # define _GLIBCXX20_CONSTEXPR constexpr 213 # define _GLIBCXX20_CONSTEXPR 217 #ifndef _GLIBCXX23_CONSTEXPR 218 # if __cplusplus >= 202100L 219 # define _GLIBCXX23_CONSTEXPR constexpr 221 # define _GLIBCXX23_CONSTEXPR 225 #ifndef _GLIBCXX26_CONSTEXPR 226 # if __cplusplus >= 202400L 227 # define _GLIBCXX26_CONSTEXPR constexpr 229 # define _GLIBCXX26_CONSTEXPR 233 #ifndef _GLIBCXX17_INLINE 234 # if __cplusplus >= 201703L 235 # define _GLIBCXX17_INLINE inline 237 # define _GLIBCXX17_INLINE 242 #ifndef _GLIBCXX_NOEXCEPT 243 # if __cplusplus >= 201103L 244 # define _GLIBCXX_NOEXCEPT noexcept 245 # define _GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__) 246 # define _GLIBCXX_USE_NOEXCEPT noexcept 247 # define _GLIBCXX_THROW(_EXC) 249 # define _GLIBCXX_NOEXCEPT 250 # define _GLIBCXX_NOEXCEPT_IF(...) 251 # define _GLIBCXX_USE_NOEXCEPT throw() 252 # define _GLIBCXX_THROW(_EXC) throw(_EXC) 256 #ifndef _GLIBCXX_NOTHROW 257 # define _GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT 260 #ifndef _GLIBCXX_THROW_OR_ABORT 261 # if __cpp_exceptions 262 # define _GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC)) 264 # define _GLIBCXX_THROW_OR_ABORT(_EXC) (__builtin_abort(), (void)(_EXC)) 268 #if __cpp_noexcept_function_type 269 #define _GLIBCXX_NOEXCEPT_PARM , bool _NE 270 #define _GLIBCXX_NOEXCEPT_QUAL noexcept (_NE) 272 #define _GLIBCXX_NOEXCEPT_PARM 273 #define _GLIBCXX_NOEXCEPT_QUAL 286 # define _GLIBCXX_EXTERN_TEMPLATE 1 338 typedef __SIZE_TYPE__ size_t;
339 typedef __PTRDIFF_TYPE__ ptrdiff_t;
341 #if __cplusplus >= 201103L 342 typedef decltype(
nullptr) nullptr_t;
345 #pragma GCC visibility push(default) 348 extern "C++" __attribute__ ((__noreturn__, __always_inline__))
349 inline void __terminate() _GLIBCXX_USE_NOEXCEPT
351 void terminate() _GLIBCXX_USE_NOEXCEPT __attribute__ ((__noreturn__,__cold__));
354 #pragma GCC visibility pop 357 # define _GLIBCXX_USE_DUAL_ABI 1 359 #if ! _GLIBCXX_USE_DUAL_ABI 361 # undef _GLIBCXX_USE_CXX11_ABI 364 #ifndef _GLIBCXX_USE_CXX11_ABI 365 # define _GLIBCXX_USE_CXX11_ABI 1 368 #if _GLIBCXX_USE_CXX11_ABI 371 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
375 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
377 # define _GLIBCXX_NAMESPACE_CXX11 __cxx11:: 378 # define _GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 { 379 # define _GLIBCXX_END_NAMESPACE_CXX11 } 380 # define _GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11 382 # define _GLIBCXX_NAMESPACE_CXX11 383 # define _GLIBCXX_BEGIN_NAMESPACE_CXX11 384 # define _GLIBCXX_END_NAMESPACE_CXX11 385 # define _GLIBCXX_DEFAULT_ABI_TAG 389 # define _GLIBCXX_INLINE_VERSION 0 391 #if _GLIBCXX_INLINE_VERSION 393 # define _GLIBCXX_BEGIN_NAMESPACE_VERSION namespace __8 { 394 # define _GLIBCXX_END_NAMESPACE_VERSION } 396 # define _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) 397 # define _GLIBCXX_END_INLINE_ABI_NAMESPACE(X) 401 inline _GLIBCXX_BEGIN_NAMESPACE_VERSION
402 #if __cplusplus >= 201402L 403 inline namespace literals {
404 inline namespace chrono_literals { }
405 inline namespace complex_literals { }
406 inline namespace string_literals { }
407 #if __cplusplus > 201402L 408 inline namespace string_view_literals { }
412 _GLIBCXX_END_NAMESPACE_VERSION
417 inline _GLIBCXX_BEGIN_NAMESPACE_VERSION
418 _GLIBCXX_END_NAMESPACE_VERSION
423 # define _GLIBCXX_BEGIN_NAMESPACE_VERSION 424 # define _GLIBCXX_END_NAMESPACE_VERSION 426 # define _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) inline namespace X { 427 # define _GLIBCXX_END_INLINE_ABI_NAMESPACE(X) } // inline namespace X 432 #if defined(_GLIBCXX_DEBUG) && !__STDC_HOSTED__ 433 #undef _GLIBCXX_DEBUG 434 #define _GLIBCXX_ASSERTIONS 1 438 #if defined(_GLIBCXX_DEBUG) || defined(_GLIBCXX_PARALLEL) 441 _GLIBCXX_BEGIN_NAMESPACE_VERSION
446 # if _GLIBCXX_USE_CXX11_ABI 447 inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
451 _GLIBCXX_END_NAMESPACE_VERSION
454 # ifdef _GLIBCXX_DEBUG 455 inline namespace __debug { }
459 # ifdef _GLIBCXX_PARALLEL 460 inline namespace __parallel { }
465 # if defined(_GLIBCXX_DEBUG) && defined(_GLIBCXX_PARALLEL) 466 # error illegal use of multiple inlined namespaces 470 # if __NO_INLINE__ && !__GXX_WEAK__ 471 # warning currently using inlined namespace mode which may fail \ 472 without inlining due to lack of weak symbols 486 #if defined(_GLIBCXX_DEBUG) 487 # define _GLIBCXX_STD_C __cxx1998 488 # define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER \ 489 namespace _GLIBCXX_STD_C { 490 # define _GLIBCXX_END_NAMESPACE_CONTAINER } 492 # define _GLIBCXX_STD_C std 493 # define _GLIBCXX_BEGIN_NAMESPACE_CONTAINER 494 # define _GLIBCXX_END_NAMESPACE_CONTAINER 497 #ifdef _GLIBCXX_PARALLEL 498 # define _GLIBCXX_STD_A __cxx1998 499 # define _GLIBCXX_BEGIN_NAMESPACE_ALGO \ 500 namespace _GLIBCXX_STD_A { 501 # define _GLIBCXX_END_NAMESPACE_ALGO } 503 # define _GLIBCXX_STD_A std 504 # define _GLIBCXX_BEGIN_NAMESPACE_ALGO 505 # define _GLIBCXX_END_NAMESPACE_ALGO 510 #undef _GLIBCXX_LONG_DOUBLE_COMPAT 515 #if !defined _GLIBCXX_CLANG && defined __clang__ 516 # define _GLIBCXX_CLANG __clang__ 519 #elif !_GLIBCXX_CLANG 520 # undef _GLIBCXX_CLANG 525 #ifndef _GLIBCXX_CLANG 526 #undef _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT 530 #if defined _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT \ 531 && defined __LONG_DOUBLE_IEEE128__ 535 inline namespace __gnu_cxx_ieee128 { }
536 inline namespace __gnu_cxx11_ieee128 { }
538 # define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ieee128:: 539 # define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ieee128 { 540 # define _GLIBCXX_END_NAMESPACE_LDBL } 541 # define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 __gnu_cxx11_ieee128:: 542 # define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 namespace __gnu_cxx11_ieee128 { 543 # define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 } 545 #else // _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && IEEE128 547 #if defined _GLIBCXX_LONG_DOUBLE_COMPAT && defined __LONG_DOUBLE_128__ 550 inline namespace __gnu_cxx_ldbl128 { }
552 # define _GLIBCXX_NAMESPACE_LDBL __gnu_cxx_ldbl128:: 553 # define _GLIBCXX_BEGIN_NAMESPACE_LDBL namespace __gnu_cxx_ldbl128 { 554 # define _GLIBCXX_END_NAMESPACE_LDBL } 556 # define _GLIBCXX_NAMESPACE_LDBL 557 # define _GLIBCXX_BEGIN_NAMESPACE_LDBL 558 # define _GLIBCXX_END_NAMESPACE_LDBL 561 #if _GLIBCXX_USE_CXX11_ABI 562 # define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11 563 # define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11 564 # define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11 566 # define _GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_LDBL 567 # define _GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_LDBL 568 # define _GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_LDBL 571 #endif // _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT && IEEE128 575 #pragma GCC visibility push(default) 580 __attribute__((__always_inline__))
581 _GLIBCXX_CONSTEXPR
inline bool 582 __is_constant_evaluated() _GLIBCXX_NOEXCEPT
584 #if __cpp_if_consteval >= 202106L 585 # define _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1 586 if consteval {
return true; }
else {
return false; }
587 #elif __cplusplus >= 201103L && __has_builtin(__builtin_is_constant_evaluated) 588 # define _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1 589 return __builtin_is_constant_evaluated();
594 #pragma GCC visibility pop 597 #ifndef _GLIBCXX_ASSERTIONS 598 # if defined(_GLIBCXX_DEBUG) 600 # define _GLIBCXX_ASSERTIONS 1 601 # elif ! defined(__OPTIMIZE__) && ! defined(_GLIBCXX_NO_ASSERTIONS) 603 # define _GLIBCXX_ASSERTIONS 1 608 #ifdef _GLIBCXX_ASSERTIONS 609 # undef _GLIBCXX_EXTERN_TEMPLATE 610 # define _GLIBCXX_EXTERN_TEMPLATE -1 613 #define _GLIBCXX_VERBOSE_ASSERT 1 616 #ifdef _GLIBCXX_VERBOSE_ASSERT 619 #pragma GCC visibility push(default) 621 extern "C++" _GLIBCXX_NORETURN __attribute__((__cold__))
623 __glibcxx_assert_fail
624 (
const char* __file,
int __line,
const char* __function,
625 const char* __condition)
627 #pragma GCC visibility pop 629 # define _GLIBCXX_ASSERT_FAIL(_Condition) \ 630 std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, \ 632 #else // ! VERBOSE_ASSERT 633 # define _GLIBCXX_ASSERT_FAIL(_Condition) __builtin_abort() 636 #if defined(_GLIBCXX_ASSERTIONS) 639 # define __glibcxx_assert(cond) \ 641 if (__builtin_expect(!bool(cond), false)) \ 642 _GLIBCXX_ASSERT_FAIL(cond); \ 644 #elif _GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 650 __attribute__((__always_inline__,__visibility__(
"default")))
652 __glibcxx_assert_fail()
655 # define __glibcxx_assert(cond) \ 657 if (std::__is_constant_evaluated() && !bool(cond)) \ 658 std::__glibcxx_assert_fail(); \ 663 # define __glibcxx_assert(cond) 667 #if __SANITIZE_THREAD__ 668 # define _GLIBCXX_TSAN 1 669 #elif defined __has_feature 670 # if __has_feature(thread_sanitizer) 671 # define _GLIBCXX_TSAN 1 696 #ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE 697 # define _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) 699 #ifndef _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER 700 # define _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) 704 # define _GLIBCXX_BEGIN_EXTERN_C extern "C" { 705 # define _GLIBCXX_END_EXTERN_C } 707 # define _GLIBCXX_USE_ALLOCATOR_NEW 1 709 #ifdef __SIZEOF_INT128__ 710 #if ! defined __GLIBCXX_TYPE_INT_N_0 && ! defined __STRICT_ANSI__ 714 #warning "__STRICT_ANSI__ seems to have been undefined; this is not supported" 718 #else // !__cplusplus 719 # define _GLIBCXX_BEGIN_EXTERN_C 720 # define _GLIBCXX_END_EXTERN_C 734 #ifndef _GLIBCXX_PSEUDO_VISIBILITY 735 # define _GLIBCXX_PSEUDO_VISIBILITY(V) 741 #ifndef _GLIBCXX_WEAK_DEFINITION 742 # define _GLIBCXX_WEAK_DEFINITION 749 #ifndef _GLIBCXX_USE_WEAK_REF 750 # define _GLIBCXX_USE_WEAK_REF __GXX_WEAK__ 756 #if __cplusplus >= 201103L && _GLIBCXX_USE_CXX11_ABI \ 757 && _GLIBCXX_USE_DUAL_ABI && __cpp_transactional_memory >= 201500L \ 758 && !_GLIBCXX_FULLY_DYNAMIC_STRING && _GLIBCXX_USE_WEAK_REF \ 759 && _GLIBCXX_USE_ALLOCATOR_NEW 760 #define _GLIBCXX_TXN_SAFE transaction_safe 761 #define _GLIBCXX_TXN_SAFE_DYN transaction_safe_dynamic 763 #define _GLIBCXX_TXN_SAFE 764 #define _GLIBCXX_TXN_SAFE_DYN 767 #if __cplusplus > 201402L 769 # define _GLIBCXX_USE_STD_SPEC_FUNCS 1 770 #elif __cplusplus >= 201103L && __STDCPP_WANT_MATH_SPEC_FUNCS__ != 0 772 # define _GLIBCXX_USE_STD_SPEC_FUNCS 1 780 # define _GLIBCXX_FAST_MATH 1 782 # define _GLIBCXX_FAST_MATH 0 789 #define __N(msgid) (msgid) 797 #if __cplusplus >= 201103L 798 # ifndef _GLIBCXX_USE_C99_MATH 799 # define _GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH 801 # ifndef _GLIBCXX_USE_C99_COMPLEX 802 # define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX 804 # ifndef _GLIBCXX_USE_C99_STDIO 805 # define _GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO 807 # ifndef _GLIBCXX_USE_C99_STDLIB 808 # define _GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB 810 # ifndef _GLIBCXX_USE_C99_WCHAR 811 # define _GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR 814 # ifndef _GLIBCXX_USE_C99_MATH 815 # define _GLIBCXX_USE_C99_MATH _GLIBCXX98_USE_C99_MATH 817 # ifndef _GLIBCXX_USE_C99_COMPLEX 818 # define _GLIBCXX_USE_C99_COMPLEX _GLIBCXX98_USE_C99_COMPLEX 820 # ifndef _GLIBCXX_USE_C99_STDIO 821 # define _GLIBCXX_USE_C99_STDIO _GLIBCXX98_USE_C99_STDIO 823 # ifndef _GLIBCXX_USE_C99_STDLIB 824 # define _GLIBCXX_USE_C99_STDLIB _GLIBCXX98_USE_C99_STDLIB 826 # ifndef _GLIBCXX_USE_C99_WCHAR 827 # define _GLIBCXX_USE_C99_WCHAR _GLIBCXX98_USE_C99_WCHAR 833 #ifndef _GLIBCXX_USE_CHAR8_T 834 # ifdef __cpp_char8_t 835 # define _GLIBCXX_USE_CHAR8_T 1 838 #ifdef _GLIBCXX_USE_CHAR8_T 839 # define __cpp_lib_char8_t 201907L 843 #if defined(__FLOAT128__) || defined(__SIZEOF_FLOAT128__) 845 # if !(defined(_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT) && defined(__LONG_DOUBLE_IEEE128__)) 846 # undef _GLIBCXX_USE_FLOAT128 850 #if __FLT_MANT_DIG__ == 24 \ 851 && __FLT_MIN_EXP__ == -125 \ 852 && __FLT_MAX_EXP__ == 128 854 # define _GLIBCXX_FLOAT_IS_IEEE_BINARY32 1 857 #if __DBL_MANT_DIG__ == 53 \ 858 && __DBL_MIN_EXP__ == -1021 \ 859 && __DBL_MAX_EXP__ == 1024 861 # define _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1 862 #elif __FLT_MANT_DIG__ == 24 \ 863 && __FLT_MIN_EXP__ == -125 \ 864 && __FLT_MAX_EXP__ == 128 866 # define _GLIBCXX_DOUBLE_IS_IEEE_BINARY32 1 869 #if __LDBL_MANT_DIG__ == 113 \ 870 && __LDBL_MIN_EXP__ == -16381 \ 871 && __LDBL_MAX_EXP__ == 16384 873 # define _GLIBCXX_LDOUBLE_IS_IEEE_BINARY128 1 874 #elif __LDBL_MANT_DIG__ == 53 \ 875 && __LDBL_MIN_EXP__ == -1021 \ 876 && __LDBL_MAX_EXP__ == 1024 878 # define _GLIBCXX_LDOUBLE_IS_IEEE_BINARY64 1 879 #elif __LDBL_MANT_DIG__ == 24 \ 880 && __LDBL_MIN_EXP__ == -125 \ 881 && __LDBL_MAX_EXP__ == 128 883 # define _GLIBCXX_LDOUBLE_IS_IEEE_BINARY32 1 886 #if defined __cplusplus && defined __BFLT16_DIG__ 889 typedef __decltype(0.0bf16) __bfloat16_t;
894 # ifdef __is_identifier 896 # define _GLIBCXX_HAS_BUILTIN(B) (__has_builtin(B) || ! __is_identifier(B)) 898 # define _GLIBCXX_HAS_BUILTIN(B) __has_builtin(B) 902 #if _GLIBCXX_HAS_BUILTIN(__has_unique_object_representations) 903 # define _GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1 906 #if _GLIBCXX_HAS_BUILTIN(__is_aggregate) 907 # define _GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1 910 #if _GLIBCXX_HAS_BUILTIN(__builtin_launder) 911 # define _GLIBCXX_HAVE_BUILTIN_LAUNDER 1 918 #ifndef _GLIBCXX_DO_NOT_USE_BUILTIN_TRAITS 919 # define _GLIBCXX_USE_BUILTIN_TRAIT(BT) _GLIBCXX_HAS_BUILTIN(BT) 921 # define _GLIBCXX_USE_BUILTIN_TRAIT(BT) 0 925 #define _GLIBCXX_DOXYGEN_ONLY(X) 929 #if __cplusplus >= 201703L 931 #if __has_include(<pstl/pstl_config.h>) 936 # ifndef _GLIBCXX_USE_TBB_PAR_BACKEND 937 # define _GLIBCXX_USE_TBB_PAR_BACKEND __has_include(<tbb/tbb.h>) 940 # if _GLIBCXX_USE_TBB_PAR_BACKEND 941 # define _PSTL_PAR_BACKEND_TBB 943 # define _PSTL_PAR_BACKEND_SERIAL 946 # define _PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition) 947 # define _PSTL_ASSERT_MSG(_Condition, _Message) __glibcxx_assert(_Condition) 949 #include <pstl/pstl_config.h> 950 #endif // __has_include 953 #pragma GCC diagnostic pop 960 #define _GLIBCXX_HAVE_ACOSF 1 963 #define _GLIBCXX_HAVE_ACOSL 1 966 #define _GLIBCXX_HAVE_ALIGNED_ALLOC 1 972 #define _GLIBCXX_HAVE_ARPA_INET_H 1 975 #define _GLIBCXX_HAVE_ASINF 1 978 #define _GLIBCXX_HAVE_ASINL 1 981 #define _GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1 984 #define _GLIBCXX_HAVE_ATAN2F 1 987 #define _GLIBCXX_HAVE_ATAN2L 1 990 #define _GLIBCXX_HAVE_ATANF 1 993 #define _GLIBCXX_HAVE_ATANL 1 996 #define _GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1 999 #define _GLIBCXX_HAVE_AT_QUICK_EXIT 1 1003 #define _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES 1 1009 #define _GLIBCXX_HAVE_CEILF 1 1012 #define _GLIBCXX_HAVE_CEILL 1 1015 #define _GLIBCXX_HAVE_COMPLEX_H 1 1018 #define _GLIBCXX_HAVE_COSF 1 1021 #define _GLIBCXX_HAVE_COSHF 1 1024 #define _GLIBCXX_HAVE_COSHL 1 1027 #define _GLIBCXX_HAVE_COSL 1 1031 #define _GLIBCXX_HAVE_DECL_STRNLEN 1 1034 #define _GLIBCXX_HAVE_DIRENT_H 1 1037 #define _GLIBCXX_HAVE_DIRFD 1 1040 #define _GLIBCXX_HAVE_DLFCN_H 1 1043 #define _GLIBCXX_HAVE_ENDIAN_H 1 1046 #define _GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1 1049 #define _GLIBCXX_HAVE_EXECINFO_H 1 1052 #define _GLIBCXX_HAVE_EXPF 1 1055 #define _GLIBCXX_HAVE_EXPL 1 1058 #define _GLIBCXX_HAVE_FABSF 1 1061 #define _GLIBCXX_HAVE_FABSL 1 1064 #define _GLIBCXX_HAVE_FCNTL_H 1 1067 #define _GLIBCXX_HAVE_FDOPENDIR 1 1070 #define _GLIBCXX_HAVE_FENV_H 1 1073 #define _GLIBCXX_HAVE_FINITE 1 1076 #define _GLIBCXX_HAVE_FINITEF 1 1079 #define _GLIBCXX_HAVE_FINITEL 1 1082 #define _GLIBCXX_HAVE_FLOAT_H 1 1085 #define _GLIBCXX_HAVE_FLOORF 1 1088 #define _GLIBCXX_HAVE_FLOORL 1 1091 #define _GLIBCXX_HAVE_FMODF 1 1094 #define _GLIBCXX_HAVE_FMODL 1 1103 #define _GLIBCXX_HAVE_FREXPF 1 1106 #define _GLIBCXX_HAVE_FREXPL 1 1109 #define _GLIBCXX_HAVE_GETENTROPY 1 1112 #define _GLIBCXX_HAVE_GETIPINFO 1 1115 #define _GLIBCXX_HAVE_GETS 1 1118 #define _GLIBCXX_HAVE_HYPOT 1 1121 #define _GLIBCXX_HAVE_HYPOTF 1 1124 #define _GLIBCXX_HAVE_HYPOTL 1 1127 #define _GLIBCXX_HAVE_ICONV 1 1133 #define _GLIBCXX_HAVE_INTTYPES_H 1 1139 #define _GLIBCXX_HAVE_ISINFF 1 1142 #define _GLIBCXX_HAVE_ISINFL 1 1148 #define _GLIBCXX_HAVE_ISNANF 1 1151 #define _GLIBCXX_HAVE_ISNANL 1 1154 #define _GLIBCXX_HAVE_ISWBLANK 1 1157 #define _GLIBCXX_HAVE_LC_MESSAGES 1 1160 #define _GLIBCXX_HAVE_LDEXPF 1 1163 #define _GLIBCXX_HAVE_LDEXPL 1 1166 #define _GLIBCXX_HAVE_LIBINTL_H 1 1169 #define _GLIBCXX_HAVE_LIMIT_AS 1 1172 #define _GLIBCXX_HAVE_LIMIT_DATA 1 1175 #define _GLIBCXX_HAVE_LIMIT_FSIZE 1 1178 #define _GLIBCXX_HAVE_LIMIT_RSS 1 1181 #define _GLIBCXX_HAVE_LIMIT_VMEM 0 1184 #define _GLIBCXX_HAVE_LINK 1 1187 #define _GLIBCXX_HAVE_LINK_H 1 1190 #define _GLIBCXX_HAVE_LINUX_FUTEX 1 1193 #define _GLIBCXX_HAVE_LINUX_RANDOM_H 1 1196 #define _GLIBCXX_HAVE_LINUX_TYPES_H 1 1199 #define _GLIBCXX_HAVE_LOCALE_H 1 1202 #define _GLIBCXX_HAVE_LOG10F 1 1205 #define _GLIBCXX_HAVE_LOG10L 1 1208 #define _GLIBCXX_HAVE_LOGF 1 1211 #define _GLIBCXX_HAVE_LOGL 1 1214 #define _GLIBCXX_HAVE_LSEEK 1 1223 #define _GLIBCXX_HAVE_MBSTATE_T 1 1226 #define _GLIBCXX_HAVE_MEMALIGN 1 1229 #define _GLIBCXX_HAVE_MEMORY_H 1 1232 #define _GLIBCXX_HAVE_MODF 1 1235 #define _GLIBCXX_HAVE_MODFF 1 1238 #define _GLIBCXX_HAVE_MODFL 1 1244 #define _GLIBCXX_HAVE_NETDB_H 1 1247 #define _GLIBCXX_HAVE_NETINET_IN_H 1 1250 #define _GLIBCXX_HAVE_NETINET_TCP_H 1 1259 #define _GLIBCXX_HAVE_OPENAT 1 1262 #define _GLIBCXX_HAVE_O_NONBLOCK 1 1265 #define _GLIBCXX_HAVE_POLL 1 1268 #define _GLIBCXX_HAVE_POLL_H 1 1271 #define _GLIBCXX_HAVE_POSIX_MEMALIGN 1 1275 #define _GLIBCXX_HAVE_POSIX_SEMAPHORE 1 1278 #define _GLIBCXX_HAVE_POWF 1 1281 #define _GLIBCXX_HAVE_POWL 1 1287 #define _GLIBCXX_HAVE_QUICK_EXIT 1 1290 #define _GLIBCXX_HAVE_READLINK 1 1293 #define _GLIBCXX_HAVE_SECURE_GETENV 1 1296 #define _GLIBCXX_HAVE_SETENV 1 1299 #define _GLIBCXX_HAVE_SINCOS 1 1302 #define _GLIBCXX_HAVE_SINCOSF 1 1305 #define _GLIBCXX_HAVE_SINCOSL 1 1308 #define _GLIBCXX_HAVE_SINF 1 1311 #define _GLIBCXX_HAVE_SINHF 1 1314 #define _GLIBCXX_HAVE_SINHL 1 1317 #define _GLIBCXX_HAVE_SINL 1 1323 #define _GLIBCXX_HAVE_SOCKATMARK 1 1326 #define _GLIBCXX_HAVE_SQRTF 1 1329 #define _GLIBCXX_HAVE_SQRTL 1 1332 #define _GLIBCXX_HAVE_STACKTRACE 1 1335 #define _GLIBCXX_HAVE_STDALIGN_H 1 1338 #define _GLIBCXX_HAVE_STDBOOL_H 1 1341 #define _GLIBCXX_HAVE_STDINT_H 1 1344 #define _GLIBCXX_HAVE_STDLIB_H 1 1347 #define _GLIBCXX_HAVE_STRERROR_L 1 1350 #define _GLIBCXX_HAVE_STRERROR_R 1 1353 #define _GLIBCXX_HAVE_STRINGS_H 1 1356 #define _GLIBCXX_HAVE_STRING_H 1 1359 #define _GLIBCXX_HAVE_STRTOF 1 1362 #define _GLIBCXX_HAVE_STRTOLD 1 1365 #define _GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1 1368 #define _GLIBCXX_HAVE_STRXFRM_L 1 1371 #define _GLIBCXX_HAVE_SYMLINK 1 1375 #define _GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1 1381 #define _GLIBCXX_HAVE_SYS_IOCTL_H 1 1384 #define _GLIBCXX_HAVE_SYS_IPC_H 1 1393 #define _GLIBCXX_HAVE_SYS_MMAN_H 1 1396 #define _GLIBCXX_HAVE_SYS_PARAM_H 1 1399 #define _GLIBCXX_HAVE_SYS_RESOURCE_H 1 1405 #define _GLIBCXX_HAVE_SYS_SEM_H 1 1408 #define _GLIBCXX_HAVE_SYS_SOCKET_H 1 1411 #define _GLIBCXX_HAVE_SYS_STATVFS_H 1 1414 #define _GLIBCXX_HAVE_SYS_STAT_H 1 1417 #define _GLIBCXX_HAVE_SYS_SYSINFO_H 1 1420 #define _GLIBCXX_HAVE_SYS_TIME_H 1 1423 #define _GLIBCXX_HAVE_SYS_TYPES_H 1 1426 #define _GLIBCXX_HAVE_SYS_UIO_H 1 1432 #define _GLIBCXX_HAVE_S_ISREG 1 1435 #define _GLIBCXX_HAVE_TANF 1 1438 #define _GLIBCXX_HAVE_TANHF 1 1441 #define _GLIBCXX_HAVE_TANHL 1 1444 #define _GLIBCXX_HAVE_TANL 1 1447 #define _GLIBCXX_HAVE_TGMATH_H 1 1450 #define _GLIBCXX_HAVE_TIMESPEC_GET 1 1456 #define _GLIBCXX_HAVE_TLS 1 1459 #define _GLIBCXX_HAVE_TRUNCATE 1 1462 #define _GLIBCXX_HAVE_UCHAR_H 1 1465 #define _GLIBCXX_HAVE_UNISTD_H 1 1468 #define _GLIBCXX_HAVE_UNLINKAT 1 1471 #define _GLIBCXX_HAVE_USELOCALE 1 1477 #define _GLIBCXX_HAVE_UTIME_H 1 1480 #define _GLIBCXX_HAVE_VFWSCANF 1 1483 #define _GLIBCXX_HAVE_VSWSCANF 1 1486 #define _GLIBCXX_HAVE_VWSCANF 1 1489 #define _GLIBCXX_HAVE_WCHAR_H 1 1492 #define _GLIBCXX_HAVE_WCSTOF 1 1495 #define _GLIBCXX_HAVE_WCTYPE_H 1 1501 #define _GLIBCXX_HAVE_WRITEV 1 1516 #define _GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1 1519 #define _GLIBCXX_ICONV_CONST 1523 #define _GLIBCXX_LT_OBJDIR ".libs/" 1529 #define _GLIBCXX_PACKAGE_BUGREPORT "" 1532 #define _GLIBCXX_PACKAGE_NAME "package-unused" 1535 #define _GLIBCXX_PACKAGE_STRING "package-unused version-unused" 1538 #define _GLIBCXX_PACKAGE_TARNAME "libstdc++" 1541 #define _GLIBCXX_PACKAGE_URL "" 1544 #define _GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused" 1547 #define _GLIBCXX_STDC_HEADERS 1 1553 #ifndef _GLIBCXX_DARWIN_USE_64_BIT_INODE 1554 # define _GLIBCXX_DARWIN_USE_64_BIT_INODE 1 1563 #define _GLIBCXX11_USE_C99_COMPLEX 1 1567 #define _GLIBCXX11_USE_C99_MATH 1 1571 #define _GLIBCXX11_USE_C99_STDIO 1 1575 #define _GLIBCXX11_USE_C99_STDLIB 1 1579 #define _GLIBCXX11_USE_C99_WCHAR 1 1584 #define _GLIBCXX98_USE_C99_COMPLEX 1 1588 #define _GLIBCXX98_USE_C99_MATH 1 1592 #define _GLIBCXX98_USE_C99_STDIO 1 1596 #define _GLIBCXX98_USE_C99_STDLIB 1 1600 #define _GLIBCXX98_USE_C99_WCHAR 1 1603 #define _GLIBCXX_ATOMIC_BUILTINS 1 1607 #define _GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE 1 1614 #define _GLIBCXX_FULLY_DYNAMIC_STRING 0 1617 #define _GLIBCXX_HAS_GTHREADS 1 1620 #define _GLIBCXX_HOSTED __STDC_HOSTED__ 1628 #define _GLIBCXX_MANGLE_SIZE_T m 1640 #define _GLIBCXX_RES_LIMITS 1 1649 #define _GLIBCXX_STDIO_EOF -1 1652 #define _GLIBCXX_STDIO_SEEK_CUR 1 1655 #define _GLIBCXX_STDIO_SEEK_END 2 1658 #define _GLIBCXX_SYMVER 1 1664 #define _GLIBCXX_SYMVER_GNU 1 1674 #define _GLIBCXX_USE_C11_UCHAR_CXX11 1 1678 #define _GLIBCXX_USE_C99 1 1683 #define _GLIBCXX_USE_C99_COMPLEX_ARC 1 1688 #define _GLIBCXX_USE_C99_COMPLEX_TR1 1 1692 #define _GLIBCXX_USE_C99_CTYPE 1 1696 #define _GLIBCXX_USE_C99_CTYPE_TR1 1 1700 #define _GLIBCXX_USE_C99_FENV 1 1704 #define _GLIBCXX_USE_C99_FENV_TR1 1 1708 #define _GLIBCXX_USE_C99_INTTYPES 1 1712 #define _GLIBCXX_USE_C99_INTTYPES_TR1 1 1716 #define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T 1 1720 #define _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1 1724 #define _GLIBCXX_USE_C99_MATH_FUNCS 1 1728 #define _GLIBCXX_USE_C99_MATH_TR1 1 1732 #define _GLIBCXX_USE_C99_STDINT 1 1736 #define _GLIBCXX_USE_C99_STDINT_TR1 1 1739 #define _GLIBCXX_USE_CHDIR 1 1742 #define _GLIBCXX_USE_CHMOD 1 1749 #define _GLIBCXX_USE_CLOCK_MONOTONIC 1 1752 #define _GLIBCXX_USE_CLOCK_REALTIME 1 1759 #define _GLIBCXX_USE_DECIMAL_FLOAT 1 1763 #define _GLIBCXX_USE_DEV_RANDOM 1 1766 #define _GLIBCXX_USE_FCHMOD 1 1769 #define _GLIBCXX_USE_FCHMODAT 1 1772 #define _GLIBCXX_USE_FSEEKO_FTELLO 1 1775 #define _GLIBCXX_USE_GETCWD 1 1778 #define _GLIBCXX_USE_GETTIMEOFDAY 1 1781 #define _GLIBCXX_USE_GET_NPROCS 1 1784 #define _GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE 1 1787 #define _GLIBCXX_USE_LFS 1 1790 #define _GLIBCXX_USE_LONG_LONG 1 1793 #define _GLIBCXX_USE_LSTAT 1 1796 #define _GLIBCXX_USE_MKDIR 1 1799 #define _GLIBCXX_USE_NANOSLEEP 1 1802 #define _GLIBCXX_USE_NLS 1 1805 #define _GLIBCXX_USE_NL_LANGINFO_L 1 1821 #define _GLIBCXX_USE_PTHREAD_RWLOCK_T 1 1825 #define _GLIBCXX_USE_RANDOM_TR1 1 1828 #define _GLIBCXX_USE_REALPATH 1 1831 #define _GLIBCXX_USE_SCHED_YIELD 1 1834 #define _GLIBCXX_USE_SC_NPROCESSORS_ONLN 1 1840 #define _GLIBCXX_USE_SENDFILE 1 1846 #define _GLIBCXX_USE_STRUCT_TM_TM_ZONE 1 1849 #define _GLIBCXX_USE_ST_MTIM 1 1855 #define _GLIBCXX_USE_TMPNAM 1 1866 #define _GLIBCXX_USE_UTIME 1 1870 #define _GLIBCXX_USE_UTIMENSAT 1 1873 #define _GLIBCXX_USE_WCHAR_T 1 1882 #define _GLIBCXX_VERBOSE 1 1891 #define _GLIBCXX_ZONEINFO_DIR "/usr/share/zoneinfo" 1894 #define _GTHREAD_USE_MUTEX_TIMEDLOCK 1 1900 #if __cplusplus >= 201103L 1905 #if __cplusplus >= 201103L 1909 #endif // _GLIBCXX_CXX_CONFIG_H GNU extensions for public use.
ISO C++ entities toplevel namespace is std.
void terminate() noexcept