Go to the documentation of this file. 47 #ifdef _GLIBCXX_SYSHDR 48 #pragma GCC system_header 53 #if !defined(__cpp_lib_incomplete_container_elements) 55 # define __glibcxx_incomplete_container_elements 201505L 56 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_incomplete_container_elements) 57 # define __cpp_lib_incomplete_container_elements 201505L 61 #undef __glibcxx_want_incomplete_container_elements 63 #if !defined(__cpp_lib_uncaught_exceptions) 64 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 199711L)) 65 # define __glibcxx_uncaught_exceptions 201411L 66 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_uncaught_exceptions) 67 # define __cpp_lib_uncaught_exceptions 201411L 71 #undef __glibcxx_want_uncaught_exceptions 73 #if !defined(__cpp_lib_allocator_traits_is_always_equal) 74 # if (__cplusplus >= 201103L) 75 # define __glibcxx_allocator_traits_is_always_equal 201411L 76 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_allocator_traits_is_always_equal) 77 # define __cpp_lib_allocator_traits_is_always_equal 201411L 81 #undef __glibcxx_want_allocator_traits_is_always_equal 83 #if !defined(__cpp_lib_allocate_at_least) 84 # if (__cplusplus >= 202100L) 85 # define __glibcxx_allocate_at_least 202302L 86 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_allocate_at_least) 87 # define __cpp_lib_allocate_at_least 202302L 91 #undef __glibcxx_want_allocate_at_least 93 #if !defined(__cpp_lib_is_null_pointer) 94 # if (__cplusplus >= 201103L) 95 # define __glibcxx_is_null_pointer 201309L 96 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_null_pointer) 97 # define __cpp_lib_is_null_pointer 201309L 101 #undef __glibcxx_want_is_null_pointer 103 #if !defined(__cpp_lib_result_of_sfinae) 104 # if (__cplusplus >= 201103L) 105 # define __glibcxx_result_of_sfinae 201210L 106 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_result_of_sfinae) 107 # define __cpp_lib_result_of_sfinae 201210L 111 #undef __glibcxx_want_result_of_sfinae 113 #if !defined(__cpp_lib_shared_ptr_arrays) 114 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 115 # define __glibcxx_shared_ptr_arrays 201707L 116 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_arrays) 117 # define __cpp_lib_shared_ptr_arrays 201707L 119 # elif (__cplusplus >= 201103L) && _GLIBCXX_HOSTED 120 # define __glibcxx_shared_ptr_arrays 201611L 121 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_arrays) 122 # define __cpp_lib_shared_ptr_arrays 201611L 126 #undef __glibcxx_want_shared_ptr_arrays 128 #if !defined(__cpp_lib_is_swappable) 129 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) 130 # define __glibcxx_is_swappable 201603L 131 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_swappable) 132 # define __cpp_lib_is_swappable 201603L 136 #undef __glibcxx_want_is_swappable 138 #if !defined(__cpp_lib_void_t) 139 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) 140 # define __glibcxx_void_t 201411L 141 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_void_t) 142 # define __cpp_lib_void_t 201411L 146 #undef __glibcxx_want_void_t 148 #if !defined(__cpp_lib_enable_shared_from_this) 149 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) && _GLIBCXX_HOSTED 150 # define __glibcxx_enable_shared_from_this 201603L 151 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_enable_shared_from_this) 152 # define __cpp_lib_enable_shared_from_this 201603L 156 #undef __glibcxx_want_enable_shared_from_this 158 #if !defined(__cpp_lib_math_spec_funcs) 159 # if (__cplusplus >= 201103L) 160 # define __glibcxx_math_spec_funcs 201003L 161 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_spec_funcs) 162 # define __STDCPP_MATH_SPEC_FUNCS__ 201003L 166 #undef __glibcxx_want_math_spec_funcs 168 #if !defined(__cpp_lib_coroutine) 169 # if (__cplusplus >= 201402L) && (__cpp_impl_coroutine) 170 # define __glibcxx_coroutine 201902L 171 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_coroutine) 172 # define __cpp_lib_coroutine 201902L 176 #undef __glibcxx_want_coroutine 178 #if !defined(__cpp_lib_exchange_function) 179 # if (__cplusplus >= 201402L) 180 # define __glibcxx_exchange_function 201304L 181 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_exchange_function) 182 # define __cpp_lib_exchange_function 201304L 186 #undef __glibcxx_want_exchange_function 188 #if !defined(__cpp_lib_integer_sequence) 189 # if (__cplusplus >= 201402L) 190 # define __glibcxx_integer_sequence 201304L 191 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_sequence) 192 # define __cpp_lib_integer_sequence 201304L 196 #undef __glibcxx_want_integer_sequence 198 #if !defined(__cpp_lib_integral_constant_callable) 199 # if (__cplusplus >= 201402L) 200 # define __glibcxx_integral_constant_callable 201304L 201 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integral_constant_callable) 202 # define __cpp_lib_integral_constant_callable 201304L 206 #undef __glibcxx_want_integral_constant_callable 208 #if !defined(__cpp_lib_is_final) 209 # if (__cplusplus >= 201402L) 210 # define __glibcxx_is_final 201402L 211 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_final) 212 # define __cpp_lib_is_final 201402L 216 #undef __glibcxx_want_is_final 218 #if !defined(__cpp_lib_make_reverse_iterator) 219 # if (__cplusplus >= 201402L) 220 # define __glibcxx_make_reverse_iterator 201402L 221 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_reverse_iterator) 222 # define __cpp_lib_make_reverse_iterator 201402L 226 #undef __glibcxx_want_make_reverse_iterator 228 #if !defined(__cpp_lib_null_iterators) 229 # if (__cplusplus >= 201402L) 230 # define __glibcxx_null_iterators 201304L 231 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_null_iterators) 232 # define __cpp_lib_null_iterators 201304L 236 #undef __glibcxx_want_null_iterators 238 #if !defined(__cpp_lib_transformation_trait_aliases) 239 # if (__cplusplus >= 201402L) 240 # define __glibcxx_transformation_trait_aliases 201304L 241 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transformation_trait_aliases) 242 # define __cpp_lib_transformation_trait_aliases 201304L 246 #undef __glibcxx_want_transformation_trait_aliases 248 #if !defined(__cpp_lib_transparent_operators) 249 # if (__cplusplus >= 201402L) 250 # define __glibcxx_transparent_operators 201510L 251 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transparent_operators) 252 # define __cpp_lib_transparent_operators 201510L 256 #undef __glibcxx_want_transparent_operators 258 #if !defined(__cpp_lib_tuple_element_t) 259 # if (__cplusplus >= 201402L) 260 # define __glibcxx_tuple_element_t 201402L 261 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_element_t) 262 # define __cpp_lib_tuple_element_t 201402L 266 #undef __glibcxx_want_tuple_element_t 268 #if !defined(__cpp_lib_tuples_by_type) 269 # if (__cplusplus >= 201402L) 270 # define __glibcxx_tuples_by_type 201304L 271 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuples_by_type) 272 # define __cpp_lib_tuples_by_type 201304L 276 #undef __glibcxx_want_tuples_by_type 278 #if !defined(__cpp_lib_robust_nonmodifying_seq_ops) 279 # if (__cplusplus >= 201402L) 280 # define __glibcxx_robust_nonmodifying_seq_ops 201304L 281 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_robust_nonmodifying_seq_ops) 282 # define __cpp_lib_robust_nonmodifying_seq_ops 201304L 286 #undef __glibcxx_want_robust_nonmodifying_seq_ops 288 #if !defined(__cpp_lib_to_chars) 289 # if (__cplusplus > 202302L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 290 # define __glibcxx_to_chars 202306L 291 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 292 # define __cpp_lib_to_chars 202306L 294 # elif (__cplusplus >= 201402L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 295 # define __glibcxx_to_chars 201611L 296 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 297 # define __cpp_lib_to_chars 201611L 301 #undef __glibcxx_want_to_chars 303 #if !defined(__cpp_lib_chrono_udls) 304 # if (__cplusplus >= 201402L) 305 # define __glibcxx_chrono_udls 201304L 306 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_udls) 307 # define __cpp_lib_chrono_udls 201304L 311 #undef __glibcxx_want_chrono_udls 313 #if !defined(__cpp_lib_complex_udls) 314 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 315 # define __glibcxx_complex_udls 201309L 316 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_complex_udls) 317 # define __cpp_lib_complex_udls 201309L 321 #undef __glibcxx_want_complex_udls 323 #if !defined(__cpp_lib_generic_associative_lookup) 324 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 325 # define __glibcxx_generic_associative_lookup 201304L 326 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_associative_lookup) 327 # define __cpp_lib_generic_associative_lookup 201304L 331 #undef __glibcxx_want_generic_associative_lookup 333 #if !defined(__cpp_lib_make_unique) 334 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 335 # define __glibcxx_make_unique 201304L 336 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_unique) 337 # define __cpp_lib_make_unique 201304L 341 #undef __glibcxx_want_make_unique 343 #if !defined(__cpp_lib_quoted_string_io) 344 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 345 # define __glibcxx_quoted_string_io 201304L 346 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_quoted_string_io) 347 # define __cpp_lib_quoted_string_io 201304L 351 #undef __glibcxx_want_quoted_string_io 353 #if !defined(__cpp_lib_shared_timed_mutex) 354 # if (__cplusplus >= 201402L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 355 # define __glibcxx_shared_timed_mutex 201402L 356 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_timed_mutex) 357 # define __cpp_lib_shared_timed_mutex 201402L 361 #undef __glibcxx_want_shared_timed_mutex 363 #if !defined(__cpp_lib_string_udls) 364 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 365 # define __glibcxx_string_udls 201304L 366 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_udls) 367 # define __cpp_lib_string_udls 201304L 371 #undef __glibcxx_want_string_udls 373 #if !defined(__cpp_lib_addressof_constexpr) 374 # if (__cplusplus >= 201703L) 375 # define __glibcxx_addressof_constexpr 201603L 376 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_addressof_constexpr) 377 # define __cpp_lib_addressof_constexpr 201603L 381 #undef __glibcxx_want_addressof_constexpr 383 #if !defined(__cpp_lib_any) 384 # if (__cplusplus >= 201703L) 385 # define __glibcxx_any 201606L 386 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_any) 387 # define __cpp_lib_any 201606L 391 #undef __glibcxx_want_any 393 #if !defined(__cpp_lib_apply) 394 # if (__cplusplus >= 201703L) 395 # define __glibcxx_apply 201603L 396 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_apply) 397 # define __cpp_lib_apply 201603L 401 #undef __glibcxx_want_apply 403 #if !defined(__cpp_lib_as_const) 404 # if (__cplusplus >= 201703L) 405 # define __glibcxx_as_const 201510L 406 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_as_const) 407 # define __cpp_lib_as_const 201510L 411 #undef __glibcxx_want_as_const 413 #if !defined(__cpp_lib_atomic_is_always_lock_free) 414 # if (__cplusplus >= 201703L) 415 # define __glibcxx_atomic_is_always_lock_free 201603L 416 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_is_always_lock_free) 417 # define __cpp_lib_atomic_is_always_lock_free 201603L 421 #undef __glibcxx_want_atomic_is_always_lock_free 423 #if !defined(__cpp_lib_bool_constant) 424 # if (__cplusplus >= 201703L) 425 # define __glibcxx_bool_constant 201505L 426 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bool_constant) 427 # define __cpp_lib_bool_constant 201505L 431 #undef __glibcxx_want_bool_constant 433 #if !defined(__cpp_lib_byte) 434 # if (__cplusplus >= 201703L) 435 # define __glibcxx_byte 201603L 436 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byte) 437 # define __cpp_lib_byte 201603L 441 #undef __glibcxx_want_byte 443 #if !defined(__cpp_lib_constant_wrapper) 444 # if (__cplusplus > 202302L) 445 # define __glibcxx_constant_wrapper 202506L 446 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constant_wrapper) 447 # define __cpp_lib_constant_wrapper 202506L 451 #undef __glibcxx_want_constant_wrapper 453 #if !defined(__cpp_lib_has_unique_object_representations) 454 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP)) 455 # define __glibcxx_has_unique_object_representations 201606L 456 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_has_unique_object_representations) 457 # define __cpp_lib_has_unique_object_representations 201606L 461 #undef __glibcxx_want_has_unique_object_representations 463 #if !defined(__cpp_lib_hardware_interference_size) 464 # if (__cplusplus >= 201703L) && (defined(__GCC_DESTRUCTIVE_SIZE)) 465 # define __glibcxx_hardware_interference_size 201703L 466 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hardware_interference_size) 467 # define __cpp_lib_hardware_interference_size 201703L 471 #undef __glibcxx_want_hardware_interference_size 473 #if !defined(__cpp_lib_invoke) 474 # if (__cplusplus >= 201703L) 475 # define __glibcxx_invoke 201411L 476 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke) 477 # define __cpp_lib_invoke 201411L 481 #undef __glibcxx_want_invoke 483 #if !defined(__cpp_lib_is_aggregate) 484 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE)) 485 # define __glibcxx_is_aggregate 201703L 486 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_aggregate) 487 # define __cpp_lib_is_aggregate 201703L 491 #undef __glibcxx_want_is_aggregate 493 #if !defined(__cpp_lib_is_invocable) 494 # if (__cplusplus >= 201703L) 495 # define __glibcxx_is_invocable 201703L 496 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_invocable) 497 # define __cpp_lib_is_invocable 201703L 501 #undef __glibcxx_want_is_invocable 503 #if !defined(__cpp_lib_launder) 504 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_LAUNDER)) 505 # define __glibcxx_launder 201606L 506 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_launder) 507 # define __cpp_lib_launder 201606L 511 #undef __glibcxx_want_launder 513 #if !defined(__cpp_lib_logical_traits) 514 # if (__cplusplus >= 201703L) 515 # define __glibcxx_logical_traits 201510L 516 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_logical_traits) 517 # define __cpp_lib_logical_traits 201510L 521 #undef __glibcxx_want_logical_traits 523 #if !defined(__cpp_lib_make_from_tuple) 524 # if (__cplusplus >= 201703L) 525 # define __glibcxx_make_from_tuple 201606L 526 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_from_tuple) 527 # define __cpp_lib_make_from_tuple 201606L 531 #undef __glibcxx_want_make_from_tuple 533 #if !defined(__cpp_lib_not_fn) 534 # if (__cplusplus > 202302L) 535 # define __glibcxx_not_fn 202306L 536 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_not_fn) 537 # define __cpp_lib_not_fn 202306L 539 # elif (__cplusplus >= 201703L) 540 # define __glibcxx_not_fn 201603L 541 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_not_fn) 542 # define __cpp_lib_not_fn 201603L 546 #undef __glibcxx_want_not_fn 548 #if !defined(__cpp_lib_type_trait_variable_templates) 549 # if (__cplusplus >= 201703L) 550 # define __glibcxx_type_trait_variable_templates 201510L 551 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_trait_variable_templates) 552 # define __cpp_lib_type_trait_variable_templates 201510L 556 #undef __glibcxx_want_type_trait_variable_templates 558 #if !defined(__cpp_lib_variant) 559 # if (__cplusplus > 202302L) && (__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L && __cpp_explicit_this_parameter) 560 # define __glibcxx_variant 202306L 561 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 562 # define __cpp_lib_variant 202306L 564 # elif (__cplusplus >= 202002L) && (__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L) 565 # define __glibcxx_variant 202106L 566 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 567 # define __cpp_lib_variant 202106L 569 # elif (__cplusplus >= 201703L) 570 # define __glibcxx_variant 202102L 571 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 572 # define __cpp_lib_variant 202102L 576 #undef __glibcxx_want_variant 578 #if !defined(__cpp_lib_lcm) 579 # if (__cplusplus >= 201703L) 580 # define __glibcxx_lcm 201606L 581 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_lcm) 582 # define __cpp_lib_lcm 201606L 586 #undef __glibcxx_want_lcm 588 #if !defined(__cpp_lib_gcd) 589 # if (__cplusplus >= 201703L) 590 # define __glibcxx_gcd 201606L 591 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd) 592 # define __cpp_lib_gcd 201606L 596 #undef __glibcxx_want_gcd 598 #if !defined(__cpp_lib_gcd_lcm) 599 # if (__cplusplus >= 201703L) 600 # define __glibcxx_gcd_lcm 201606L 601 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd_lcm) 602 # define __cpp_lib_gcd_lcm 201606L 606 #undef __glibcxx_want_gcd_lcm 608 #if !defined(__cpp_lib_raw_memory_algorithms) 609 # if (__cplusplus > 202302L) && (__cpp_constexpr >= 202406L) 610 # define __glibcxx_raw_memory_algorithms 202411L 611 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_raw_memory_algorithms) 612 # define __cpp_lib_raw_memory_algorithms 202411L 614 # elif (__cplusplus >= 201703L) 615 # define __glibcxx_raw_memory_algorithms 201606L 616 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_raw_memory_algorithms) 617 # define __cpp_lib_raw_memory_algorithms 201606L 621 #undef __glibcxx_want_raw_memory_algorithms 623 #if !defined(__cpp_lib_array_constexpr) 624 # if (__cplusplus >= 202002L) 625 # define __glibcxx_array_constexpr 201811L 626 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 627 # define __cpp_lib_array_constexpr 201811L 629 # elif (__cplusplus >= 201703L) 630 # define __glibcxx_array_constexpr 201803L 631 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 632 # define __cpp_lib_array_constexpr 201803L 636 #undef __glibcxx_want_array_constexpr 638 #if !defined(__cpp_lib_nonmember_container_access) 639 # if (__cplusplus >= 201703L) 640 # define __glibcxx_nonmember_container_access 201411L 641 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_nonmember_container_access) 642 # define __cpp_lib_nonmember_container_access 201411L 646 #undef __glibcxx_want_nonmember_container_access 648 #if !defined(__cpp_lib_clamp) 649 # if (__cplusplus >= 201703L) 650 # define __glibcxx_clamp 201603L 651 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_clamp) 652 # define __cpp_lib_clamp 201603L 656 #undef __glibcxx_want_clamp 658 #if !defined(__cpp_lib_sample) 659 # if (__cplusplus >= 201703L) 660 # define __glibcxx_sample 201603L 661 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_sample) 662 # define __cpp_lib_sample 201603L 666 #undef __glibcxx_want_sample 668 #if !defined(__cpp_lib_boyer_moore_searcher) 669 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 670 # define __glibcxx_boyer_moore_searcher 201603L 671 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_boyer_moore_searcher) 672 # define __cpp_lib_boyer_moore_searcher 201603L 676 #undef __glibcxx_want_boyer_moore_searcher 678 #if !defined(__cpp_lib_chrono) 679 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 680 # define __glibcxx_chrono 202306L 681 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 682 # define __cpp_lib_chrono 202306L 684 # elif (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 685 # define __glibcxx_chrono 201907L 686 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 687 # define __cpp_lib_chrono 201907L 689 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 690 # define __glibcxx_chrono 201611L 691 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 692 # define __cpp_lib_chrono 201611L 696 #undef __glibcxx_want_chrono 698 #if !defined(__cpp_lib_chrono_cxx20) 699 # if (__cplusplus > 202302L) 700 # define __glibcxx_chrono_cxx20 202306L 701 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_cxx20) 703 # elif (__cplusplus >= 202002L) 704 # define __glibcxx_chrono_cxx20 201800L 705 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_cxx20) 709 #undef __glibcxx_want_chrono_cxx20 711 #if !defined(__cpp_lib_execution) 712 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 713 # define __glibcxx_execution 201902L 714 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_execution) 715 # define __cpp_lib_execution 201902L 719 #undef __glibcxx_want_execution 721 #if !defined(__cpp_lib_filesystem) 722 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 723 # define __glibcxx_filesystem 201703L 724 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_filesystem) 725 # define __cpp_lib_filesystem 201703L 729 #undef __glibcxx_want_filesystem 731 #if !defined(__cpp_lib_hypot) 732 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 733 # define __glibcxx_hypot 201603L 734 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hypot) 735 # define __cpp_lib_hypot 201603L 739 #undef __glibcxx_want_hypot 741 #if !defined(__cpp_lib_map_try_emplace) 742 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 743 # define __glibcxx_map_try_emplace 201411L 744 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_map_try_emplace) 745 # define __cpp_lib_map_try_emplace 201411L 749 #undef __glibcxx_want_map_try_emplace 751 #if !defined(__cpp_lib_math_special_functions) 752 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 753 # define __glibcxx_math_special_functions 201603L 754 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_special_functions) 755 # define __cpp_lib_math_special_functions 201603L 759 #undef __glibcxx_want_math_special_functions 761 #if !defined(__cpp_lib_memory_resource) 762 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 763 # define __glibcxx_memory_resource 201603L 764 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 765 # define __cpp_lib_memory_resource 201603L 767 # elif (__cplusplus >= 201703L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 768 # define __glibcxx_memory_resource 1L 769 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 770 # define __cpp_lib_memory_resource 1L 774 #undef __glibcxx_want_memory_resource 776 #if !defined(__cpp_lib_node_extract) 777 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 778 # define __glibcxx_node_extract 201606L 779 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_node_extract) 780 # define __cpp_lib_node_extract 201606L 784 #undef __glibcxx_want_node_extract 786 #if !defined(__cpp_lib_parallel_algorithm) 787 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 788 # define __glibcxx_parallel_algorithm 201603L 789 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_parallel_algorithm) 790 # define __cpp_lib_parallel_algorithm 201603L 794 #undef __glibcxx_want_parallel_algorithm 796 #if !defined(__cpp_lib_scoped_lock) 797 # if (__cplusplus >= 201703L) 798 # define __glibcxx_scoped_lock 201703L 799 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_scoped_lock) 800 # define __cpp_lib_scoped_lock 201703L 804 #undef __glibcxx_want_scoped_lock 806 #if !defined(__cpp_lib_shared_mutex) 807 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 808 # define __glibcxx_shared_mutex 201505L 809 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_mutex) 810 # define __cpp_lib_shared_mutex 201505L 814 #undef __glibcxx_want_shared_mutex 816 #if !defined(__cpp_lib_shared_ptr_weak_type) 817 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 818 # define __glibcxx_shared_ptr_weak_type 201606L 819 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_weak_type) 820 # define __cpp_lib_shared_ptr_weak_type 201606L 824 #undef __glibcxx_want_shared_ptr_weak_type 826 #if !defined(__cpp_lib_string_view) 827 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 828 # define __glibcxx_string_view 202403L 829 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_view) 830 # define __cpp_lib_string_view 202403L 832 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 833 # define __glibcxx_string_view 201803L 834 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_view) 835 # define __cpp_lib_string_view 201803L 839 #undef __glibcxx_want_string_view 841 #if !defined(__cpp_lib_unordered_map_try_emplace) 842 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 843 # define __glibcxx_unordered_map_try_emplace 201411L 844 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unordered_map_try_emplace) 845 # define __cpp_lib_unordered_map_try_emplace 201411L 849 #undef __glibcxx_want_unordered_map_try_emplace 851 #if !defined(__cpp_lib_assume_aligned) 852 # if (__cplusplus >= 202002L) 853 # define __glibcxx_assume_aligned 201811L 854 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_assume_aligned) 855 # define __cpp_lib_assume_aligned 201811L 859 #undef __glibcxx_want_assume_aligned 861 #if !defined(__cpp_lib_is_sufficiently_aligned) 862 # if (__cplusplus > 202302L) 863 # define __glibcxx_is_sufficiently_aligned 202411L 864 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_sufficiently_aligned) 865 # define __cpp_lib_is_sufficiently_aligned 202411L 869 #undef __glibcxx_want_is_sufficiently_aligned 871 #if !defined(__cpp_lib_atomic_flag_test) 872 # if (__cplusplus >= 202002L) 873 # define __glibcxx_atomic_flag_test 201907L 874 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_flag_test) 875 # define __cpp_lib_atomic_flag_test 201907L 879 #undef __glibcxx_want_atomic_flag_test 881 #if !defined(__cpp_lib_atomic_float) 882 # if (__cplusplus >= 202002L) 883 # define __glibcxx_atomic_float 201711L 884 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_float) 885 # define __cpp_lib_atomic_float 201711L 889 #undef __glibcxx_want_atomic_float 891 #if !defined(__cpp_lib_atomic_min_max) 892 # if (__cplusplus > 202302L) 893 # define __glibcxx_atomic_min_max 202403L 894 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_min_max) 895 # define __cpp_lib_atomic_min_max 202403L 899 #undef __glibcxx_want_atomic_min_max 901 #if !defined(__cpp_lib_atomic_lock_free_type_aliases) 902 # if (__cplusplus >= 202002L) && ((__GCC_ATOMIC_INT_LOCK_FREE | __GCC_ATOMIC_LONG_LOCK_FREE | __GCC_ATOMIC_CHAR_LOCK_FREE) & 2) 903 # define __glibcxx_atomic_lock_free_type_aliases 201907L 904 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_lock_free_type_aliases) 905 # define __cpp_lib_atomic_lock_free_type_aliases 201907L 909 #undef __glibcxx_want_atomic_lock_free_type_aliases 911 #if !defined(__cpp_lib_atomic_ref) 912 # if (__cplusplus > 202302L) 913 # define __glibcxx_atomic_ref 202411L 914 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_ref) 915 # define __cpp_lib_atomic_ref 202411L 917 # elif (__cplusplus >= 202002L) 918 # define __glibcxx_atomic_ref 201806L 919 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_ref) 920 # define __cpp_lib_atomic_ref 201806L 924 #undef __glibcxx_want_atomic_ref 926 #if !defined(__cpp_lib_atomic_value_initialization) 927 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 201907L) 928 # define __glibcxx_atomic_value_initialization 201911L 929 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_value_initialization) 930 # define __cpp_lib_atomic_value_initialization 201911L 934 #undef __glibcxx_want_atomic_value_initialization 936 #if !defined(__cpp_lib_bind_front) 937 # if (__cplusplus > 202302L) 938 # define __glibcxx_bind_front 202306L 939 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_front) 940 # define __cpp_lib_bind_front 202306L 942 # elif (__cplusplus >= 202002L) 943 # define __glibcxx_bind_front 201907L 944 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_front) 945 # define __cpp_lib_bind_front 201907L 949 #undef __glibcxx_want_bind_front 951 #if !defined(__cpp_lib_bind_back) 952 # if (__cplusplus > 202302L) 953 # define __glibcxx_bind_back 202306L 954 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_back) 955 # define __cpp_lib_bind_back 202306L 957 # elif (__cplusplus >= 202100L) && (__cpp_explicit_this_parameter) 958 # define __glibcxx_bind_back 202202L 959 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_back) 960 # define __cpp_lib_bind_back 202202L 964 #undef __glibcxx_want_bind_back 966 #if !defined(__cpp_lib_starts_ends_with) 967 # if (__cplusplus >= 202002L) 968 # define __glibcxx_starts_ends_with 201711L 969 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_starts_ends_with) 970 # define __cpp_lib_starts_ends_with 201711L 974 #undef __glibcxx_want_starts_ends_with 976 #if !defined(__cpp_lib_bit_cast) 977 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_bit_cast)) 978 # define __glibcxx_bit_cast 201806L 979 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bit_cast) 980 # define __cpp_lib_bit_cast 201806L 984 #undef __glibcxx_want_bit_cast 986 #if !defined(__cpp_lib_bitops) 987 # if (__cplusplus >= 202002L) 988 # define __glibcxx_bitops 201907L 989 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bitops) 990 # define __cpp_lib_bitops 201907L 994 #undef __glibcxx_want_bitops 996 #if !defined(__cpp_lib_bounded_array_traits) 997 # if (__cplusplus >= 202002L) 998 # define __glibcxx_bounded_array_traits 201902L 999 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bounded_array_traits) 1000 # define __cpp_lib_bounded_array_traits 201902L 1004 #undef __glibcxx_want_bounded_array_traits 1006 #if !defined(__cpp_lib_concepts) 1007 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 201907L) 1008 # define __glibcxx_concepts 202207L 1009 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_concepts) 1010 # define __cpp_lib_concepts 202207L 1014 #undef __glibcxx_want_concepts 1016 #if !defined(__cpp_lib_optional) 1017 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1018 # define __glibcxx_optional 202506L 1019 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1020 # define __cpp_lib_optional 202506L 1022 # elif (__cplusplus >= 202100L) && (__glibcxx_concepts) 1023 # define __glibcxx_optional 202110L 1024 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1025 # define __cpp_lib_optional 202110L 1027 # elif (__cplusplus >= 202002L) 1028 # define __glibcxx_optional 202106L 1029 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1030 # define __cpp_lib_optional 202106L 1032 # elif (__cplusplus >= 201703L) 1033 # define __glibcxx_optional 201606L 1034 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1035 # define __cpp_lib_optional 201606L 1039 #undef __glibcxx_want_optional 1041 #if !defined(__cpp_lib_optional_range_support) 1042 # if (__cplusplus > 202302L) 1043 # define __glibcxx_optional_range_support 202406L 1044 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional_range_support) 1045 # define __cpp_lib_optional_range_support 202406L 1049 #undef __glibcxx_want_optional_range_support 1051 #if !defined(__cpp_lib_destroying_delete) 1052 # if (__cplusplus >= 202002L) && (__cpp_impl_destroying_delete) 1053 # define __glibcxx_destroying_delete 201806L 1054 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_destroying_delete) 1055 # define __cpp_lib_destroying_delete 201806L 1059 #undef __glibcxx_want_destroying_delete 1061 #if !defined(__cpp_lib_constexpr_string_view) 1062 # if (__cplusplus >= 202002L) 1063 # define __glibcxx_constexpr_string_view 201811L 1064 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string_view) 1065 # define __cpp_lib_constexpr_string_view 201811L 1069 #undef __glibcxx_want_constexpr_string_view 1071 #if !defined(__cpp_lib_endian) 1072 # if (__cplusplus >= 202002L) 1073 # define __glibcxx_endian 201907L 1074 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_endian) 1075 # define __cpp_lib_endian 201907L 1079 #undef __glibcxx_want_endian 1081 #if !defined(__cpp_lib_int_pow2) 1082 # if (__cplusplus >= 202002L) 1083 # define __glibcxx_int_pow2 202002L 1084 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_int_pow2) 1085 # define __cpp_lib_int_pow2 202002L 1089 #undef __glibcxx_want_int_pow2 1091 #if !defined(__cpp_lib_integer_comparison_functions) 1092 # if (__cplusplus >= 202002L) 1093 # define __glibcxx_integer_comparison_functions 202002L 1094 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_comparison_functions) 1095 # define __cpp_lib_integer_comparison_functions 202002L 1099 #undef __glibcxx_want_integer_comparison_functions 1101 #if !defined(__cpp_lib_is_constant_evaluated) 1102 # if (__cplusplus >= 202002L) && (defined(_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED)) 1103 # define __glibcxx_is_constant_evaluated 201811L 1104 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_constant_evaluated) 1105 # define __cpp_lib_is_constant_evaluated 201811L 1109 #undef __glibcxx_want_is_constant_evaluated 1111 #if !defined(__cpp_lib_constexpr_char_traits) 1112 # if (__cplusplus >= 202002L) && (defined(__glibcxx_is_constant_evaluated)) 1113 # define __glibcxx_constexpr_char_traits 201811L 1114 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1115 # define __cpp_lib_constexpr_char_traits 201811L 1117 # elif (__cplusplus >= 201703L) && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1118 # define __glibcxx_constexpr_char_traits 201611L 1119 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1120 # define __cpp_lib_constexpr_char_traits 201611L 1124 #undef __glibcxx_want_constexpr_char_traits 1126 #if !defined(__cpp_lib_is_layout_compatible) 1127 # if (__cplusplus >= 202002L) && (__has_builtin(__is_layout_compatible) && __has_builtin(__builtin_is_corresponding_member)) 1128 # define __glibcxx_is_layout_compatible 201907L 1129 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_layout_compatible) 1130 # define __cpp_lib_is_layout_compatible 201907L 1134 #undef __glibcxx_want_is_layout_compatible 1136 #if !defined(__cpp_lib_is_nothrow_convertible) 1137 # if (__cplusplus >= 202002L) 1138 # define __glibcxx_is_nothrow_convertible 201806L 1139 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_nothrow_convertible) 1140 # define __cpp_lib_is_nothrow_convertible 201806L 1144 #undef __glibcxx_want_is_nothrow_convertible 1146 #if !defined(__cpp_lib_is_pointer_interconvertible) 1147 # if (__cplusplus >= 202002L) && (__has_builtin(__is_pointer_interconvertible_base_of) && __has_builtin(__builtin_is_pointer_interconvertible_with_class)) 1148 # define __glibcxx_is_pointer_interconvertible 201907L 1149 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_pointer_interconvertible) 1150 # define __cpp_lib_is_pointer_interconvertible 201907L 1154 #undef __glibcxx_want_is_pointer_interconvertible 1156 #if !defined(__cpp_lib_math_constants) 1157 # if (__cplusplus >= 202002L) 1158 # define __glibcxx_math_constants 201907L 1159 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_constants) 1160 # define __cpp_lib_math_constants 201907L 1164 #undef __glibcxx_want_math_constants 1166 #if !defined(__cpp_lib_make_obj_using_allocator) 1167 # if (__cplusplus >= 202002L) && (__cpp_concepts) 1168 # define __glibcxx_make_obj_using_allocator 201811L 1169 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_obj_using_allocator) 1173 #undef __glibcxx_want_make_obj_using_allocator 1175 #if !defined(__cpp_lib_remove_cvref) 1176 # if (__cplusplus >= 202002L) 1177 # define __glibcxx_remove_cvref 201711L 1178 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_remove_cvref) 1179 # define __cpp_lib_remove_cvref 201711L 1183 #undef __glibcxx_want_remove_cvref 1185 #if !defined(__cpp_lib_source_location) 1186 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_source_location)) 1187 # define __glibcxx_source_location 201907L 1188 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_source_location) 1189 # define __cpp_lib_source_location 201907L 1193 #undef __glibcxx_want_source_location 1195 #if !defined(__cpp_lib_span) 1196 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1197 # define __glibcxx_span 202311L 1198 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1199 # define __cpp_lib_span 202311L 1201 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1202 # define __glibcxx_span 202002L 1203 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1204 # define __cpp_lib_span 202002L 1208 #undef __glibcxx_want_span 1210 #if !defined(__cpp_lib_mdspan) 1211 # if (__cplusplus > 202302L) 1212 # define __glibcxx_mdspan 202406L 1213 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_mdspan) 1214 # define __cpp_lib_mdspan 202406L 1216 # elif (__cplusplus >= 202100L) 1217 # define __glibcxx_mdspan 202207L 1218 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_mdspan) 1219 # define __cpp_lib_mdspan 202207L 1223 #undef __glibcxx_want_mdspan 1225 #if !defined(__cpp_lib_aligned_accessor) 1226 # if (__cplusplus > 202302L) && (__glibcxx_assume_aligned && __glibcxx_is_sufficiently_aligned) 1227 # define __glibcxx_aligned_accessor 202411L 1228 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_aligned_accessor) 1229 # define __cpp_lib_aligned_accessor 202411L 1233 #undef __glibcxx_want_aligned_accessor 1235 #if !defined(__cpp_lib_padded_layouts) 1236 # if (__cplusplus > 202302L) 1237 # define __glibcxx_padded_layouts 202403L 1238 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_padded_layouts) 1242 #undef __glibcxx_want_padded_layouts 1244 #if !defined(__cpp_lib_submdspan) 1245 # if (__cplusplus > 202302L) && (__glibcxx_constant_wrapper >= 202506L) 1246 # define __glibcxx_submdspan 202411L 1247 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_submdspan) 1248 # define __cpp_lib_submdspan 202411L 1252 #undef __glibcxx_want_submdspan 1254 #if !defined(__cpp_lib_ssize) 1255 # if (__cplusplus >= 202002L) 1256 # define __glibcxx_ssize 201902L 1257 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ssize) 1258 # define __cpp_lib_ssize 201902L 1262 #undef __glibcxx_want_ssize 1264 #if !defined(__cpp_lib_three_way_comparison) 1265 # if (__cplusplus >= 202002L) && (__cpp_impl_three_way_comparison >= 201907L && __glibcxx_concepts) 1266 # define __glibcxx_three_way_comparison 201907L 1267 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_three_way_comparison) 1268 # define __cpp_lib_three_way_comparison 201907L 1272 #undef __glibcxx_want_three_way_comparison 1274 #if !defined(__cpp_lib_to_address) 1275 # if (__cplusplus >= 202002L) 1276 # define __glibcxx_to_address 201711L 1277 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_address) 1278 # define __cpp_lib_to_address 201711L 1282 #undef __glibcxx_want_to_address 1284 #if !defined(__cpp_lib_to_array) 1285 # if (__cplusplus >= 202002L) && (__cpp_generic_lambdas >= 201707L) 1286 # define __glibcxx_to_array 201907L 1287 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_array) 1288 # define __cpp_lib_to_array 201907L 1292 #undef __glibcxx_want_to_array 1294 #if !defined(__cpp_lib_type_identity) 1295 # if (__cplusplus >= 202002L) 1296 # define __glibcxx_type_identity 201806L 1297 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_identity) 1298 # define __cpp_lib_type_identity 201806L 1302 #undef __glibcxx_want_type_identity 1304 #if !defined(__cpp_lib_unwrap_ref) 1305 # if (__cplusplus >= 202002L) 1306 # define __glibcxx_unwrap_ref 201811L 1307 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unwrap_ref) 1308 # define __cpp_lib_unwrap_ref 201811L 1312 #undef __glibcxx_want_unwrap_ref 1314 #if !defined(__cpp_lib_constexpr_iterator) 1315 # if (__cplusplus >= 202002L) 1316 # define __glibcxx_constexpr_iterator 201811L 1317 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_iterator) 1318 # define __cpp_lib_constexpr_iterator 201811L 1322 #undef __glibcxx_want_constexpr_iterator 1324 #if !defined(__cpp_lib_interpolate) 1325 # if (__cplusplus >= 202002L) 1326 # define __glibcxx_interpolate 201902L 1327 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_interpolate) 1328 # define __cpp_lib_interpolate 201902L 1332 #undef __glibcxx_want_interpolate 1334 #if !defined(__cpp_lib_constexpr_utility) 1335 # if (__cplusplus >= 202002L) 1336 # define __glibcxx_constexpr_utility 201811L 1337 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_utility) 1338 # define __cpp_lib_constexpr_utility 201811L 1342 #undef __glibcxx_want_constexpr_utility 1344 #if !defined(__cpp_lib_shift) 1345 # if (__cplusplus >= 202100L) 1346 # define __glibcxx_shift 202202L 1347 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shift) 1348 # define __cpp_lib_shift 202202L 1350 # elif (__cplusplus >= 202002L) 1351 # define __glibcxx_shift 201806L 1352 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shift) 1353 # define __cpp_lib_shift 201806L 1357 #undef __glibcxx_want_shift 1359 #if !defined(__cpp_lib_ranges) 1360 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1361 # define __glibcxx_ranges 202406L 1362 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1363 # define __cpp_lib_ranges 202406L 1365 # elif (__cplusplus >= 202100L) && (__glibcxx_concepts) 1366 # define __glibcxx_ranges 202302L 1367 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1368 # define __cpp_lib_ranges 202302L 1370 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1371 # define __glibcxx_ranges 202110L 1372 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1373 # define __cpp_lib_ranges 202110L 1377 #undef __glibcxx_want_ranges 1379 #if !defined(__cpp_lib_constexpr_numeric) 1380 # if (__cplusplus >= 202002L) 1381 # define __glibcxx_constexpr_numeric 201911L 1382 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_numeric) 1383 # define __cpp_lib_constexpr_numeric 201911L 1387 #undef __glibcxx_want_constexpr_numeric 1389 #if !defined(__cpp_lib_constexpr_functional) 1390 # if (__cplusplus >= 202002L) 1391 # define __glibcxx_constexpr_functional 201907L 1392 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_functional) 1393 # define __cpp_lib_constexpr_functional 201907L 1397 #undef __glibcxx_want_constexpr_functional 1399 #if !defined(__cpp_lib_constexpr_algorithms) 1400 # if (__cplusplus > 202302L) 1401 # define __glibcxx_constexpr_algorithms 202306L 1402 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms) 1403 # define __cpp_lib_constexpr_algorithms 202306L 1405 # elif (__cplusplus >= 202002L) 1406 # define __glibcxx_constexpr_algorithms 201806L 1407 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms) 1408 # define __cpp_lib_constexpr_algorithms 201806L 1412 #undef __glibcxx_want_constexpr_algorithms 1414 #if !defined(__cpp_lib_constexpr_tuple) 1415 # if (__cplusplus >= 202002L) 1416 # define __glibcxx_constexpr_tuple 201811L 1417 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_tuple) 1418 # define __cpp_lib_constexpr_tuple 201811L 1422 #undef __glibcxx_want_constexpr_tuple 1424 #if !defined(__cpp_lib_constexpr_memory) 1425 # if (__cplusplus >= 202100L) && (__cpp_constexpr_dynamic_alloc) 1426 # define __glibcxx_constexpr_memory 202202L 1427 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1428 # define __cpp_lib_constexpr_memory 202202L 1430 # elif (__cplusplus >= 202002L) 1431 # define __glibcxx_constexpr_memory 201811L 1432 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1433 # define __cpp_lib_constexpr_memory 201811L 1437 #undef __glibcxx_want_constexpr_memory 1439 #if !defined(__cpp_lib_atomic_shared_ptr) 1440 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1441 # define __glibcxx_atomic_shared_ptr 201711L 1442 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_shared_ptr) 1443 # define __cpp_lib_atomic_shared_ptr 201711L 1447 #undef __glibcxx_want_atomic_shared_ptr 1449 #if !defined(__cpp_lib_atomic_wait) 1450 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1451 # define __glibcxx_atomic_wait 201907L 1452 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1453 # define __cpp_lib_atomic_wait 201907L 1455 # elif (__cplusplus >= 202002L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED && (defined(_GLIBCXX_HAVE_LINUX_FUTEX)) 1456 # define __glibcxx_atomic_wait 201907L 1457 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1458 # define __cpp_lib_atomic_wait 201907L 1462 #undef __glibcxx_want_atomic_wait 1464 #if !defined(__cpp_lib_barrier) 1465 # if (__cplusplus >= 202002L) && (__cpp_aligned_new && __glibcxx_atomic_wait) 1466 # define __glibcxx_barrier 201907L 1467 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_barrier) 1468 # define __cpp_lib_barrier 201907L 1472 #undef __glibcxx_want_barrier 1474 #if !defined(__cpp_lib_format) 1475 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 1476 # define __glibcxx_format 202311L 1477 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format) 1478 # define __cpp_lib_format 202311L 1480 # elif (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1481 # define __glibcxx_format 202304L 1482 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format) 1483 # define __cpp_lib_format 202304L 1487 #undef __glibcxx_want_format 1489 #if !defined(__cpp_lib_format_uchar) 1490 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1491 # define __glibcxx_format_uchar 202311L 1492 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_uchar) 1493 # define __cpp_lib_format_uchar 202311L 1497 #undef __glibcxx_want_format_uchar 1499 #if !defined(__cpp_lib_constexpr_complex) 1500 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1501 # define __glibcxx_constexpr_complex 201711L 1502 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_complex) 1503 # define __cpp_lib_constexpr_complex 201711L 1507 #undef __glibcxx_want_constexpr_complex 1509 #if !defined(__cpp_lib_constexpr_dynamic_alloc) 1510 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1511 # define __glibcxx_constexpr_dynamic_alloc 201907L 1512 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_dynamic_alloc) 1513 # define __cpp_lib_constexpr_dynamic_alloc 201907L 1517 #undef __glibcxx_want_constexpr_dynamic_alloc 1519 #if !defined(__cpp_lib_constexpr_flat_map) 1520 # if (__cplusplus > 202302L) 1521 # define __glibcxx_constexpr_flat_map 202502L 1522 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_flat_map) 1523 # define __cpp_lib_constexpr_flat_map 202502L 1527 #undef __glibcxx_want_constexpr_flat_map 1529 #if !defined(__cpp_lib_constexpr_flat_set) 1530 # if (__cplusplus > 202302L) 1531 # define __glibcxx_constexpr_flat_set 202502L 1532 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_flat_set) 1533 # define __cpp_lib_constexpr_flat_set 202502L 1537 #undef __glibcxx_want_constexpr_flat_set 1539 #if !defined(__cpp_lib_constexpr_string) 1540 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1541 # define __glibcxx_constexpr_string 201907L 1542 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1543 # define __cpp_lib_constexpr_string 201907L 1545 # elif (__cplusplus >= 202002L) && !_GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1546 # define __glibcxx_constexpr_string 201811L 1547 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1548 # define __cpp_lib_constexpr_string 201811L 1550 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1551 # define __glibcxx_constexpr_string 201611L 1552 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1553 # define __cpp_lib_constexpr_string 201611L 1557 #undef __glibcxx_want_constexpr_string 1559 #if !defined(__cpp_lib_constexpr_vector) 1560 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1561 # define __glibcxx_constexpr_vector 201907L 1562 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_vector) 1563 # define __cpp_lib_constexpr_vector 201907L 1567 #undef __glibcxx_want_constexpr_vector 1569 #if !defined(__cpp_lib_constrained_equality) 1570 # if (__cplusplus >= 202100L) && (__glibcxx_three_way_comparison) 1571 # define __glibcxx_constrained_equality 202411L 1572 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constrained_equality) 1573 # define __cpp_lib_constrained_equality 202411L 1575 # elif (__cplusplus >= 202002L) && (__glibcxx_three_way_comparison) 1576 # define __glibcxx_constrained_equality 202403L 1577 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constrained_equality) 1578 # define __cpp_lib_constrained_equality 202403L 1582 #undef __glibcxx_want_constrained_equality 1584 #if !defined(__cpp_lib_erase_if) 1585 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1586 # define __glibcxx_erase_if 202002L 1587 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_erase_if) 1588 # define __cpp_lib_erase_if 202002L 1592 #undef __glibcxx_want_erase_if 1594 #if !defined(__cpp_lib_generic_unordered_lookup) 1595 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1596 # define __glibcxx_generic_unordered_lookup 201811L 1597 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_unordered_lookup) 1598 # define __cpp_lib_generic_unordered_lookup 201811L 1602 #undef __glibcxx_want_generic_unordered_lookup 1604 #if !defined(__cpp_lib_jthread) 1605 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1606 # define __glibcxx_jthread 201911L 1607 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_jthread) 1608 # define __cpp_lib_jthread 201911L 1612 #undef __glibcxx_want_jthread 1614 #if !defined(__cpp_lib_latch) 1615 # if (__cplusplus >= 202002L) && (__glibcxx_atomic_wait) 1616 # define __glibcxx_latch 201907L 1617 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_latch) 1618 # define __cpp_lib_latch 201907L 1622 #undef __glibcxx_want_latch 1624 #if !defined(__cpp_lib_list_remove_return_type) 1625 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1626 # define __glibcxx_list_remove_return_type 201806L 1627 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_list_remove_return_type) 1628 # define __cpp_lib_list_remove_return_type 201806L 1632 #undef __glibcxx_want_list_remove_return_type 1634 #if !defined(__cpp_lib_polymorphic_allocator) 1635 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1636 # define __glibcxx_polymorphic_allocator 201902L 1637 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_polymorphic_allocator) 1638 # define __cpp_lib_polymorphic_allocator 201902L 1642 #undef __glibcxx_want_polymorphic_allocator 1644 #if !defined(__cpp_lib_move_iterator_concept) 1645 # if (__cplusplus >= 202002L) && (__glibcxx_concepts) 1646 # define __glibcxx_move_iterator_concept 202207L 1647 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_iterator_concept) 1648 # define __cpp_lib_move_iterator_concept 202207L 1652 #undef __glibcxx_want_move_iterator_concept 1654 #if !defined(__cpp_lib_semaphore) 1655 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED && (__glibcxx_atomic_wait) 1656 # define __glibcxx_semaphore 201907L 1657 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_semaphore) 1658 # define __cpp_lib_semaphore 201907L 1662 #undef __glibcxx_want_semaphore 1664 #if !defined(__cpp_lib_smart_ptr_for_overwrite) 1665 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1666 # define __glibcxx_smart_ptr_for_overwrite 202002L 1667 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_smart_ptr_for_overwrite) 1668 # define __cpp_lib_smart_ptr_for_overwrite 202002L 1672 #undef __glibcxx_want_smart_ptr_for_overwrite 1674 #if !defined(__cpp_lib_syncbuf) 1675 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 1676 # define __glibcxx_syncbuf 201803L 1677 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_syncbuf) 1678 # define __cpp_lib_syncbuf 201803L 1682 #undef __glibcxx_want_syncbuf 1684 #if !defined(__cpp_lib_byteswap) 1685 # if (__cplusplus >= 202100L) 1686 # define __glibcxx_byteswap 202110L 1687 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byteswap) 1688 # define __cpp_lib_byteswap 202110L 1692 #undef __glibcxx_want_byteswap 1694 #if !defined(__cpp_lib_constexpr_charconv) 1695 # if (__cplusplus >= 202100L) 1696 # define __glibcxx_constexpr_charconv 202207L 1697 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_charconv) 1698 # define __cpp_lib_constexpr_charconv 202207L 1702 #undef __glibcxx_want_constexpr_charconv 1704 #if !defined(__cpp_lib_constexpr_typeinfo) 1705 # if (__cplusplus >= 202100L) 1706 # define __glibcxx_constexpr_typeinfo 202106L 1707 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_typeinfo) 1708 # define __cpp_lib_constexpr_typeinfo 202106L 1712 #undef __glibcxx_want_constexpr_typeinfo 1714 #if !defined(__cpp_lib_expected) 1715 # if (__cplusplus >= 202100L) && (__cpp_concepts >= 202002L) 1716 # define __glibcxx_expected 202211L 1717 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_expected) 1718 # define __cpp_lib_expected 202211L 1722 #undef __glibcxx_want_expected 1724 #if !defined(__cpp_lib_format_ranges) 1725 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1726 # define __glibcxx_format_ranges 202207L 1727 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_ranges) 1728 # define __cpp_lib_format_ranges 202207L 1732 #undef __glibcxx_want_format_ranges 1734 #if !defined(__cpp_lib_format_path) 1735 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 1736 # define __glibcxx_format_path 202403L 1737 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_path) 1738 # define __cpp_lib_format_path 202403L 1742 #undef __glibcxx_want_format_path 1744 #if !defined(__cpp_lib_freestanding_algorithm) 1745 # if (__cplusplus >= 202100L) 1746 # define __glibcxx_freestanding_algorithm 202311L 1747 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_algorithm) 1748 # define __cpp_lib_freestanding_algorithm 202311L 1752 #undef __glibcxx_want_freestanding_algorithm 1754 #if !defined(__cpp_lib_freestanding_array) 1755 # if (__cplusplus >= 202100L) 1756 # define __glibcxx_freestanding_array 202311L 1757 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_array) 1758 # define __cpp_lib_freestanding_array 202311L 1762 #undef __glibcxx_want_freestanding_array 1764 #if !defined(__cpp_lib_freestanding_cstring) 1765 # if (__cplusplus >= 202100L) 1766 # define __glibcxx_freestanding_cstring 202311L 1767 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_cstring) 1768 # define __cpp_lib_freestanding_cstring 202311L 1772 #undef __glibcxx_want_freestanding_cstring 1774 #if !defined(__cpp_lib_freestanding_expected) 1775 # if (__cplusplus >= 202100L) && (__cpp_lib_expected) 1776 # define __glibcxx_freestanding_expected 202311L 1777 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_expected) 1778 # define __cpp_lib_freestanding_expected 202311L 1782 #undef __glibcxx_want_freestanding_expected 1784 #if !defined(__cpp_lib_freestanding_optional) 1785 # if (__cplusplus >= 202100L) 1786 # define __glibcxx_freestanding_optional 202311L 1787 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_optional) 1788 # define __cpp_lib_freestanding_optional 202311L 1792 #undef __glibcxx_want_freestanding_optional 1794 #if !defined(__cpp_lib_freestanding_string_view) 1795 # if (__cplusplus >= 202100L) 1796 # define __glibcxx_freestanding_string_view 202311L 1797 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_string_view) 1798 # define __cpp_lib_freestanding_string_view 202311L 1802 #undef __glibcxx_want_freestanding_string_view 1804 #if !defined(__cpp_lib_freestanding_variant) 1805 # if (__cplusplus >= 202100L) 1806 # define __glibcxx_freestanding_variant 202311L 1807 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_variant) 1808 # define __cpp_lib_freestanding_variant 202311L 1812 #undef __glibcxx_want_freestanding_variant 1814 #if !defined(__cpp_lib_invoke_r) 1815 # if (__cplusplus >= 202100L) 1816 # define __glibcxx_invoke_r 202106L 1817 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke_r) 1818 # define __cpp_lib_invoke_r 202106L 1822 #undef __glibcxx_want_invoke_r 1824 #if !defined(__cpp_lib_associative_heterogeneous_erasure) 1825 # if (__cplusplus >= 202100L) 1826 # define __glibcxx_associative_heterogeneous_erasure 202110L 1827 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_associative_heterogeneous_erasure) 1828 # define __cpp_lib_associative_heterogeneous_erasure 202110L 1832 #undef __glibcxx_want_associative_heterogeneous_erasure 1834 #if !defined(__cpp_lib_associative_heterogeneous_insertion) 1835 # if (__cplusplus > 202302L) 1836 # define __glibcxx_associative_heterogeneous_insertion 202306L 1837 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_associative_heterogeneous_insertion) 1838 # define __cpp_lib_associative_heterogeneous_insertion 202306L 1842 #undef __glibcxx_want_associative_heterogeneous_insertion 1844 #if !defined(__cpp_lib_is_scoped_enum) 1845 # if (__cplusplus >= 202100L) 1846 # define __glibcxx_is_scoped_enum 202011L 1847 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_scoped_enum) 1848 # define __cpp_lib_is_scoped_enum 202011L 1852 #undef __glibcxx_want_is_scoped_enum 1854 #if !defined(__cpp_lib_reference_from_temporary) 1855 # if (__cplusplus >= 202100L) && (__has_builtin(__reference_constructs_from_temporary) && __has_builtin(__reference_converts_from_temporary)) 1856 # define __glibcxx_reference_from_temporary 202202L 1857 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_from_temporary) 1858 # define __cpp_lib_reference_from_temporary 202202L 1862 #undef __glibcxx_want_reference_from_temporary 1864 #if !defined(__cpp_lib_containers_ranges) 1865 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1866 # define __glibcxx_containers_ranges 202202L 1867 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_containers_ranges) 1868 # define __cpp_lib_containers_ranges 202202L 1872 #undef __glibcxx_want_containers_ranges 1874 #if !defined(__cpp_lib_ranges_to_container) 1875 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1876 # define __glibcxx_ranges_to_container 202202L 1877 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_to_container) 1878 # define __cpp_lib_ranges_to_container 202202L 1882 #undef __glibcxx_want_ranges_to_container 1884 #if !defined(__cpp_lib_ranges_zip) 1885 # if (__cplusplus >= 202100L) 1886 # define __glibcxx_ranges_zip 202110L 1887 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_zip) 1888 # define __cpp_lib_ranges_zip 202110L 1892 #undef __glibcxx_want_ranges_zip 1894 #if !defined(__cpp_lib_ranges_chunk) 1895 # if (__cplusplus >= 202100L) 1896 # define __glibcxx_ranges_chunk 202202L 1897 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk) 1898 # define __cpp_lib_ranges_chunk 202202L 1902 #undef __glibcxx_want_ranges_chunk 1904 #if !defined(__cpp_lib_ranges_slide) 1905 # if (__cplusplus >= 202100L) 1906 # define __glibcxx_ranges_slide 202202L 1907 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_slide) 1908 # define __cpp_lib_ranges_slide 202202L 1912 #undef __glibcxx_want_ranges_slide 1914 #if !defined(__cpp_lib_ranges_chunk_by) 1915 # if (__cplusplus >= 202100L) 1916 # define __glibcxx_ranges_chunk_by 202202L 1917 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk_by) 1918 # define __cpp_lib_ranges_chunk_by 202202L 1922 #undef __glibcxx_want_ranges_chunk_by 1924 #if !defined(__cpp_lib_ranges_join_with) 1925 # if (__cplusplus >= 202100L) 1926 # define __glibcxx_ranges_join_with 202202L 1927 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_join_with) 1928 # define __cpp_lib_ranges_join_with 202202L 1932 #undef __glibcxx_want_ranges_join_with 1934 #if !defined(__cpp_lib_ranges_repeat) 1935 # if (__cplusplus >= 202100L) 1936 # define __glibcxx_ranges_repeat 202207L 1937 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_repeat) 1938 # define __cpp_lib_ranges_repeat 202207L 1942 #undef __glibcxx_want_ranges_repeat 1944 #if !defined(__cpp_lib_ranges_stride) 1945 # if (__cplusplus >= 202100L) 1946 # define __glibcxx_ranges_stride 202207L 1947 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_stride) 1948 # define __cpp_lib_ranges_stride 202207L 1952 #undef __glibcxx_want_ranges_stride 1954 #if !defined(__cpp_lib_ranges_cartesian_product) 1955 # if (__cplusplus >= 202100L) 1956 # define __glibcxx_ranges_cartesian_product 202207L 1957 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_cartesian_product) 1958 # define __cpp_lib_ranges_cartesian_product 202207L 1962 #undef __glibcxx_want_ranges_cartesian_product 1964 #if !defined(__cpp_lib_ranges_as_rvalue) 1965 # if (__cplusplus >= 202100L) 1966 # define __glibcxx_ranges_as_rvalue 202207L 1967 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_rvalue) 1968 # define __cpp_lib_ranges_as_rvalue 202207L 1972 #undef __glibcxx_want_ranges_as_rvalue 1974 #if !defined(__cpp_lib_ranges_as_const) 1975 # if (__cplusplus >= 202100L) 1976 # define __glibcxx_ranges_as_const 202311L 1977 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_const) 1978 # define __cpp_lib_ranges_as_const 202311L 1982 #undef __glibcxx_want_ranges_as_const 1984 #if !defined(__cpp_lib_ranges_enumerate) 1985 # if (__cplusplus >= 202100L) 1986 # define __glibcxx_ranges_enumerate 202302L 1987 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_enumerate) 1988 # define __cpp_lib_ranges_enumerate 202302L 1992 #undef __glibcxx_want_ranges_enumerate 1994 #if !defined(__cpp_lib_ranges_fold) 1995 # if (__cplusplus >= 202100L) 1996 # define __glibcxx_ranges_fold 202207L 1997 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_fold) 1998 # define __cpp_lib_ranges_fold 202207L 2002 #undef __glibcxx_want_ranges_fold 2004 #if !defined(__cpp_lib_ranges_contains) 2005 # if (__cplusplus >= 202100L) 2006 # define __glibcxx_ranges_contains 202207L 2007 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_contains) 2008 # define __cpp_lib_ranges_contains 202207L 2012 #undef __glibcxx_want_ranges_contains 2014 #if !defined(__cpp_lib_ranges_iota) 2015 # if (__cplusplus >= 202100L) 2016 # define __glibcxx_ranges_iota 202202L 2017 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_iota) 2018 # define __cpp_lib_ranges_iota 202202L 2022 #undef __glibcxx_want_ranges_iota 2024 #if !defined(__cpp_lib_ranges_find_last) 2025 # if (__cplusplus >= 202100L) 2026 # define __glibcxx_ranges_find_last 202207L 2027 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_find_last) 2028 # define __cpp_lib_ranges_find_last 202207L 2032 #undef __glibcxx_want_ranges_find_last 2034 #if !defined(__cpp_lib_ranges_starts_ends_with) 2035 # if (__cplusplus >= 202100L) 2036 # define __glibcxx_ranges_starts_ends_with 202106L 2037 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_starts_ends_with) 2038 # define __cpp_lib_ranges_starts_ends_with 202106L 2042 #undef __glibcxx_want_ranges_starts_ends_with 2044 #if !defined(__cpp_lib_ranges_indices) 2045 # if (__cplusplus > 202302L) 2046 # define __glibcxx_ranges_indices 202506L 2047 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_indices) 2048 # define __cpp_lib_ranges_indices 202506L 2052 #undef __glibcxx_want_ranges_indices 2054 #if !defined(__cpp_lib_constexpr_bitset) 2055 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__cpp_constexpr_dynamic_alloc) 2056 # define __glibcxx_constexpr_bitset 202202L 2057 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_bitset) 2058 # define __cpp_lib_constexpr_bitset 202202L 2062 #undef __glibcxx_want_constexpr_bitset 2064 #if !defined(__cpp_lib_stdatomic_h) 2065 # if (__cplusplus >= 202100L) 2066 # define __glibcxx_stdatomic_h 202011L 2067 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stdatomic_h) 2068 # define __cpp_lib_stdatomic_h 202011L 2072 #undef __glibcxx_want_stdatomic_h 2074 #if !defined(__cpp_lib_adaptor_iterator_pair_constructor) 2075 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2076 # define __glibcxx_adaptor_iterator_pair_constructor 202106L 2077 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_adaptor_iterator_pair_constructor) 2078 # define __cpp_lib_adaptor_iterator_pair_constructor 202106L 2082 #undef __glibcxx_want_adaptor_iterator_pair_constructor 2084 #if !defined(__cpp_lib_flat_map) 2085 # if (__cplusplus >= 202100L) 2086 # define __glibcxx_flat_map 202207L 2087 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_flat_map) 2088 # define __cpp_lib_flat_map 202207L 2092 #undef __glibcxx_want_flat_map 2094 #if !defined(__cpp_lib_flat_set) 2095 # if (__cplusplus >= 202100L) 2096 # define __glibcxx_flat_set 202207L 2097 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_flat_set) 2098 # define __cpp_lib_flat_set 202207L 2102 #undef __glibcxx_want_flat_set 2104 #if !defined(__cpp_lib_common_reference) 2105 # if (__cplusplus >= 202002L) 2106 # define __glibcxx_common_reference 202302L 2107 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_common_reference) 2108 # define __cpp_lib_common_reference 202302L 2112 #undef __glibcxx_want_common_reference 2114 #if !defined(__cpp_lib_common_reference_wrapper) 2115 # if (__cplusplus >= 202002L) 2116 # define __glibcxx_common_reference_wrapper 202302L 2117 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_common_reference_wrapper) 2118 # define __cpp_lib_common_reference_wrapper 202302L 2122 #undef __glibcxx_want_common_reference_wrapper 2124 #if !defined(__cpp_lib_formatters) 2125 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2126 # define __glibcxx_formatters 202302L 2127 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_formatters) 2128 # define __cpp_lib_formatters 202302L 2132 #undef __glibcxx_want_formatters 2134 #if !defined(__cpp_lib_forward_like) 2135 # if (__cplusplus >= 202100L) 2136 # define __glibcxx_forward_like 202207L 2137 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_forward_like) 2138 # define __cpp_lib_forward_like 202207L 2142 #undef __glibcxx_want_forward_like 2144 #if !defined(__cpp_lib_generator) 2145 # if (__cplusplus >= 202100L) && (__glibcxx_coroutine && __cpp_sized_deallocation) 2146 # define __glibcxx_generator 202207L 2147 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generator) 2148 # define __cpp_lib_generator 202207L 2152 #undef __glibcxx_want_generator 2154 #if !defined(__cpp_lib_ios_noreplace) 2155 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2156 # define __glibcxx_ios_noreplace 202207L 2157 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ios_noreplace) 2158 # define __cpp_lib_ios_noreplace 202207L 2162 #undef __glibcxx_want_ios_noreplace 2164 #if !defined(__cpp_lib_move_only_function) 2165 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2166 # define __glibcxx_move_only_function 202110L 2167 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_only_function) 2168 # define __cpp_lib_move_only_function 202110L 2172 #undef __glibcxx_want_move_only_function 2174 #if !defined(__cpp_lib_copyable_function) 2175 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2176 # define __glibcxx_copyable_function 202306L 2177 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_copyable_function) 2178 # define __cpp_lib_copyable_function 202306L 2182 #undef __glibcxx_want_copyable_function 2184 #if !defined(__cpp_lib_function_ref) 2185 # if (__cplusplus > 202302L) 2186 # define __glibcxx_function_ref 202306L 2187 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_function_ref) 2188 # define __cpp_lib_function_ref 202306L 2192 #undef __glibcxx_want_function_ref 2194 #if !defined(__cpp_lib_out_ptr) 2195 # if (__cplusplus >= 202100L) 2196 # define __glibcxx_out_ptr 202311L 2197 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_out_ptr) 2198 # define __cpp_lib_out_ptr 202311L 2202 #undef __glibcxx_want_out_ptr 2204 #if !defined(__cpp_lib_print) 2205 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2206 # define __glibcxx_print 202406L 2207 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_print) 2208 # define __cpp_lib_print 202406L 2212 #undef __glibcxx_want_print 2214 #if !defined(__cpp_lib_spanstream) 2215 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__glibcxx_span) 2216 # define __glibcxx_spanstream 202106L 2217 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_spanstream) 2218 # define __cpp_lib_spanstream 202106L 2222 #undef __glibcxx_want_spanstream 2224 #if !defined(__cpp_lib_stacktrace) 2225 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_STACKTRACE) 2226 # define __glibcxx_stacktrace 202011L 2227 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stacktrace) 2228 # define __cpp_lib_stacktrace 202011L 2232 #undef __glibcxx_want_stacktrace 2234 #if !defined(__cpp_lib_start_lifetime_as) 2235 # if (__cplusplus >= 202100L) 2236 # define __glibcxx_start_lifetime_as 202207L 2237 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_start_lifetime_as) 2238 # define __cpp_lib_start_lifetime_as 202207L 2242 #undef __glibcxx_want_start_lifetime_as 2244 #if !defined(__cpp_lib_string_contains) 2245 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2246 # define __glibcxx_string_contains 202011L 2247 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_contains) 2248 # define __cpp_lib_string_contains 202011L 2252 #undef __glibcxx_want_string_contains 2254 #if !defined(__cpp_lib_string_resize_and_overwrite) 2255 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2256 # define __glibcxx_string_resize_and_overwrite 202110L 2257 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_resize_and_overwrite) 2258 # define __cpp_lib_string_resize_and_overwrite 202110L 2262 #undef __glibcxx_want_string_resize_and_overwrite 2264 #if !defined(__cpp_lib_string_subview) 2265 # if (__cplusplus > 202302L) 2266 # define __glibcxx_string_subview 202506L 2267 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_subview) 2268 # define __cpp_lib_string_subview 202506L 2272 #undef __glibcxx_want_string_subview 2274 #if !defined(__cpp_lib_to_underlying) 2275 # if (__cplusplus >= 202100L) 2276 # define __glibcxx_to_underlying 202102L 2277 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_underlying) 2278 # define __cpp_lib_to_underlying 202102L 2282 #undef __glibcxx_want_to_underlying 2284 #if !defined(__cpp_lib_tuple_like) 2285 # if (__cplusplus > 202302L) && (__cpp_explicit_this_parameter >= 202110L) 2286 # define __glibcxx_tuple_like 202311L 2287 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like) 2288 # define __cpp_lib_tuple_like 202311L 2290 # elif (__cplusplus >= 202100L) 2291 # define __glibcxx_tuple_like 202207L 2292 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like) 2293 # define __cpp_lib_tuple_like 202207L 2297 #undef __glibcxx_want_tuple_like 2299 #if !defined(__cpp_lib_unreachable) 2300 # if (__cplusplus >= 202100L) 2301 # define __glibcxx_unreachable 202202L 2302 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unreachable) 2303 # define __cpp_lib_unreachable 202202L 2307 #undef __glibcxx_want_unreachable 2309 #if !defined(__cpp_lib_observable_checkpoint) 2310 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_observable_checkpoint)) 2311 # define __glibcxx_observable_checkpoint 202506L 2312 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_observable_checkpoint) 2313 # define __cpp_lib_observable_checkpoint 202506L 2317 #undef __glibcxx_want_observable_checkpoint 2319 #if !defined(__cpp_lib_algorithm_iterator_requirements) 2320 # if (__cplusplus >= 202002L) 2321 # define __glibcxx_algorithm_iterator_requirements 202207L 2322 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_algorithm_iterator_requirements) 2323 # define __cpp_lib_algorithm_iterator_requirements 202207L 2327 #undef __glibcxx_want_algorithm_iterator_requirements 2329 #if !defined(__cpp_lib_algorithm_default_value_type) 2330 # if (__cplusplus > 202302L) 2331 # define __glibcxx_algorithm_default_value_type 202403L 2332 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_algorithm_default_value_type) 2333 # define __cpp_lib_algorithm_default_value_type 202403L 2337 #undef __glibcxx_want_algorithm_default_value_type 2339 #if !defined(__cpp_lib_constexpr_new) 2340 # if (__cplusplus > 202302L) && (__cpp_constexpr >= 202406L) 2341 # define __glibcxx_constexpr_new 202406L 2342 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_new) 2343 # define __cpp_lib_constexpr_new 202406L 2347 #undef __glibcxx_want_constexpr_new 2349 #if !defined(__cpp_lib_debugging) 2350 # if (__cplusplus > 202302L) 2351 # define __glibcxx_debugging 202403L 2352 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_debugging) 2353 # define __cpp_lib_debugging 202403L 2357 #undef __glibcxx_want_debugging 2359 #if !defined(__cpp_lib_fstream_native_handle) 2360 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2361 # define __glibcxx_fstream_native_handle 202306L 2362 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_fstream_native_handle) 2363 # define __cpp_lib_fstream_native_handle 202306L 2367 #undef __glibcxx_want_fstream_native_handle 2369 #if !defined(__cpp_lib_is_virtual_base_of) 2370 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_is_virtual_base_of)) 2371 # define __glibcxx_is_virtual_base_of 202406L 2372 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_virtual_base_of) 2373 # define __cpp_lib_is_virtual_base_of 202406L 2377 #undef __glibcxx_want_is_virtual_base_of 2379 #if !defined(__cpp_lib_ranges_cache_latest) 2380 # if (__cplusplus > 202302L) 2381 # define __glibcxx_ranges_cache_latest 202411L 2382 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_cache_latest) 2383 # define __cpp_lib_ranges_cache_latest 202411L 2387 #undef __glibcxx_want_ranges_cache_latest 2389 #if !defined(__cpp_lib_ranges_concat) 2390 # if (__cplusplus > 202302L) && (__cpp_pack_indexing) 2391 # define __glibcxx_ranges_concat 202403L 2392 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_concat) 2393 # define __cpp_lib_ranges_concat 202403L 2397 #undef __glibcxx_want_ranges_concat 2399 #if !defined(__cpp_lib_ratio) 2400 # if (__cplusplus > 202302L) 2401 # define __glibcxx_ratio 202306L 2402 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ratio) 2403 # define __cpp_lib_ratio 202306L 2407 #undef __glibcxx_want_ratio 2409 #if !defined(__cpp_lib_reference_wrapper) 2410 # if (__cplusplus > 202302L) 2411 # define __glibcxx_reference_wrapper 202403L 2412 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_wrapper) 2413 # define __cpp_lib_reference_wrapper 202403L 2417 #undef __glibcxx_want_reference_wrapper 2419 #if !defined(__cpp_lib_saturation_arithmetic) 2420 # if (__cplusplus > 202302L) 2421 # define __glibcxx_saturation_arithmetic 202311L 2422 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_saturation_arithmetic) 2423 # define __cpp_lib_saturation_arithmetic 202311L 2427 #undef __glibcxx_want_saturation_arithmetic 2429 #if !defined(__cpp_lib_span_initializer_list) 2430 # if (__cplusplus > 202302L) 2431 # define __glibcxx_span_initializer_list 202311L 2432 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span_initializer_list) 2433 # define __cpp_lib_span_initializer_list 202311L 2437 #undef __glibcxx_want_span_initializer_list 2439 #if !defined(__cpp_lib_text_encoding) 2440 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (_GLIBCXX_USE_NL_LANGINFO_L) 2441 # define __glibcxx_text_encoding 202306L 2442 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_text_encoding) 2443 # define __cpp_lib_text_encoding 202306L 2447 #undef __glibcxx_want_text_encoding 2449 #if !defined(__cpp_lib_ranges_to_input) 2450 # if (__cplusplus > 202302L) 2451 # define __glibcxx_ranges_to_input 202502L 2452 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_to_input) 2453 # define __cpp_lib_ranges_to_input 202502L 2457 #undef __glibcxx_want_ranges_to_input 2459 #if !defined(__cpp_lib_to_string) 2460 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (__glibcxx_to_chars) 2461 # define __glibcxx_to_string 202306L 2462 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_string) 2463 # define __cpp_lib_to_string 202306L 2467 #undef __glibcxx_want_to_string 2469 #if !defined(__cpp_lib_modules) 2470 # if (__cplusplus >= 202002L) && (__cpp_modules) 2471 # define __glibcxx_modules 202207L 2472 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_modules) 2473 # define __cpp_lib_modules 202207L 2477 #undef __glibcxx_want_modules 2479 #if !defined(__cpp_lib_inplace_vector) 2480 # if (__cplusplus > 202302L) 2481 # define __glibcxx_inplace_vector 202406L 2482 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_inplace_vector) 2483 # define __cpp_lib_inplace_vector 202406L 2487 #undef __glibcxx_want_inplace_vector 2489 #if !defined(__cpp_lib_indirect) 2490 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2491 # define __glibcxx_indirect 202502L 2492 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_indirect) 2493 # define __cpp_lib_indirect 202502L 2497 #undef __glibcxx_want_indirect 2499 #if !defined(__cpp_lib_polymorphic) 2500 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2501 # define __glibcxx_polymorphic 202502L 2502 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_polymorphic) 2503 # define __cpp_lib_polymorphic 202502L 2507 #undef __glibcxx_want_polymorphic 2509 #if !defined(__cpp_lib_smart_ptr_owner_equality) 2510 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2511 # define __glibcxx_smart_ptr_owner_equality 202306L 2512 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_smart_ptr_owner_equality) 2513 # define __cpp_lib_smart_ptr_owner_equality 202306L 2517 #undef __glibcxx_want_smart_ptr_owner_equality 2519 #if !defined(__cpp_lib_sstream_from_string_view) 2520 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2521 # define __glibcxx_sstream_from_string_view 202306L 2522 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_sstream_from_string_view) 2523 # define __cpp_lib_sstream_from_string_view 202306L 2527 #undef __glibcxx_want_sstream_from_string_view 2529 #if !defined(__cpp_lib_type_order) 2530 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_type_order) && __cpp_lib_three_way_comparison >= 201907L) 2531 # define __glibcxx_type_order 202506L 2532 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_order) 2533 # define __cpp_lib_type_order 202506L 2537 #undef __glibcxx_want_type_order 2539 #if !defined(__cpp_lib_exception_ptr_cast) 2540 # if (__cplusplus > 202302L) 2541 # define __glibcxx_exception_ptr_cast 202506L 2542 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_exception_ptr_cast) 2543 # define __cpp_lib_exception_ptr_cast 202506L 2547 #undef __glibcxx_want_exception_ptr_cast 2549 #if !defined(__cpp_lib_bitset) 2550 # if (__cplusplus > 202302L) 2551 # define __glibcxx_bitset 202306L 2552 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bitset) 2553 # define __cpp_lib_bitset 202306L 2557 #undef __glibcxx_want_bitset 2559 #if !defined(__cpp_lib_constexpr_exceptions) 2560 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && (__cpp_constexpr_exceptions >= 202411L) 2561 # define __glibcxx_constexpr_exceptions 202502L 2562 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_exceptions) 2563 # define __cpp_lib_constexpr_exceptions 202502L 2567 #undef __glibcxx_want_constexpr_exceptions 2569 #if !defined(__cpp_lib_philox_engine) 2570 # if (__cplusplus > 202302L) 2571 # define __glibcxx_philox_engine 202406L 2572 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_philox_engine) 2573 # define __cpp_lib_philox_engine 202406L 2577 #undef __glibcxx_want_philox_engine 2579 #if !defined(__cpp_lib_reflection) 2580 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && (__cpp_impl_reflection >= 202506L) 2581 # define __glibcxx_reflection 202506L 2582 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reflection) 2583 # define __cpp_lib_reflection 202506L 2587 #undef __glibcxx_want_reflection 2589 #if !defined(__cpp_lib_define_static) 2590 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && (__cpp_impl_reflection >= 202506L) 2591 # define __glibcxx_define_static 202506L 2592 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_define_static) 2593 # define __cpp_lib_define_static 202506L 2597 #undef __glibcxx_want_define_static 2599 #if !defined(__cpp_lib_is_implicit_lifetime) 2600 # if (__cplusplus >= 202100L) && (__has_builtin(__builtin_is_implicit_lifetime)) 2601 # define __glibcxx_is_implicit_lifetime 202302L 2602 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_implicit_lifetime) 2603 # define __cpp_lib_is_implicit_lifetime 202302L 2607 #undef __glibcxx_want_is_implicit_lifetime 2609 #if !defined(__cpp_lib_contracts) 2610 # if (__cplusplus > 202302L) && (__cpp_contracts >= 202502L) 2611 # define __glibcxx_contracts 202502L 2612 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_contracts) 2613 # define __cpp_lib_contracts 202502L 2617 #undef __glibcxx_want_contracts 2619 #undef __glibcxx_want_all