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 > 202302L) && (__cpp_pack_indexing) 190 # define __glibcxx_integer_sequence 202511L 191 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_sequence) 192 # define __cpp_lib_integer_sequence 202511L 194 # elif (__cplusplus >= 201402L) 195 # define __glibcxx_integer_sequence 201304L 196 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_sequence) 197 # define __cpp_lib_integer_sequence 201304L 201 #undef __glibcxx_want_integer_sequence 203 #if !defined(__cpp_lib_integral_constant_callable) 204 # if (__cplusplus >= 201402L) 205 # define __glibcxx_integral_constant_callable 201304L 206 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integral_constant_callable) 207 # define __cpp_lib_integral_constant_callable 201304L 211 #undef __glibcxx_want_integral_constant_callable 213 #if !defined(__cpp_lib_is_final) 214 # if (__cplusplus >= 201402L) 215 # define __glibcxx_is_final 201402L 216 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_final) 217 # define __cpp_lib_is_final 201402L 221 #undef __glibcxx_want_is_final 223 #if !defined(__cpp_lib_make_reverse_iterator) 224 # if (__cplusplus >= 201402L) 225 # define __glibcxx_make_reverse_iterator 201402L 226 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_reverse_iterator) 227 # define __cpp_lib_make_reverse_iterator 201402L 231 #undef __glibcxx_want_make_reverse_iterator 233 #if !defined(__cpp_lib_null_iterators) 234 # if (__cplusplus >= 201402L) 235 # define __glibcxx_null_iterators 201304L 236 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_null_iterators) 237 # define __cpp_lib_null_iterators 201304L 241 #undef __glibcxx_want_null_iterators 243 #if !defined(__cpp_lib_transformation_trait_aliases) 244 # if (__cplusplus >= 201402L) 245 # define __glibcxx_transformation_trait_aliases 201304L 246 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transformation_trait_aliases) 247 # define __cpp_lib_transformation_trait_aliases 201304L 251 #undef __glibcxx_want_transformation_trait_aliases 253 #if !defined(__cpp_lib_transparent_operators) 254 # if (__cplusplus >= 201402L) 255 # define __glibcxx_transparent_operators 201510L 256 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transparent_operators) 257 # define __cpp_lib_transparent_operators 201510L 261 #undef __glibcxx_want_transparent_operators 263 #if !defined(__cpp_lib_tuple_element_t) 264 # if (__cplusplus >= 201402L) 265 # define __glibcxx_tuple_element_t 201402L 266 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_element_t) 267 # define __cpp_lib_tuple_element_t 201402L 271 #undef __glibcxx_want_tuple_element_t 273 #if !defined(__cpp_lib_tuples_by_type) 274 # if (__cplusplus >= 201402L) 275 # define __glibcxx_tuples_by_type 201304L 276 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuples_by_type) 277 # define __cpp_lib_tuples_by_type 201304L 281 #undef __glibcxx_want_tuples_by_type 283 #if !defined(__cpp_lib_robust_nonmodifying_seq_ops) 284 # if (__cplusplus >= 201402L) 285 # define __glibcxx_robust_nonmodifying_seq_ops 201304L 286 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_robust_nonmodifying_seq_ops) 287 # define __cpp_lib_robust_nonmodifying_seq_ops 201304L 291 #undef __glibcxx_want_robust_nonmodifying_seq_ops 293 #if !defined(__cpp_lib_to_chars) 294 # if (__cplusplus > 202302L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 295 # define __glibcxx_to_chars 202306L 296 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 297 # define __cpp_lib_to_chars 202306L 299 # elif (__cplusplus >= 201402L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 300 # define __glibcxx_to_chars 201611L 301 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 302 # define __cpp_lib_to_chars 201611L 306 #undef __glibcxx_want_to_chars 308 #if !defined(__cpp_lib_chrono_udls) 309 # if (__cplusplus >= 201402L) 310 # define __glibcxx_chrono_udls 201304L 311 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_udls) 312 # define __cpp_lib_chrono_udls 201304L 316 #undef __glibcxx_want_chrono_udls 318 #if !defined(__cpp_lib_complex_udls) 319 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 320 # define __glibcxx_complex_udls 201309L 321 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_complex_udls) 322 # define __cpp_lib_complex_udls 201309L 326 #undef __glibcxx_want_complex_udls 328 #if !defined(__cpp_lib_generic_associative_lookup) 329 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 330 # define __glibcxx_generic_associative_lookup 201304L 331 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_associative_lookup) 332 # define __cpp_lib_generic_associative_lookup 201304L 336 #undef __glibcxx_want_generic_associative_lookup 338 #if !defined(__cpp_lib_make_unique) 339 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 340 # define __glibcxx_make_unique 201304L 341 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_unique) 342 # define __cpp_lib_make_unique 201304L 346 #undef __glibcxx_want_make_unique 348 #if !defined(__cpp_lib_quoted_string_io) 349 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 350 # define __glibcxx_quoted_string_io 201304L 351 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_quoted_string_io) 352 # define __cpp_lib_quoted_string_io 201304L 356 #undef __glibcxx_want_quoted_string_io 358 #if !defined(__cpp_lib_shared_timed_mutex) 359 # if (__cplusplus >= 201402L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 360 # define __glibcxx_shared_timed_mutex 201402L 361 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_timed_mutex) 362 # define __cpp_lib_shared_timed_mutex 201402L 366 #undef __glibcxx_want_shared_timed_mutex 368 #if !defined(__cpp_lib_string_udls) 369 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 370 # define __glibcxx_string_udls 201304L 371 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_udls) 372 # define __cpp_lib_string_udls 201304L 376 #undef __glibcxx_want_string_udls 378 #if !defined(__cpp_lib_addressof_constexpr) 379 # if (__cplusplus >= 201703L) 380 # define __glibcxx_addressof_constexpr 201603L 381 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_addressof_constexpr) 382 # define __cpp_lib_addressof_constexpr 201603L 386 #undef __glibcxx_want_addressof_constexpr 388 #if !defined(__cpp_lib_any) 389 # if (__cplusplus >= 201703L) 390 # define __glibcxx_any 201606L 391 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_any) 392 # define __cpp_lib_any 201606L 396 #undef __glibcxx_want_any 398 #if !defined(__cpp_lib_apply) 399 # if (__cplusplus >= 201703L) 400 # define __glibcxx_apply 201603L 401 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_apply) 402 # define __cpp_lib_apply 201603L 406 #undef __glibcxx_want_apply 408 #if !defined(__cpp_lib_as_const) 409 # if (__cplusplus >= 201703L) 410 # define __glibcxx_as_const 201510L 411 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_as_const) 412 # define __cpp_lib_as_const 201510L 416 #undef __glibcxx_want_as_const 418 #if !defined(__cpp_lib_atomic_is_always_lock_free) 419 # if (__cplusplus >= 201703L) 420 # define __glibcxx_atomic_is_always_lock_free 201603L 421 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_is_always_lock_free) 422 # define __cpp_lib_atomic_is_always_lock_free 201603L 426 #undef __glibcxx_want_atomic_is_always_lock_free 428 #if !defined(__cpp_lib_bool_constant) 429 # if (__cplusplus >= 201703L) 430 # define __glibcxx_bool_constant 201505L 431 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bool_constant) 432 # define __cpp_lib_bool_constant 201505L 436 #undef __glibcxx_want_bool_constant 438 #if !defined(__cpp_lib_byte) 439 # if (__cplusplus >= 201703L) 440 # define __glibcxx_byte 201603L 441 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byte) 442 # define __cpp_lib_byte 201603L 446 #undef __glibcxx_want_byte 448 #if !defined(__cpp_lib_constant_wrapper) 449 # if (__cplusplus > 202302L) 450 # define __glibcxx_constant_wrapper 202606L 451 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constant_wrapper) 452 # define __cpp_lib_constant_wrapper 202606L 456 #undef __glibcxx_want_constant_wrapper 458 #if !defined(__cpp_lib_has_unique_object_representations) 459 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP)) 460 # define __glibcxx_has_unique_object_representations 201606L 461 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_has_unique_object_representations) 462 # define __cpp_lib_has_unique_object_representations 201606L 466 #undef __glibcxx_want_has_unique_object_representations 468 #if !defined(__cpp_lib_hardware_interference_size) 469 # if (__cplusplus >= 201703L) && (defined(__GCC_DESTRUCTIVE_SIZE)) 470 # define __glibcxx_hardware_interference_size 201703L 471 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hardware_interference_size) 472 # define __cpp_lib_hardware_interference_size 201703L 476 #undef __glibcxx_want_hardware_interference_size 478 #if !defined(__cpp_lib_invoke) 479 # if (__cplusplus >= 201703L) 480 # define __glibcxx_invoke 201411L 481 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke) 482 # define __cpp_lib_invoke 201411L 486 #undef __glibcxx_want_invoke 488 #if !defined(__cpp_lib_is_aggregate) 489 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE)) 490 # define __glibcxx_is_aggregate 201703L 491 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_aggregate) 492 # define __cpp_lib_is_aggregate 201703L 496 #undef __glibcxx_want_is_aggregate 498 #if !defined(__cpp_lib_is_invocable) 499 # if (__cplusplus >= 201703L) 500 # define __glibcxx_is_invocable 201703L 501 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_invocable) 502 # define __cpp_lib_is_invocable 201703L 506 #undef __glibcxx_want_is_invocable 508 #if !defined(__cpp_lib_launder) 509 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_LAUNDER)) 510 # define __glibcxx_launder 201606L 511 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_launder) 512 # define __cpp_lib_launder 201606L 516 #undef __glibcxx_want_launder 518 #if !defined(__cpp_lib_logical_traits) 519 # if (__cplusplus >= 201703L) 520 # define __glibcxx_logical_traits 201510L 521 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_logical_traits) 522 # define __cpp_lib_logical_traits 201510L 526 #undef __glibcxx_want_logical_traits 528 #if !defined(__cpp_lib_make_from_tuple) 529 # if (__cplusplus >= 201703L) 530 # define __glibcxx_make_from_tuple 201606L 531 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_from_tuple) 532 # define __cpp_lib_make_from_tuple 201606L 536 #undef __glibcxx_want_make_from_tuple 538 #if !defined(__cpp_lib_not_fn) 539 # if (__cplusplus > 202302L) 540 # define __glibcxx_not_fn 202306L 541 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_not_fn) 542 # define __cpp_lib_not_fn 202306L 544 # elif (__cplusplus >= 201703L) 545 # define __glibcxx_not_fn 201603L 546 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_not_fn) 547 # define __cpp_lib_not_fn 201603L 551 #undef __glibcxx_want_not_fn 553 #if !defined(__cpp_lib_type_trait_variable_templates) 554 # if (__cplusplus >= 201703L) 555 # define __glibcxx_type_trait_variable_templates 201510L 556 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_trait_variable_templates) 557 # define __cpp_lib_type_trait_variable_templates 201510L 561 #undef __glibcxx_want_type_trait_variable_templates 563 #if !defined(__cpp_lib_variant) 564 # if (__cplusplus > 202302L) && (__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L && __cpp_explicit_this_parameter) 565 # define __glibcxx_variant 202306L 566 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 567 # define __cpp_lib_variant 202306L 569 # elif (__cplusplus >= 202002L) && (__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L) 570 # define __glibcxx_variant 202106L 571 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 572 # define __cpp_lib_variant 202106L 574 # elif (__cplusplus >= 201703L) 575 # define __glibcxx_variant 202102L 576 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 577 # define __cpp_lib_variant 202102L 581 #undef __glibcxx_want_variant 583 #if !defined(__cpp_lib_lcm) 584 # if (__cplusplus >= 201703L) 585 # define __glibcxx_lcm 201606L 586 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_lcm) 587 # define __cpp_lib_lcm 201606L 591 #undef __glibcxx_want_lcm 593 #if !defined(__cpp_lib_gcd) 594 # if (__cplusplus >= 201703L) 595 # define __glibcxx_gcd 201606L 596 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd) 597 # define __cpp_lib_gcd 201606L 601 #undef __glibcxx_want_gcd 603 #if !defined(__cpp_lib_gcd_lcm) 604 # if (__cplusplus >= 201703L) 605 # define __glibcxx_gcd_lcm 201606L 606 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd_lcm) 607 # define __cpp_lib_gcd_lcm 201606L 611 #undef __glibcxx_want_gcd_lcm 613 #if !defined(__cpp_lib_raw_memory_algorithms) 614 # if (__cplusplus > 202302L) && (__cpp_constexpr >= 202406L) 615 # define __glibcxx_raw_memory_algorithms 202411L 616 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_raw_memory_algorithms) 617 # define __cpp_lib_raw_memory_algorithms 202411L 619 # elif (__cplusplus >= 201703L) 620 # define __glibcxx_raw_memory_algorithms 201606L 621 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_raw_memory_algorithms) 622 # define __cpp_lib_raw_memory_algorithms 201606L 626 #undef __glibcxx_want_raw_memory_algorithms 628 #if !defined(__cpp_lib_array_constexpr) 629 # if (__cplusplus >= 202002L) 630 # define __glibcxx_array_constexpr 201811L 631 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 632 # define __cpp_lib_array_constexpr 201811L 634 # elif (__cplusplus >= 201703L) 635 # define __glibcxx_array_constexpr 201803L 636 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 637 # define __cpp_lib_array_constexpr 201803L 641 #undef __glibcxx_want_array_constexpr 643 #if !defined(__cpp_lib_nonmember_container_access) 644 # if (__cplusplus >= 201703L) 645 # define __glibcxx_nonmember_container_access 201411L 646 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_nonmember_container_access) 647 # define __cpp_lib_nonmember_container_access 201411L 651 #undef __glibcxx_want_nonmember_container_access 653 #if !defined(__cpp_lib_clamp) 654 # if (__cplusplus >= 201703L) 655 # define __glibcxx_clamp 201603L 656 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_clamp) 657 # define __cpp_lib_clamp 201603L 661 #undef __glibcxx_want_clamp 663 #if !defined(__cpp_lib_sample) 664 # if (__cplusplus >= 201703L) 665 # define __glibcxx_sample 201603L 666 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_sample) 667 # define __cpp_lib_sample 201603L 671 #undef __glibcxx_want_sample 673 #if !defined(__cpp_lib_boyer_moore_searcher) 674 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 675 # define __glibcxx_boyer_moore_searcher 201603L 676 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_boyer_moore_searcher) 677 # define __cpp_lib_boyer_moore_searcher 201603L 681 #undef __glibcxx_want_boyer_moore_searcher 683 #if !defined(__cpp_lib_chrono) 684 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 685 # define __glibcxx_chrono 202306L 686 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 687 # define __cpp_lib_chrono 202306L 689 # elif (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 690 # define __glibcxx_chrono 201907L 691 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 692 # define __cpp_lib_chrono 201907L 694 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 695 # define __glibcxx_chrono 201611L 696 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 697 # define __cpp_lib_chrono 201611L 701 #undef __glibcxx_want_chrono 703 #if !defined(__cpp_lib_chrono_cxx20) 704 # if (__cplusplus > 202302L) 705 # define __glibcxx_chrono_cxx20 202306L 706 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_cxx20) 708 # elif (__cplusplus >= 202002L) 709 # define __glibcxx_chrono_cxx20 201800L 710 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_cxx20) 714 #undef __glibcxx_want_chrono_cxx20 716 #if !defined(__cpp_lib_execution) 717 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 718 # define __glibcxx_execution 201902L 719 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_execution) 720 # define __cpp_lib_execution 201902L 724 #undef __glibcxx_want_execution 726 #if !defined(__cpp_lib_filesystem) 727 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 728 # define __glibcxx_filesystem 201703L 729 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_filesystem) 730 # define __cpp_lib_filesystem 201703L 734 #undef __glibcxx_want_filesystem 736 #if !defined(__cpp_lib_hypot) 737 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 738 # define __glibcxx_hypot 201603L 739 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hypot) 740 # define __cpp_lib_hypot 201603L 744 #undef __glibcxx_want_hypot 746 #if !defined(__cpp_lib_map_try_emplace) 747 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 748 # define __glibcxx_map_try_emplace 201411L 749 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_map_try_emplace) 750 # define __cpp_lib_map_try_emplace 201411L 754 #undef __glibcxx_want_map_try_emplace 756 #if !defined(__cpp_lib_math_special_functions) 757 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 758 # define __glibcxx_math_special_functions 201603L 759 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_special_functions) 760 # define __cpp_lib_math_special_functions 201603L 764 #undef __glibcxx_want_math_special_functions 766 #if !defined(__cpp_lib_memory_resource) 767 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 768 # define __glibcxx_memory_resource 201603L 769 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 770 # define __cpp_lib_memory_resource 201603L 772 # elif (__cplusplus >= 201703L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 773 # define __glibcxx_memory_resource 1L 774 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 775 # define __cpp_lib_memory_resource 1L 779 #undef __glibcxx_want_memory_resource 781 #if !defined(__cpp_lib_node_extract) 782 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 783 # define __glibcxx_node_extract 201606L 784 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_node_extract) 785 # define __cpp_lib_node_extract 201606L 789 #undef __glibcxx_want_node_extract 791 #if !defined(__cpp_lib_parallel_algorithm) 792 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 793 # define __glibcxx_parallel_algorithm 201603L 794 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_parallel_algorithm) 795 # define __cpp_lib_parallel_algorithm 201603L 799 #undef __glibcxx_want_parallel_algorithm 801 #if !defined(__cpp_lib_scoped_lock) 802 # if (__cplusplus >= 201703L) 803 # define __glibcxx_scoped_lock 201703L 804 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_scoped_lock) 805 # define __cpp_lib_scoped_lock 201703L 809 #undef __glibcxx_want_scoped_lock 811 #if !defined(__cpp_lib_shared_mutex) 812 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 813 # define __glibcxx_shared_mutex 201505L 814 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_mutex) 815 # define __cpp_lib_shared_mutex 201505L 819 #undef __glibcxx_want_shared_mutex 821 #if !defined(__cpp_lib_shared_ptr_weak_type) 822 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 823 # define __glibcxx_shared_ptr_weak_type 201606L 824 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_weak_type) 825 # define __cpp_lib_shared_ptr_weak_type 201606L 829 #undef __glibcxx_want_shared_ptr_weak_type 831 #if !defined(__cpp_lib_string_view) 832 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 833 # define __glibcxx_string_view 202403L 834 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_view) 835 # define __cpp_lib_string_view 202403L 837 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 838 # define __glibcxx_string_view 201803L 839 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_view) 840 # define __cpp_lib_string_view 201803L 844 #undef __glibcxx_want_string_view 846 #if !defined(__cpp_lib_unordered_map_try_emplace) 847 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 848 # define __glibcxx_unordered_map_try_emplace 201411L 849 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unordered_map_try_emplace) 850 # define __cpp_lib_unordered_map_try_emplace 201411L 854 #undef __glibcxx_want_unordered_map_try_emplace 856 #if !defined(__cpp_lib_assume_aligned) 857 # if (__cplusplus >= 202002L) 858 # define __glibcxx_assume_aligned 201811L 859 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_assume_aligned) 860 # define __cpp_lib_assume_aligned 201811L 864 #undef __glibcxx_want_assume_aligned 866 #if !defined(__cpp_lib_is_sufficiently_aligned) 867 # if (__cplusplus > 202302L) 868 # define __glibcxx_is_sufficiently_aligned 202411L 869 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_sufficiently_aligned) 870 # define __cpp_lib_is_sufficiently_aligned 202411L 874 #undef __glibcxx_want_is_sufficiently_aligned 876 #if !defined(__cpp_lib_atomic_flag_test) 877 # if (__cplusplus >= 202002L) 878 # define __glibcxx_atomic_flag_test 201907L 879 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_flag_test) 880 # define __cpp_lib_atomic_flag_test 201907L 884 #undef __glibcxx_want_atomic_flag_test 886 #if !defined(__cpp_lib_atomic_float) 887 # if (__cplusplus >= 202002L) 888 # define __glibcxx_atomic_float 201711L 889 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_float) 890 # define __cpp_lib_atomic_float 201711L 894 #undef __glibcxx_want_atomic_float 896 #if !defined(__cpp_lib_atomic_min_max) 897 # if (__cplusplus > 202302L) 898 # define __glibcxx_atomic_min_max 202403L 899 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_min_max) 900 # define __cpp_lib_atomic_min_max 202403L 904 #undef __glibcxx_want_atomic_min_max 906 #if !defined(__cpp_lib_atomic_lock_free_type_aliases) 907 # if (__cplusplus >= 202002L) && ((__GCC_ATOMIC_INT_LOCK_FREE | __GCC_ATOMIC_LONG_LOCK_FREE | __GCC_ATOMIC_CHAR_LOCK_FREE) & 2) 908 # define __glibcxx_atomic_lock_free_type_aliases 201907L 909 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_lock_free_type_aliases) 910 # define __cpp_lib_atomic_lock_free_type_aliases 201907L 914 #undef __glibcxx_want_atomic_lock_free_type_aliases 916 #if !defined(__cpp_lib_atomic_ref) 917 # if (__cplusplus > 202302L) 918 # define __glibcxx_atomic_ref 202603L 919 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_ref) 920 # define __cpp_lib_atomic_ref 202603L 922 # elif (__cplusplus >= 202002L) 923 # define __glibcxx_atomic_ref 201806L 924 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_ref) 925 # define __cpp_lib_atomic_ref 201806L 929 #undef __glibcxx_want_atomic_ref 931 #if !defined(__cpp_lib_atomic_value_initialization) 932 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 201907L) 933 # define __glibcxx_atomic_value_initialization 201911L 934 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_value_initialization) 935 # define __cpp_lib_atomic_value_initialization 201911L 939 #undef __glibcxx_want_atomic_value_initialization 941 #if !defined(__cpp_lib_bind_front) 942 # if (__cplusplus > 202302L) 943 # define __glibcxx_bind_front 202306L 944 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_front) 945 # define __cpp_lib_bind_front 202306L 947 # elif (__cplusplus >= 202002L) 948 # define __glibcxx_bind_front 201907L 949 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_front) 950 # define __cpp_lib_bind_front 201907L 954 #undef __glibcxx_want_bind_front 956 #if !defined(__cpp_lib_bind_back) 957 # if (__cplusplus > 202302L) 958 # define __glibcxx_bind_back 202306L 959 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_back) 960 # define __cpp_lib_bind_back 202306L 962 # elif (__cplusplus >= 202100L) && (__cpp_explicit_this_parameter) 963 # define __glibcxx_bind_back 202202L 964 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_back) 965 # define __cpp_lib_bind_back 202202L 969 #undef __glibcxx_want_bind_back 971 #if !defined(__cpp_lib_starts_ends_with) 972 # if (__cplusplus >= 202002L) 973 # define __glibcxx_starts_ends_with 201711L 974 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_starts_ends_with) 975 # define __cpp_lib_starts_ends_with 201711L 979 #undef __glibcxx_want_starts_ends_with 981 #if !defined(__cpp_lib_bit_cast) 982 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_bit_cast)) 983 # define __glibcxx_bit_cast 201806L 984 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bit_cast) 985 # define __cpp_lib_bit_cast 201806L 989 #undef __glibcxx_want_bit_cast 991 #if !defined(__cpp_lib_bitops) 992 # if (__cplusplus >= 202002L) 993 # define __glibcxx_bitops 201907L 994 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bitops) 995 # define __cpp_lib_bitops 201907L 999 #undef __glibcxx_want_bitops 1001 #if !defined(__cpp_lib_bounded_array_traits) 1002 # if (__cplusplus >= 202002L) 1003 # define __glibcxx_bounded_array_traits 201902L 1004 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bounded_array_traits) 1005 # define __cpp_lib_bounded_array_traits 201902L 1009 #undef __glibcxx_want_bounded_array_traits 1011 #if !defined(__cpp_lib_concepts) 1012 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 201907L) 1013 # define __glibcxx_concepts 202207L 1014 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_concepts) 1015 # define __cpp_lib_concepts 202207L 1019 #undef __glibcxx_want_concepts 1021 #if !defined(__cpp_lib_optional) 1022 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1023 # define __glibcxx_optional 202506L 1024 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1025 # define __cpp_lib_optional 202506L 1027 # elif (__cplusplus >= 202100L) && (__glibcxx_concepts) 1028 # define __glibcxx_optional 202110L 1029 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1030 # define __cpp_lib_optional 202110L 1032 # elif (__cplusplus >= 202002L) 1033 # define __glibcxx_optional 202106L 1034 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1035 # define __cpp_lib_optional 202106L 1037 # elif (__cplusplus >= 201703L) 1038 # define __glibcxx_optional 201606L 1039 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 1040 # define __cpp_lib_optional 201606L 1044 #undef __glibcxx_want_optional 1046 #if !defined(__cpp_lib_optional_range_support) 1047 # if (__cplusplus > 202302L) 1048 # define __glibcxx_optional_range_support 202406L 1049 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional_range_support) 1050 # define __cpp_lib_optional_range_support 202406L 1054 #undef __glibcxx_want_optional_range_support 1056 #if !defined(__cpp_lib_destroying_delete) 1057 # if (__cplusplus >= 202002L) && (__cpp_impl_destroying_delete) 1058 # define __glibcxx_destroying_delete 201806L 1059 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_destroying_delete) 1060 # define __cpp_lib_destroying_delete 201806L 1064 #undef __glibcxx_want_destroying_delete 1066 #if !defined(__cpp_lib_constexpr_string_view) 1067 # if (__cplusplus >= 202002L) 1068 # define __glibcxx_constexpr_string_view 201811L 1069 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string_view) 1070 # define __cpp_lib_constexpr_string_view 201811L 1074 #undef __glibcxx_want_constexpr_string_view 1076 #if !defined(__cpp_lib_endian) 1077 # if (__cplusplus >= 202002L) 1078 # define __glibcxx_endian 201907L 1079 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_endian) 1080 # define __cpp_lib_endian 201907L 1084 #undef __glibcxx_want_endian 1086 #if !defined(__cpp_lib_int_pow2) 1087 # if (__cplusplus >= 202002L) 1088 # define __glibcxx_int_pow2 202002L 1089 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_int_pow2) 1090 # define __cpp_lib_int_pow2 202002L 1094 #undef __glibcxx_want_int_pow2 1096 #if !defined(__cpp_lib_integer_comparison_functions) 1097 # if (__cplusplus >= 202002L) 1098 # define __glibcxx_integer_comparison_functions 202002L 1099 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_comparison_functions) 1100 # define __cpp_lib_integer_comparison_functions 202002L 1104 #undef __glibcxx_want_integer_comparison_functions 1106 #if !defined(__cpp_lib_is_constant_evaluated) 1107 # if (__cplusplus >= 202002L) && (defined(_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED)) 1108 # define __glibcxx_is_constant_evaluated 201811L 1109 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_constant_evaluated) 1110 # define __cpp_lib_is_constant_evaluated 201811L 1114 #undef __glibcxx_want_is_constant_evaluated 1116 #if !defined(__cpp_lib_constexpr_char_traits) 1117 # if (__cplusplus >= 202002L) && (defined(__glibcxx_is_constant_evaluated)) 1118 # define __glibcxx_constexpr_char_traits 201811L 1119 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1120 # define __cpp_lib_constexpr_char_traits 201811L 1122 # elif (__cplusplus >= 201703L) && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1123 # define __glibcxx_constexpr_char_traits 201611L 1124 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1125 # define __cpp_lib_constexpr_char_traits 201611L 1129 #undef __glibcxx_want_constexpr_char_traits 1131 #if !defined(__cpp_lib_is_layout_compatible) 1132 # if (__cplusplus >= 202002L) && (__has_builtin(__is_layout_compatible) && __has_builtin(__builtin_is_corresponding_member)) 1133 # define __glibcxx_is_layout_compatible 201907L 1134 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_layout_compatible) 1135 # define __cpp_lib_is_layout_compatible 201907L 1139 #undef __glibcxx_want_is_layout_compatible 1141 #if !defined(__cpp_lib_is_nothrow_convertible) 1142 # if (__cplusplus >= 202002L) 1143 # define __glibcxx_is_nothrow_convertible 201806L 1144 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_nothrow_convertible) 1145 # define __cpp_lib_is_nothrow_convertible 201806L 1149 #undef __glibcxx_want_is_nothrow_convertible 1151 #if !defined(__cpp_lib_is_pointer_interconvertible) 1152 # if (__cplusplus >= 202002L) && (__has_builtin(__is_pointer_interconvertible_base_of) && __has_builtin(__builtin_is_pointer_interconvertible_with_class)) 1153 # define __glibcxx_is_pointer_interconvertible 201907L 1154 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_pointer_interconvertible) 1155 # define __cpp_lib_is_pointer_interconvertible 201907L 1159 #undef __glibcxx_want_is_pointer_interconvertible 1161 #if !defined(__cpp_lib_math_constants) 1162 # if (__cplusplus >= 202002L) 1163 # define __glibcxx_math_constants 201907L 1164 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_constants) 1165 # define __cpp_lib_math_constants 201907L 1169 #undef __glibcxx_want_math_constants 1171 #if !defined(__cpp_lib_make_obj_using_allocator) 1172 # if (__cplusplus >= 202002L) && (__cpp_concepts) 1173 # define __glibcxx_make_obj_using_allocator 201811L 1174 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_obj_using_allocator) 1178 #undef __glibcxx_want_make_obj_using_allocator 1180 #if !defined(__cpp_lib_remove_cvref) 1181 # if (__cplusplus >= 202002L) 1182 # define __glibcxx_remove_cvref 201711L 1183 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_remove_cvref) 1184 # define __cpp_lib_remove_cvref 201711L 1188 #undef __glibcxx_want_remove_cvref 1190 #if !defined(__cpp_lib_source_location) 1191 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_source_location)) 1192 # define __glibcxx_source_location 201907L 1193 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_source_location) 1194 # define __cpp_lib_source_location 201907L 1198 #undef __glibcxx_want_source_location 1200 #if !defined(__cpp_lib_span) 1201 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1202 # define __glibcxx_span 202311L 1203 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1204 # define __cpp_lib_span 202311L 1206 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1207 # define __glibcxx_span 202002L 1208 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1209 # define __cpp_lib_span 202002L 1213 #undef __glibcxx_want_span 1215 #if !defined(__cpp_lib_mdspan) 1216 # if (__cplusplus > 202302L) 1217 # define __glibcxx_mdspan 202406L 1218 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_mdspan) 1219 # define __cpp_lib_mdspan 202406L 1221 # elif (__cplusplus >= 202100L) 1222 # define __glibcxx_mdspan 202207L 1223 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_mdspan) 1224 # define __cpp_lib_mdspan 202207L 1228 #undef __glibcxx_want_mdspan 1230 #if !defined(__cpp_lib_aligned_accessor) 1231 # if (__cplusplus > 202302L) && (__glibcxx_assume_aligned && __glibcxx_is_sufficiently_aligned) 1232 # define __glibcxx_aligned_accessor 202411L 1233 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_aligned_accessor) 1234 # define __cpp_lib_aligned_accessor 202411L 1238 #undef __glibcxx_want_aligned_accessor 1240 #if !defined(__cpp_lib_padded_layouts) 1241 # if (__cplusplus > 202302L) 1242 # define __glibcxx_padded_layouts 202403L 1243 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_padded_layouts) 1247 #undef __glibcxx_want_padded_layouts 1249 #if !defined(__cpp_lib_submdspan) 1250 # if (__cplusplus > 202302L) && (__glibcxx_constant_wrapper >= 202506L) 1251 # define __glibcxx_submdspan 202603L 1252 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_submdspan) 1253 # define __cpp_lib_submdspan 202603L 1257 #undef __glibcxx_want_submdspan 1259 #if !defined(__cpp_lib_ssize) 1260 # if (__cplusplus >= 202002L) 1261 # define __glibcxx_ssize 201902L 1262 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ssize) 1263 # define __cpp_lib_ssize 201902L 1267 #undef __glibcxx_want_ssize 1269 #if !defined(__cpp_lib_three_way_comparison) 1270 # if (__cplusplus >= 202002L) && (__cpp_impl_three_way_comparison >= 201907L && __glibcxx_concepts) 1271 # define __glibcxx_three_way_comparison 201907L 1272 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_three_way_comparison) 1273 # define __cpp_lib_three_way_comparison 201907L 1277 #undef __glibcxx_want_three_way_comparison 1279 #if !defined(__cpp_lib_to_address) 1280 # if (__cplusplus >= 202002L) 1281 # define __glibcxx_to_address 201711L 1282 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_address) 1283 # define __cpp_lib_to_address 201711L 1287 #undef __glibcxx_want_to_address 1289 #if !defined(__cpp_lib_to_array) 1290 # if (__cplusplus >= 202002L) && (__cpp_generic_lambdas >= 201707L) 1291 # define __glibcxx_to_array 201907L 1292 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_array) 1293 # define __cpp_lib_to_array 201907L 1297 #undef __glibcxx_want_to_array 1299 #if !defined(__cpp_lib_type_identity) 1300 # if (__cplusplus >= 202002L) 1301 # define __glibcxx_type_identity 201806L 1302 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_identity) 1303 # define __cpp_lib_type_identity 201806L 1307 #undef __glibcxx_want_type_identity 1309 #if !defined(__cpp_lib_unwrap_ref) 1310 # if (__cplusplus >= 202002L) 1311 # define __glibcxx_unwrap_ref 201811L 1312 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unwrap_ref) 1313 # define __cpp_lib_unwrap_ref 201811L 1317 #undef __glibcxx_want_unwrap_ref 1319 #if !defined(__cpp_lib_constexpr_iterator) 1320 # if (__cplusplus >= 202002L) 1321 # define __glibcxx_constexpr_iterator 201811L 1322 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_iterator) 1323 # define __cpp_lib_constexpr_iterator 201811L 1327 #undef __glibcxx_want_constexpr_iterator 1329 #if !defined(__cpp_lib_interpolate) 1330 # if (__cplusplus >= 202002L) 1331 # define __glibcxx_interpolate 201902L 1332 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_interpolate) 1333 # define __cpp_lib_interpolate 201902L 1337 #undef __glibcxx_want_interpolate 1339 #if !defined(__cpp_lib_constexpr_utility) 1340 # if (__cplusplus >= 202002L) 1341 # define __glibcxx_constexpr_utility 201811L 1342 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_utility) 1343 # define __cpp_lib_constexpr_utility 201811L 1347 #undef __glibcxx_want_constexpr_utility 1349 #if !defined(__cpp_lib_shift) 1350 # if (__cplusplus >= 202100L) 1351 # define __glibcxx_shift 202202L 1352 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shift) 1353 # define __cpp_lib_shift 202202L 1355 # elif (__cplusplus >= 202002L) 1356 # define __glibcxx_shift 201806L 1357 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shift) 1358 # define __cpp_lib_shift 201806L 1362 #undef __glibcxx_want_shift 1364 #if !defined(__cpp_lib_ranges) 1365 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1366 # define __glibcxx_ranges 202406L 1367 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1368 # define __cpp_lib_ranges 202406L 1370 # elif (__cplusplus >= 202100L) && (__glibcxx_concepts) 1371 # define __glibcxx_ranges 202302L 1372 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1373 # define __cpp_lib_ranges 202302L 1375 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1376 # define __glibcxx_ranges 202110L 1377 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1378 # define __cpp_lib_ranges 202110L 1382 #undef __glibcxx_want_ranges 1384 #if !defined(__cpp_lib_constexpr_numeric) 1385 # if (__cplusplus >= 202002L) 1386 # define __glibcxx_constexpr_numeric 201911L 1387 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_numeric) 1388 # define __cpp_lib_constexpr_numeric 201911L 1392 #undef __glibcxx_want_constexpr_numeric 1394 #if !defined(__cpp_lib_constexpr_functional) 1395 # if (__cplusplus >= 202002L) 1396 # define __glibcxx_constexpr_functional 201907L 1397 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_functional) 1398 # define __cpp_lib_constexpr_functional 201907L 1402 #undef __glibcxx_want_constexpr_functional 1404 #if !defined(__cpp_lib_constexpr_algorithms) 1405 # if (__cplusplus > 202302L) 1406 # define __glibcxx_constexpr_algorithms 202306L 1407 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms) 1408 # define __cpp_lib_constexpr_algorithms 202306L 1410 # elif (__cplusplus >= 202002L) 1411 # define __glibcxx_constexpr_algorithms 201806L 1412 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms) 1413 # define __cpp_lib_constexpr_algorithms 201806L 1417 #undef __glibcxx_want_constexpr_algorithms 1419 #if !defined(__cpp_lib_constexpr_tuple) 1420 # if (__cplusplus >= 202002L) 1421 # define __glibcxx_constexpr_tuple 201811L 1422 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_tuple) 1423 # define __cpp_lib_constexpr_tuple 201811L 1427 #undef __glibcxx_want_constexpr_tuple 1429 #if !defined(__cpp_lib_constexpr_memory) 1430 # if (__cplusplus >= 202100L) && (__cpp_constexpr_dynamic_alloc) 1431 # define __glibcxx_constexpr_memory 202202L 1432 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1433 # define __cpp_lib_constexpr_memory 202202L 1435 # elif (__cplusplus >= 202002L) 1436 # define __glibcxx_constexpr_memory 201811L 1437 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1438 # define __cpp_lib_constexpr_memory 201811L 1442 #undef __glibcxx_want_constexpr_memory 1444 #if !defined(__cpp_lib_atomic_shared_ptr) 1445 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1446 # define __glibcxx_atomic_shared_ptr 201711L 1447 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_shared_ptr) 1448 # define __cpp_lib_atomic_shared_ptr 201711L 1452 #undef __glibcxx_want_atomic_shared_ptr 1454 #if !defined(__cpp_lib_atomic_wait) 1455 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1456 # define __glibcxx_atomic_wait 201907L 1457 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1458 # define __cpp_lib_atomic_wait 201907L 1460 # elif (__cplusplus >= 202002L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED && (defined(_GLIBCXX_HAVE_LINUX_FUTEX)) 1461 # define __glibcxx_atomic_wait 201907L 1462 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1463 # define __cpp_lib_atomic_wait 201907L 1467 #undef __glibcxx_want_atomic_wait 1469 #if !defined(__cpp_lib_barrier) 1470 # if (__cplusplus >= 202002L) && (__cpp_aligned_new && __glibcxx_atomic_wait) 1471 # define __glibcxx_barrier 201907L 1472 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_barrier) 1473 # define __cpp_lib_barrier 201907L 1477 #undef __glibcxx_want_barrier 1479 #if !defined(__cpp_lib_format) 1480 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 1481 # define __glibcxx_format 202603L 1482 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format) 1483 # define __cpp_lib_format 202603L 1485 # elif (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1486 # define __glibcxx_format 202304L 1487 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format) 1488 # define __cpp_lib_format 202304L 1492 #undef __glibcxx_want_format 1494 #if !defined(__cpp_lib_format_uchar) 1495 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1496 # define __glibcxx_format_uchar 202311L 1497 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_uchar) 1498 # define __cpp_lib_format_uchar 202311L 1502 #undef __glibcxx_want_format_uchar 1504 #if !defined(__cpp_lib_constexpr_complex) 1505 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1506 # define __glibcxx_constexpr_complex 201711L 1507 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_complex) 1508 # define __cpp_lib_constexpr_complex 201711L 1512 #undef __glibcxx_want_constexpr_complex 1514 #if !defined(__cpp_lib_constexpr_dynamic_alloc) 1515 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1516 # define __glibcxx_constexpr_dynamic_alloc 201907L 1517 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_dynamic_alloc) 1518 # define __cpp_lib_constexpr_dynamic_alloc 201907L 1522 #undef __glibcxx_want_constexpr_dynamic_alloc 1524 #if !defined(__cpp_lib_constexpr_flat_map) 1525 # if (__cplusplus > 202302L) 1526 # define __glibcxx_constexpr_flat_map 202502L 1527 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_flat_map) 1528 # define __cpp_lib_constexpr_flat_map 202502L 1532 #undef __glibcxx_want_constexpr_flat_map 1534 #if !defined(__cpp_lib_constexpr_flat_set) 1535 # if (__cplusplus > 202302L) 1536 # define __glibcxx_constexpr_flat_set 202502L 1537 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_flat_set) 1538 # define __cpp_lib_constexpr_flat_set 202502L 1542 #undef __glibcxx_want_constexpr_flat_set 1544 #if !defined(__cpp_lib_constexpr_string) 1545 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1546 # define __glibcxx_constexpr_string 201907L 1547 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1548 # define __cpp_lib_constexpr_string 201907L 1550 # elif (__cplusplus >= 202002L) && !_GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1551 # define __glibcxx_constexpr_string 201811L 1552 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1553 # define __cpp_lib_constexpr_string 201811L 1555 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1556 # define __glibcxx_constexpr_string 201611L 1557 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1558 # define __cpp_lib_constexpr_string 201611L 1562 #undef __glibcxx_want_constexpr_string 1564 #if !defined(__cpp_lib_constexpr_vector) 1565 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1566 # define __glibcxx_constexpr_vector 201907L 1567 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_vector) 1568 # define __cpp_lib_constexpr_vector 201907L 1572 #undef __glibcxx_want_constexpr_vector 1574 #if !defined(__cpp_lib_constrained_equality) 1575 # if (__cplusplus >= 202100L) && (__glibcxx_three_way_comparison) 1576 # define __glibcxx_constrained_equality 202411L 1577 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constrained_equality) 1578 # define __cpp_lib_constrained_equality 202411L 1580 # elif (__cplusplus >= 202002L) && (__glibcxx_three_way_comparison) 1581 # define __glibcxx_constrained_equality 202403L 1582 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constrained_equality) 1583 # define __cpp_lib_constrained_equality 202403L 1587 #undef __glibcxx_want_constrained_equality 1589 #if !defined(__cpp_lib_erase_if) 1590 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1591 # define __glibcxx_erase_if 202002L 1592 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_erase_if) 1593 # define __cpp_lib_erase_if 202002L 1597 #undef __glibcxx_want_erase_if 1599 #if !defined(__cpp_lib_generic_unordered_lookup) 1600 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1601 # define __glibcxx_generic_unordered_lookup 201811L 1602 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_unordered_lookup) 1603 # define __cpp_lib_generic_unordered_lookup 201811L 1607 #undef __glibcxx_want_generic_unordered_lookup 1609 #if !defined(__cpp_lib_jthread) 1610 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1611 # define __glibcxx_jthread 201911L 1612 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_jthread) 1613 # define __cpp_lib_jthread 201911L 1617 #undef __glibcxx_want_jthread 1619 #if !defined(__cpp_lib_latch) 1620 # if (__cplusplus >= 202002L) && (__glibcxx_atomic_wait) 1621 # define __glibcxx_latch 201907L 1622 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_latch) 1623 # define __cpp_lib_latch 201907L 1627 #undef __glibcxx_want_latch 1629 #if !defined(__cpp_lib_list_remove_return_type) 1630 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1631 # define __glibcxx_list_remove_return_type 201806L 1632 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_list_remove_return_type) 1633 # define __cpp_lib_list_remove_return_type 201806L 1637 #undef __glibcxx_want_list_remove_return_type 1639 #if !defined(__cpp_lib_polymorphic_allocator) 1640 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1641 # define __glibcxx_polymorphic_allocator 201902L 1642 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_polymorphic_allocator) 1643 # define __cpp_lib_polymorphic_allocator 201902L 1647 #undef __glibcxx_want_polymorphic_allocator 1649 #if !defined(__cpp_lib_move_iterator_concept) 1650 # if (__cplusplus >= 202002L) && (__glibcxx_concepts) 1651 # define __glibcxx_move_iterator_concept 202207L 1652 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_iterator_concept) 1653 # define __cpp_lib_move_iterator_concept 202207L 1657 #undef __glibcxx_want_move_iterator_concept 1659 #if !defined(__cpp_lib_semaphore) 1660 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED && (__glibcxx_atomic_wait) 1661 # define __glibcxx_semaphore 201907L 1662 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_semaphore) 1663 # define __cpp_lib_semaphore 201907L 1667 #undef __glibcxx_want_semaphore 1669 #if !defined(__cpp_lib_smart_ptr_for_overwrite) 1670 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1671 # define __glibcxx_smart_ptr_for_overwrite 202002L 1672 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_smart_ptr_for_overwrite) 1673 # define __cpp_lib_smart_ptr_for_overwrite 202002L 1677 #undef __glibcxx_want_smart_ptr_for_overwrite 1679 #if !defined(__cpp_lib_syncbuf) 1680 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 1681 # define __glibcxx_syncbuf 201803L 1682 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_syncbuf) 1683 # define __cpp_lib_syncbuf 201803L 1687 #undef __glibcxx_want_syncbuf 1689 #if !defined(__cpp_lib_byteswap) 1690 # if (__cplusplus >= 202100L) 1691 # define __glibcxx_byteswap 202110L 1692 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byteswap) 1693 # define __cpp_lib_byteswap 202110L 1697 #undef __glibcxx_want_byteswap 1699 #if !defined(__cpp_lib_constexpr_charconv) 1700 # if (__cplusplus >= 202100L) 1701 # define __glibcxx_constexpr_charconv 202207L 1702 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_charconv) 1703 # define __cpp_lib_constexpr_charconv 202207L 1707 #undef __glibcxx_want_constexpr_charconv 1709 #if !defined(__cpp_lib_constexpr_typeinfo) 1710 # if (__cplusplus >= 202100L) 1711 # define __glibcxx_constexpr_typeinfo 202106L 1712 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_typeinfo) 1713 # define __cpp_lib_constexpr_typeinfo 202106L 1717 #undef __glibcxx_want_constexpr_typeinfo 1719 #if !defined(__cpp_lib_expected) 1720 # if (__cplusplus >= 202100L) && (__cpp_concepts >= 202002L) 1721 # define __glibcxx_expected 202211L 1722 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_expected) 1723 # define __cpp_lib_expected 202211L 1727 #undef __glibcxx_want_expected 1729 #if !defined(__cpp_lib_format_ranges) 1730 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1731 # define __glibcxx_format_ranges 202207L 1732 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_ranges) 1733 # define __cpp_lib_format_ranges 202207L 1737 #undef __glibcxx_want_format_ranges 1739 #if !defined(__cpp_lib_format_path) 1740 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 1741 # define __glibcxx_format_path 202403L 1742 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_path) 1743 # define __cpp_lib_format_path 202403L 1747 #undef __glibcxx_want_format_path 1749 #if !defined(__cpp_lib_freestanding_algorithm) 1750 # if (__cplusplus >= 202100L) 1751 # define __glibcxx_freestanding_algorithm 202311L 1752 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_algorithm) 1753 # define __cpp_lib_freestanding_algorithm 202311L 1757 #undef __glibcxx_want_freestanding_algorithm 1759 #if !defined(__cpp_lib_freestanding_array) 1760 # if (__cplusplus >= 202100L) 1761 # define __glibcxx_freestanding_array 202311L 1762 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_array) 1763 # define __cpp_lib_freestanding_array 202311L 1767 #undef __glibcxx_want_freestanding_array 1769 #if !defined(__cpp_lib_freestanding_cstring) 1770 # if (__cplusplus >= 202100L) 1771 # define __glibcxx_freestanding_cstring 202311L 1772 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_cstring) 1773 # define __cpp_lib_freestanding_cstring 202311L 1777 #undef __glibcxx_want_freestanding_cstring 1779 #if !defined(__cpp_lib_freestanding_expected) 1780 # if (__cplusplus >= 202100L) && (__cpp_lib_expected) 1781 # define __glibcxx_freestanding_expected 202311L 1782 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_expected) 1783 # define __cpp_lib_freestanding_expected 202311L 1787 #undef __glibcxx_want_freestanding_expected 1789 #if !defined(__cpp_lib_freestanding_optional) 1790 # if (__cplusplus >= 202100L) 1791 # define __glibcxx_freestanding_optional 202311L 1792 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_optional) 1793 # define __cpp_lib_freestanding_optional 202311L 1797 #undef __glibcxx_want_freestanding_optional 1799 #if !defined(__cpp_lib_freestanding_string_view) 1800 # if (__cplusplus >= 202100L) 1801 # define __glibcxx_freestanding_string_view 202311L 1802 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_string_view) 1803 # define __cpp_lib_freestanding_string_view 202311L 1807 #undef __glibcxx_want_freestanding_string_view 1809 #if !defined(__cpp_lib_freestanding_variant) 1810 # if (__cplusplus >= 202100L) 1811 # define __glibcxx_freestanding_variant 202311L 1812 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_variant) 1813 # define __cpp_lib_freestanding_variant 202311L 1817 #undef __glibcxx_want_freestanding_variant 1819 #if !defined(__cpp_lib_invoke_r) 1820 # if (__cplusplus >= 202100L) 1821 # define __glibcxx_invoke_r 202106L 1822 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke_r) 1823 # define __cpp_lib_invoke_r 202106L 1827 #undef __glibcxx_want_invoke_r 1829 #if !defined(__cpp_lib_associative_heterogeneous_erasure) 1830 # if (__cplusplus >= 202100L) 1831 # define __glibcxx_associative_heterogeneous_erasure 202110L 1832 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_associative_heterogeneous_erasure) 1833 # define __cpp_lib_associative_heterogeneous_erasure 202110L 1837 #undef __glibcxx_want_associative_heterogeneous_erasure 1839 #if !defined(__cpp_lib_associative_heterogeneous_insertion) 1840 # if (__cplusplus > 202302L) 1841 # define __glibcxx_associative_heterogeneous_insertion 202306L 1842 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_associative_heterogeneous_insertion) 1843 # define __cpp_lib_associative_heterogeneous_insertion 202306L 1847 #undef __glibcxx_want_associative_heterogeneous_insertion 1849 #if !defined(__cpp_lib_is_scoped_enum) 1850 # if (__cplusplus >= 202100L) 1851 # define __glibcxx_is_scoped_enum 202011L 1852 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_scoped_enum) 1853 # define __cpp_lib_is_scoped_enum 202011L 1857 #undef __glibcxx_want_is_scoped_enum 1859 #if !defined(__cpp_lib_reference_from_temporary) 1860 # if (__cplusplus >= 202100L) && (__has_builtin(__reference_constructs_from_temporary) && __has_builtin(__reference_converts_from_temporary)) 1861 # define __glibcxx_reference_from_temporary 202202L 1862 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_from_temporary) 1863 # define __cpp_lib_reference_from_temporary 202202L 1867 #undef __glibcxx_want_reference_from_temporary 1869 #if !defined(__cpp_lib_containers_ranges) 1870 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1871 # define __glibcxx_containers_ranges 202202L 1872 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_containers_ranges) 1873 # define __cpp_lib_containers_ranges 202202L 1877 #undef __glibcxx_want_containers_ranges 1879 #if !defined(__cpp_lib_ranges_to_container) 1880 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1881 # define __glibcxx_ranges_to_container 202202L 1882 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_to_container) 1883 # define __cpp_lib_ranges_to_container 202202L 1887 #undef __glibcxx_want_ranges_to_container 1889 #if !defined(__cpp_lib_ranges_zip) 1890 # if (__cplusplus >= 202100L) 1891 # define __glibcxx_ranges_zip 202110L 1892 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_zip) 1893 # define __cpp_lib_ranges_zip 202110L 1897 #undef __glibcxx_want_ranges_zip 1899 #if !defined(__cpp_lib_ranges_chunk) 1900 # if (__cplusplus >= 202100L) 1901 # define __glibcxx_ranges_chunk 202202L 1902 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk) 1903 # define __cpp_lib_ranges_chunk 202202L 1907 #undef __glibcxx_want_ranges_chunk 1909 #if !defined(__cpp_lib_ranges_slide) 1910 # if (__cplusplus >= 202100L) 1911 # define __glibcxx_ranges_slide 202202L 1912 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_slide) 1913 # define __cpp_lib_ranges_slide 202202L 1917 #undef __glibcxx_want_ranges_slide 1919 #if !defined(__cpp_lib_ranges_chunk_by) 1920 # if (__cplusplus >= 202100L) 1921 # define __glibcxx_ranges_chunk_by 202202L 1922 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk_by) 1923 # define __cpp_lib_ranges_chunk_by 202202L 1927 #undef __glibcxx_want_ranges_chunk_by 1929 #if !defined(__cpp_lib_ranges_join_with) 1930 # if (__cplusplus >= 202100L) 1931 # define __glibcxx_ranges_join_with 202202L 1932 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_join_with) 1933 # define __cpp_lib_ranges_join_with 202202L 1937 #undef __glibcxx_want_ranges_join_with 1939 #if !defined(__cpp_lib_ranges_repeat) 1940 # if (__cplusplus >= 202100L) 1941 # define __glibcxx_ranges_repeat 202207L 1942 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_repeat) 1943 # define __cpp_lib_ranges_repeat 202207L 1947 #undef __glibcxx_want_ranges_repeat 1949 #if !defined(__cpp_lib_ranges_stride) 1950 # if (__cplusplus >= 202100L) 1951 # define __glibcxx_ranges_stride 202207L 1952 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_stride) 1953 # define __cpp_lib_ranges_stride 202207L 1957 #undef __glibcxx_want_ranges_stride 1959 #if !defined(__cpp_lib_ranges_cartesian_product) 1960 # if (__cplusplus >= 202100L) 1961 # define __glibcxx_ranges_cartesian_product 202207L 1962 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_cartesian_product) 1963 # define __cpp_lib_ranges_cartesian_product 202207L 1967 #undef __glibcxx_want_ranges_cartesian_product 1969 #if !defined(__cpp_lib_ranges_as_rvalue) 1970 # if (__cplusplus >= 202100L) 1971 # define __glibcxx_ranges_as_rvalue 202207L 1972 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_rvalue) 1973 # define __cpp_lib_ranges_as_rvalue 202207L 1977 #undef __glibcxx_want_ranges_as_rvalue 1979 #if !defined(__cpp_lib_ranges_as_const) 1980 # if (__cplusplus >= 202100L) 1981 # define __glibcxx_ranges_as_const 202311L 1982 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_const) 1983 # define __cpp_lib_ranges_as_const 202311L 1987 #undef __glibcxx_want_ranges_as_const 1989 #if !defined(__cpp_lib_ranges_enumerate) 1990 # if (__cplusplus >= 202100L) 1991 # define __glibcxx_ranges_enumerate 202302L 1992 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_enumerate) 1993 # define __cpp_lib_ranges_enumerate 202302L 1997 #undef __glibcxx_want_ranges_enumerate 1999 #if !defined(__cpp_lib_ranges_fold) 2000 # if (__cplusplus >= 202100L) 2001 # define __glibcxx_ranges_fold 202207L 2002 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_fold) 2003 # define __cpp_lib_ranges_fold 202207L 2007 #undef __glibcxx_want_ranges_fold 2009 #if !defined(__cpp_lib_ranges_contains) 2010 # if (__cplusplus >= 202100L) 2011 # define __glibcxx_ranges_contains 202207L 2012 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_contains) 2013 # define __cpp_lib_ranges_contains 202207L 2017 #undef __glibcxx_want_ranges_contains 2019 #if !defined(__cpp_lib_ranges_iota) 2020 # if (__cplusplus >= 202100L) 2021 # define __glibcxx_ranges_iota 202202L 2022 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_iota) 2023 # define __cpp_lib_ranges_iota 202202L 2027 #undef __glibcxx_want_ranges_iota 2029 #if !defined(__cpp_lib_ranges_find_last) 2030 # if (__cplusplus >= 202100L) 2031 # define __glibcxx_ranges_find_last 202207L 2032 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_find_last) 2033 # define __cpp_lib_ranges_find_last 202207L 2037 #undef __glibcxx_want_ranges_find_last 2039 #if !defined(__cpp_lib_ranges_starts_ends_with) 2040 # if (__cplusplus >= 202100L) 2041 # define __glibcxx_ranges_starts_ends_with 202106L 2042 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_starts_ends_with) 2043 # define __cpp_lib_ranges_starts_ends_with 202106L 2047 #undef __glibcxx_want_ranges_starts_ends_with 2049 #if !defined(__cpp_lib_ranges_indices) 2050 # if (__cplusplus > 202302L) 2051 # define __glibcxx_ranges_indices 202506L 2052 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_indices) 2053 # define __cpp_lib_ranges_indices 202506L 2057 #undef __glibcxx_want_ranges_indices 2059 #if !defined(__cpp_lib_constexpr_bitset) 2060 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__cpp_constexpr_dynamic_alloc) 2061 # define __glibcxx_constexpr_bitset 202202L 2062 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_bitset) 2063 # define __cpp_lib_constexpr_bitset 202202L 2067 #undef __glibcxx_want_constexpr_bitset 2069 #if !defined(__cpp_lib_stdatomic_h) 2070 # if (__cplusplus >= 202100L) 2071 # define __glibcxx_stdatomic_h 202011L 2072 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stdatomic_h) 2073 # define __cpp_lib_stdatomic_h 202011L 2077 #undef __glibcxx_want_stdatomic_h 2079 #if !defined(__cpp_lib_stdbit_h) 2080 # if (__cplusplus > 202302L) 2081 # define __glibcxx_stdbit_h 202603L 2082 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stdbit_h) 2083 # define __cpp_lib_stdbit_h 202603L 2087 #undef __glibcxx_want_stdbit_h 2089 #if !defined(__cpp_lib_stdckdint_h) 2090 # if (__cplusplus > 202302L) 2091 # define __glibcxx_stdckdint_h 202603L 2092 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stdckdint_h) 2093 # define __cpp_lib_stdckdint_h 202603L 2097 #undef __glibcxx_want_stdckdint_h 2099 #if !defined(__cpp_lib_adaptor_iterator_pair_constructor) 2100 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2101 # define __glibcxx_adaptor_iterator_pair_constructor 202106L 2102 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_adaptor_iterator_pair_constructor) 2103 # define __cpp_lib_adaptor_iterator_pair_constructor 202106L 2107 #undef __glibcxx_want_adaptor_iterator_pair_constructor 2109 #if !defined(__cpp_lib_flat_map) 2110 # if (__cplusplus >= 202100L) 2111 # define __glibcxx_flat_map 202511L 2112 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_flat_map) 2113 # define __cpp_lib_flat_map 202511L 2117 #undef __glibcxx_want_flat_map 2119 #if !defined(__cpp_lib_flat_set) 2120 # if (__cplusplus >= 202100L) 2121 # define __glibcxx_flat_set 202511L 2122 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_flat_set) 2123 # define __cpp_lib_flat_set 202511L 2127 #undef __glibcxx_want_flat_set 2129 #if !defined(__cpp_lib_common_reference) 2130 # if (__cplusplus >= 202002L) 2131 # define __glibcxx_common_reference 202302L 2132 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_common_reference) 2133 # define __cpp_lib_common_reference 202302L 2137 #undef __glibcxx_want_common_reference 2139 #if !defined(__cpp_lib_common_reference_wrapper) 2140 # if (__cplusplus >= 202002L) 2141 # define __glibcxx_common_reference_wrapper 202302L 2142 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_common_reference_wrapper) 2143 # define __cpp_lib_common_reference_wrapper 202302L 2147 #undef __glibcxx_want_common_reference_wrapper 2149 #if !defined(__cpp_lib_formatters) 2150 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2151 # define __glibcxx_formatters 202302L 2152 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_formatters) 2153 # define __cpp_lib_formatters 202302L 2157 #undef __glibcxx_want_formatters 2159 #if !defined(__cpp_lib_forward_like) 2160 # if (__cplusplus >= 202100L) 2161 # define __glibcxx_forward_like 202207L 2162 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_forward_like) 2163 # define __cpp_lib_forward_like 202207L 2167 #undef __glibcxx_want_forward_like 2169 #if !defined(__cpp_lib_generator) 2170 # if (__cplusplus >= 202100L) && (__glibcxx_coroutine && __cpp_sized_deallocation) 2171 # define __glibcxx_generator 202207L 2172 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generator) 2173 # define __cpp_lib_generator 202207L 2177 #undef __glibcxx_want_generator 2179 #if !defined(__cpp_lib_ios_noreplace) 2180 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2181 # define __glibcxx_ios_noreplace 202207L 2182 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ios_noreplace) 2183 # define __cpp_lib_ios_noreplace 202207L 2187 #undef __glibcxx_want_ios_noreplace 2189 #if !defined(__cpp_lib_move_only_function) 2190 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2191 # define __glibcxx_move_only_function 202110L 2192 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_only_function) 2193 # define __cpp_lib_move_only_function 202110L 2197 #undef __glibcxx_want_move_only_function 2199 #if !defined(__cpp_lib_copyable_function) 2200 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2201 # define __glibcxx_copyable_function 202306L 2202 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_copyable_function) 2203 # define __cpp_lib_copyable_function 202306L 2207 #undef __glibcxx_want_copyable_function 2209 #if !defined(__cpp_lib_function_ref) 2210 # if (__cplusplus > 202302L) 2211 # define __glibcxx_function_ref 202603L 2212 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_function_ref) 2213 # define __cpp_lib_function_ref 202603L 2217 #undef __glibcxx_want_function_ref 2219 #if !defined(__cpp_lib_out_ptr) 2220 # if (__cplusplus >= 202100L) 2221 # define __glibcxx_out_ptr 202311L 2222 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_out_ptr) 2223 # define __cpp_lib_out_ptr 202311L 2227 #undef __glibcxx_want_out_ptr 2229 #if !defined(__cpp_lib_print) 2230 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2231 # define __glibcxx_print 202406L 2232 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_print) 2233 # define __cpp_lib_print 202406L 2237 #undef __glibcxx_want_print 2239 #if !defined(__cpp_lib_spanstream) 2240 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__glibcxx_span) 2241 # define __glibcxx_spanstream 202106L 2242 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_spanstream) 2243 # define __cpp_lib_spanstream 202106L 2247 #undef __glibcxx_want_spanstream 2249 #if !defined(__cpp_lib_stacktrace) 2250 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_STACKTRACE) 2251 # define __glibcxx_stacktrace 202011L 2252 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stacktrace) 2253 # define __cpp_lib_stacktrace 202011L 2257 #undef __glibcxx_want_stacktrace 2259 #if !defined(__cpp_lib_start_lifetime_as) 2260 # if (__cplusplus >= 202100L) 2261 # define __glibcxx_start_lifetime_as 202207L 2262 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_start_lifetime_as) 2263 # define __cpp_lib_start_lifetime_as 202207L 2267 #undef __glibcxx_want_start_lifetime_as 2269 #if !defined(__cpp_lib_string_contains) 2270 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2271 # define __glibcxx_string_contains 202011L 2272 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_contains) 2273 # define __cpp_lib_string_contains 202011L 2277 #undef __glibcxx_want_string_contains 2279 #if !defined(__cpp_lib_string_resize_and_overwrite) 2280 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 2281 # define __glibcxx_string_resize_and_overwrite 202110L 2282 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_resize_and_overwrite) 2283 # define __cpp_lib_string_resize_and_overwrite 202110L 2287 #undef __glibcxx_want_string_resize_and_overwrite 2289 #if !defined(__cpp_lib_string_subview) 2290 # if (__cplusplus > 202302L) 2291 # define __glibcxx_string_subview 202506L 2292 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_subview) 2293 # define __cpp_lib_string_subview 202506L 2297 #undef __glibcxx_want_string_subview 2299 #if !defined(__cpp_lib_to_underlying) 2300 # if (__cplusplus >= 202100L) 2301 # define __glibcxx_to_underlying 202102L 2302 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_underlying) 2303 # define __cpp_lib_to_underlying 202102L 2307 #undef __glibcxx_want_to_underlying 2309 #if !defined(__cpp_lib_tuple_like) 2310 # if (__cplusplus > 202302L) && (__cpp_explicit_this_parameter >= 202110L) 2311 # define __glibcxx_tuple_like 202311L 2312 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like) 2313 # define __cpp_lib_tuple_like 202311L 2315 # elif (__cplusplus >= 202100L) 2316 # define __glibcxx_tuple_like 202207L 2317 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like) 2318 # define __cpp_lib_tuple_like 202207L 2322 #undef __glibcxx_want_tuple_like 2324 #if !defined(__cpp_lib_unreachable) 2325 # if (__cplusplus >= 202100L) 2326 # define __glibcxx_unreachable 202202L 2327 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unreachable) 2328 # define __cpp_lib_unreachable 202202L 2332 #undef __glibcxx_want_unreachable 2334 #if !defined(__cpp_lib_observable_checkpoint) 2335 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_observable_checkpoint)) 2336 # define __glibcxx_observable_checkpoint 202506L 2337 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_observable_checkpoint) 2338 # define __cpp_lib_observable_checkpoint 202506L 2342 #undef __glibcxx_want_observable_checkpoint 2344 #if !defined(__cpp_lib_algorithm_iterator_requirements) 2345 # if (__cplusplus >= 202002L) 2346 # define __glibcxx_algorithm_iterator_requirements 202207L 2347 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_algorithm_iterator_requirements) 2348 # define __cpp_lib_algorithm_iterator_requirements 202207L 2352 #undef __glibcxx_want_algorithm_iterator_requirements 2354 #if !defined(__cpp_lib_algorithm_default_value_type) 2355 # if (__cplusplus > 202302L) 2356 # define __glibcxx_algorithm_default_value_type 202603L 2357 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_algorithm_default_value_type) 2358 # define __cpp_lib_algorithm_default_value_type 202603L 2362 #undef __glibcxx_want_algorithm_default_value_type 2364 #if !defined(__cpp_lib_constexpr_new) 2365 # if (__cplusplus > 202302L) && (__cpp_constexpr >= 202406L) 2366 # define __glibcxx_constexpr_new 202406L 2367 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_new) 2368 # define __cpp_lib_constexpr_new 202406L 2372 #undef __glibcxx_want_constexpr_new 2374 #if !defined(__cpp_lib_debugging) 2375 # if (__cplusplus > 202302L) 2376 # define __glibcxx_debugging 202403L 2377 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_debugging) 2378 # define __cpp_lib_debugging 202403L 2382 #undef __glibcxx_want_debugging 2384 #if !defined(__cpp_lib_fstream_native_handle) 2385 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2386 # define __glibcxx_fstream_native_handle 202306L 2387 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_fstream_native_handle) 2388 # define __cpp_lib_fstream_native_handle 202306L 2392 #undef __glibcxx_want_fstream_native_handle 2394 #if !defined(__cpp_lib_is_virtual_base_of) 2395 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_is_virtual_base_of)) 2396 # define __glibcxx_is_virtual_base_of 202406L 2397 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_virtual_base_of) 2398 # define __cpp_lib_is_virtual_base_of 202406L 2402 #undef __glibcxx_want_is_virtual_base_of 2404 #if !defined(__cpp_lib_ranges_cache_latest) 2405 # if (__cplusplus > 202302L) 2406 # define __glibcxx_ranges_cache_latest 202411L 2407 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_cache_latest) 2408 # define __cpp_lib_ranges_cache_latest 202411L 2412 #undef __glibcxx_want_ranges_cache_latest 2414 #if !defined(__cpp_lib_ranges_concat) 2415 # if (__cplusplus > 202302L) && (__cpp_pack_indexing) 2416 # define __glibcxx_ranges_concat 202403L 2417 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_concat) 2418 # define __cpp_lib_ranges_concat 202403L 2422 #undef __glibcxx_want_ranges_concat 2424 #if !defined(__cpp_lib_ratio) 2425 # if (__cplusplus > 202302L) 2426 # define __glibcxx_ratio 202306L 2427 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ratio) 2428 # define __cpp_lib_ratio 202306L 2432 #undef __glibcxx_want_ratio 2434 #if !defined(__cpp_lib_reference_wrapper) 2435 # if (__cplusplus > 202302L) 2436 # define __glibcxx_reference_wrapper 202403L 2437 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_wrapper) 2438 # define __cpp_lib_reference_wrapper 202403L 2442 #undef __glibcxx_want_reference_wrapper 2444 #if !defined(__cpp_lib_saturation_arithmetic) 2445 # if (__cplusplus > 202302L) 2446 # define __glibcxx_saturation_arithmetic 202603L 2447 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_saturation_arithmetic) 2448 # define __cpp_lib_saturation_arithmetic 202603L 2452 #undef __glibcxx_want_saturation_arithmetic 2454 #if !defined(__cpp_lib_text_encoding) 2455 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (_GLIBCXX_USE_NL_LANGINFO_L) 2456 # define __glibcxx_text_encoding 202306L 2457 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_text_encoding) 2458 # define __cpp_lib_text_encoding 202306L 2462 #undef __glibcxx_want_text_encoding 2464 #if !defined(__cpp_lib_ranges_filter) 2465 # if (__cplusplus >= 202002L) 2466 # define __glibcxx_ranges_filter 202603L 2467 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_filter) 2468 # define __cpp_lib_ranges_filter 202603L 2472 #undef __glibcxx_want_ranges_filter 2474 #if !defined(__cpp_lib_ranges_as_input) 2475 # if (__cplusplus > 202302L) 2476 # define __glibcxx_ranges_as_input 202502L 2477 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_input) 2478 # define __cpp_lib_ranges_as_input 202502L 2482 #undef __glibcxx_want_ranges_as_input 2484 #if !defined(__cpp_lib_to_string) 2485 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (__glibcxx_to_chars) 2486 # define __glibcxx_to_string 202306L 2487 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_string) 2488 # define __cpp_lib_to_string 202306L 2492 #undef __glibcxx_want_to_string 2494 #if !defined(__cpp_lib_modules) 2495 # if (__cplusplus >= 202002L) && (__cpp_modules) 2496 # define __glibcxx_modules 202207L 2497 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_modules) 2498 # define __cpp_lib_modules 202207L 2502 #undef __glibcxx_want_modules 2504 #if !defined(__cpp_lib_inplace_vector) 2505 # if (__cplusplus > 202302L) 2506 # define __glibcxx_inplace_vector 202603L 2507 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_inplace_vector) 2508 # define __cpp_lib_inplace_vector 202603L 2512 #undef __glibcxx_want_inplace_vector 2514 #if !defined(__cpp_lib_indirect) 2515 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2516 # define __glibcxx_indirect 202502L 2517 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_indirect) 2518 # define __cpp_lib_indirect 202502L 2522 #undef __glibcxx_want_indirect 2524 #if !defined(__cpp_lib_polymorphic) 2525 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2526 # define __glibcxx_polymorphic 202502L 2527 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_polymorphic) 2528 # define __cpp_lib_polymorphic 202502L 2532 #undef __glibcxx_want_polymorphic 2534 #if !defined(__cpp_lib_smart_ptr_owner_equality) 2535 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2536 # define __glibcxx_smart_ptr_owner_equality 202306L 2537 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_smart_ptr_owner_equality) 2538 # define __cpp_lib_smart_ptr_owner_equality 202306L 2542 #undef __glibcxx_want_smart_ptr_owner_equality 2544 #if !defined(__cpp_lib_sstream_from_string_view) 2545 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2546 # define __glibcxx_sstream_from_string_view 202306L 2547 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_sstream_from_string_view) 2548 # define __cpp_lib_sstream_from_string_view 202306L 2552 #undef __glibcxx_want_sstream_from_string_view 2554 #if !defined(__cpp_lib_type_order) 2555 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_type_order) && __cpp_lib_three_way_comparison >= 201907L) 2556 # define __glibcxx_type_order 202506L 2557 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_order) 2558 # define __cpp_lib_type_order 202506L 2562 #undef __glibcxx_want_type_order 2564 #if !defined(__cpp_lib_exception_ptr_cast) 2565 # if (__cplusplus > 202302L) 2566 # define __glibcxx_exception_ptr_cast 202506L 2567 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_exception_ptr_cast) 2568 # define __cpp_lib_exception_ptr_cast 202506L 2572 #undef __glibcxx_want_exception_ptr_cast 2574 #if !defined(__cpp_lib_bitset) 2575 # if (__cplusplus > 202302L) 2576 # define __glibcxx_bitset 202306L 2577 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bitset) 2578 # define __cpp_lib_bitset 202306L 2582 #undef __glibcxx_want_bitset 2584 #if !defined(__cpp_lib_constexpr_exceptions) 2585 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && (__cpp_constexpr_exceptions >= 202411L) 2586 # define __glibcxx_constexpr_exceptions 202502L 2587 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_exceptions) 2588 # define __cpp_lib_constexpr_exceptions 202502L 2592 #undef __glibcxx_want_constexpr_exceptions 2594 #if !defined(__cpp_lib_philox_engine) 2595 # if (__cplusplus > 202302L) 2596 # define __glibcxx_philox_engine 202406L 2597 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_philox_engine) 2598 # define __cpp_lib_philox_engine 202406L 2602 #undef __glibcxx_want_philox_engine 2604 #if !defined(__cpp_lib_reflection) 2605 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && (__cpp_impl_reflection >= 202603L) 2606 # define __glibcxx_reflection 202603L 2607 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reflection) 2608 # define __cpp_lib_reflection 202603L 2612 #undef __glibcxx_want_reflection 2614 #if !defined(__cpp_lib_define_static) 2615 # if (__cplusplus > 202302L) && _GLIBCXX_USE_CXX11_ABI && (__cpp_impl_reflection >= 202506L) 2616 # define __glibcxx_define_static 202506L 2617 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_define_static) 2618 # define __cpp_lib_define_static 202506L 2622 #undef __glibcxx_want_define_static 2624 #if !defined(__cpp_lib_is_implicit_lifetime) 2625 # if (__cplusplus >= 202100L) && (__has_builtin(__builtin_is_implicit_lifetime)) 2626 # define __glibcxx_is_implicit_lifetime 202302L 2627 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_implicit_lifetime) 2628 # define __cpp_lib_is_implicit_lifetime 202302L 2632 #undef __glibcxx_want_is_implicit_lifetime 2634 #if !defined(__cpp_lib_contracts) 2635 # if (__cplusplus > 202302L) && (__cpp_contracts >= 202502L) 2636 # define __glibcxx_contracts 202502L 2637 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_contracts) 2638 # define __cpp_lib_contracts 202502L 2642 #undef __glibcxx_want_contracts 2644 #if !defined(__cpp_lib_replaceable_contract_violation_handler) 2645 # if (__cplusplus > 202302L) && (__cpp_contracts >= 202502L && __ELF__) 2646 # define __glibcxx_replaceable_contract_violation_handler 202603L 2647 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_replaceable_contract_violation_handler) 2648 # define __cpp_lib_replaceable_contract_violation_handler 202603L 2650 # elif (__cplusplus > 202302L) && (__cpp_contracts >= 202502L) 2651 # define __glibcxx_replaceable_contract_violation_handler 0L 2652 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_replaceable_contract_violation_handler) 2653 # define __cpp_lib_replaceable_contract_violation_handler 0L 2657 #undef __glibcxx_want_replaceable_contract_violation_handler 2659 #if !defined(__cpp_lib_simd) 2660 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (__cpp_structured_bindings >= 202411L && __cpp_expansion_statements >= 202411L && __SSE2__) 2661 # define __glibcxx_simd 202506L 2662 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_simd) 2666 #undef __glibcxx_want_simd 2668 #if !defined(__cpp_lib_is_structural) 2669 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_is_structural)) 2670 # define __glibcxx_is_structural 202603L 2671 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_structural) 2672 # define __cpp_lib_is_structural 202603L 2676 #undef __glibcxx_want_is_structural 2678 #undef __glibcxx_want_all