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_is_null_pointer) 84 # if (__cplusplus >= 201103L) 85 # define __glibcxx_is_null_pointer 201309L 86 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_null_pointer) 87 # define __cpp_lib_is_null_pointer 201309L 91 #undef __glibcxx_want_is_null_pointer 93 #if !defined(__cpp_lib_result_of_sfinae) 94 # if (__cplusplus >= 201103L) 95 # define __glibcxx_result_of_sfinae 201210L 96 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_result_of_sfinae) 97 # define __cpp_lib_result_of_sfinae 201210L 101 #undef __glibcxx_want_result_of_sfinae 103 #if !defined(__cpp_lib_shared_ptr_arrays) 104 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 105 # define __glibcxx_shared_ptr_arrays 201707L 106 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_arrays) 107 # define __cpp_lib_shared_ptr_arrays 201707L 109 # elif (__cplusplus >= 201103L) && _GLIBCXX_HOSTED 110 # define __glibcxx_shared_ptr_arrays 201611L 111 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_arrays) 112 # define __cpp_lib_shared_ptr_arrays 201611L 116 #undef __glibcxx_want_shared_ptr_arrays 118 #if !defined(__cpp_lib_is_swappable) 119 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) 120 # define __glibcxx_is_swappable 201603L 121 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_swappable) 122 # define __cpp_lib_is_swappable 201603L 126 #undef __glibcxx_want_is_swappable 128 #if !defined(__cpp_lib_void_t) 129 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) 130 # define __glibcxx_void_t 201411L 131 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_void_t) 132 # define __cpp_lib_void_t 201411L 136 #undef __glibcxx_want_void_t 138 #if !defined(__cpp_lib_enable_shared_from_this) 139 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) && _GLIBCXX_HOSTED 140 # define __glibcxx_enable_shared_from_this 201603L 141 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_enable_shared_from_this) 142 # define __cpp_lib_enable_shared_from_this 201603L 146 #undef __glibcxx_want_enable_shared_from_this 148 #if !defined(__cpp_lib_math_spec_funcs) 149 # if (__cplusplus >= 201103L) 150 # define __glibcxx_math_spec_funcs 201003L 151 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_spec_funcs) 152 # define __STDCPP_MATH_SPEC_FUNCS__ 201003L 156 #undef __glibcxx_want_math_spec_funcs 158 #if !defined(__cpp_lib_coroutine) 159 # if (__cplusplus >= 201402L) && (__cpp_impl_coroutine) 160 # define __glibcxx_coroutine 201902L 161 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_coroutine) 162 # define __cpp_lib_coroutine 201902L 166 #undef __glibcxx_want_coroutine 168 #if !defined(__cpp_lib_exchange_function) 169 # if (__cplusplus >= 201402L) 170 # define __glibcxx_exchange_function 201304L 171 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_exchange_function) 172 # define __cpp_lib_exchange_function 201304L 176 #undef __glibcxx_want_exchange_function 178 #if !defined(__cpp_lib_integer_sequence) 179 # if (__cplusplus >= 201402L) 180 # define __glibcxx_integer_sequence 201304L 181 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_sequence) 182 # define __cpp_lib_integer_sequence 201304L 186 #undef __glibcxx_want_integer_sequence 188 #if !defined(__cpp_lib_integral_constant_callable) 189 # if (__cplusplus >= 201402L) 190 # define __glibcxx_integral_constant_callable 201304L 191 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integral_constant_callable) 192 # define __cpp_lib_integral_constant_callable 201304L 196 #undef __glibcxx_want_integral_constant_callable 198 #if !defined(__cpp_lib_is_final) 199 # if (__cplusplus >= 201402L) 200 # define __glibcxx_is_final 201402L 201 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_final) 202 # define __cpp_lib_is_final 201402L 206 #undef __glibcxx_want_is_final 208 #if !defined(__cpp_lib_make_reverse_iterator) 209 # if (__cplusplus >= 201402L) 210 # define __glibcxx_make_reverse_iterator 201402L 211 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_reverse_iterator) 212 # define __cpp_lib_make_reverse_iterator 201402L 216 #undef __glibcxx_want_make_reverse_iterator 218 #if !defined(__cpp_lib_null_iterators) 219 # if (__cplusplus >= 201402L) 220 # define __glibcxx_null_iterators 201304L 221 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_null_iterators) 222 # define __cpp_lib_null_iterators 201304L 226 #undef __glibcxx_want_null_iterators 228 #if !defined(__cpp_lib_transformation_trait_aliases) 229 # if (__cplusplus >= 201402L) 230 # define __glibcxx_transformation_trait_aliases 201304L 231 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transformation_trait_aliases) 232 # define __cpp_lib_transformation_trait_aliases 201304L 236 #undef __glibcxx_want_transformation_trait_aliases 238 #if !defined(__cpp_lib_transparent_operators) 239 # if (__cplusplus >= 201402L) 240 # define __glibcxx_transparent_operators 201510L 241 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transparent_operators) 242 # define __cpp_lib_transparent_operators 201510L 246 #undef __glibcxx_want_transparent_operators 248 #if !defined(__cpp_lib_tuple_element_t) 249 # if (__cplusplus >= 201402L) 250 # define __glibcxx_tuple_element_t 201402L 251 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_element_t) 252 # define __cpp_lib_tuple_element_t 201402L 256 #undef __glibcxx_want_tuple_element_t 258 #if !defined(__cpp_lib_tuples_by_type) 259 # if (__cplusplus >= 201402L) 260 # define __glibcxx_tuples_by_type 201304L 261 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuples_by_type) 262 # define __cpp_lib_tuples_by_type 201304L 266 #undef __glibcxx_want_tuples_by_type 268 #if !defined(__cpp_lib_robust_nonmodifying_seq_ops) 269 # if (__cplusplus >= 201402L) 270 # define __glibcxx_robust_nonmodifying_seq_ops 201304L 271 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_robust_nonmodifying_seq_ops) 272 # define __cpp_lib_robust_nonmodifying_seq_ops 201304L 276 #undef __glibcxx_want_robust_nonmodifying_seq_ops 278 #if !defined(__cpp_lib_to_chars) 279 # if (__cplusplus > 202302L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 280 # define __glibcxx_to_chars 202306L 281 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 282 # define __cpp_lib_to_chars 202306L 284 # elif (__cplusplus >= 201402L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 285 # define __glibcxx_to_chars 201611L 286 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 287 # define __cpp_lib_to_chars 201611L 291 #undef __glibcxx_want_to_chars 293 #if !defined(__cpp_lib_chrono_udls) 294 # if (__cplusplus >= 201402L) 295 # define __glibcxx_chrono_udls 201304L 296 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_udls) 297 # define __cpp_lib_chrono_udls 201304L 301 #undef __glibcxx_want_chrono_udls 303 #if !defined(__cpp_lib_complex_udls) 304 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 305 # define __glibcxx_complex_udls 201309L 306 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_complex_udls) 307 # define __cpp_lib_complex_udls 201309L 311 #undef __glibcxx_want_complex_udls 313 #if !defined(__cpp_lib_generic_associative_lookup) 314 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 315 # define __glibcxx_generic_associative_lookup 201304L 316 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_associative_lookup) 317 # define __cpp_lib_generic_associative_lookup 201304L 321 #undef __glibcxx_want_generic_associative_lookup 323 #if !defined(__cpp_lib_make_unique) 324 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 325 # define __glibcxx_make_unique 201304L 326 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_unique) 327 # define __cpp_lib_make_unique 201304L 331 #undef __glibcxx_want_make_unique 333 #if !defined(__cpp_lib_quoted_string_io) 334 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 335 # define __glibcxx_quoted_string_io 201304L 336 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_quoted_string_io) 337 # define __cpp_lib_quoted_string_io 201304L 341 #undef __glibcxx_want_quoted_string_io 343 #if !defined(__cpp_lib_shared_timed_mutex) 344 # if (__cplusplus >= 201402L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 345 # define __glibcxx_shared_timed_mutex 201402L 346 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_timed_mutex) 347 # define __cpp_lib_shared_timed_mutex 201402L 351 #undef __glibcxx_want_shared_timed_mutex 353 #if !defined(__cpp_lib_string_udls) 354 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 355 # define __glibcxx_string_udls 201304L 356 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_udls) 357 # define __cpp_lib_string_udls 201304L 361 #undef __glibcxx_want_string_udls 363 #if !defined(__cpp_lib_addressof_constexpr) 364 # if (__cplusplus >= 201703L) 365 # define __glibcxx_addressof_constexpr 201603L 366 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_addressof_constexpr) 367 # define __cpp_lib_addressof_constexpr 201603L 371 #undef __glibcxx_want_addressof_constexpr 373 #if !defined(__cpp_lib_any) 374 # if (__cplusplus >= 201703L) 375 # define __glibcxx_any 201606L 376 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_any) 377 # define __cpp_lib_any 201606L 381 #undef __glibcxx_want_any 383 #if !defined(__cpp_lib_apply) 384 # if (__cplusplus >= 201703L) 385 # define __glibcxx_apply 201603L 386 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_apply) 387 # define __cpp_lib_apply 201603L 391 #undef __glibcxx_want_apply 393 #if !defined(__cpp_lib_as_const) 394 # if (__cplusplus >= 201703L) 395 # define __glibcxx_as_const 201510L 396 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_as_const) 397 # define __cpp_lib_as_const 201510L 401 #undef __glibcxx_want_as_const 403 #if !defined(__cpp_lib_atomic_is_always_lock_free) 404 # if (__cplusplus >= 201703L) 405 # define __glibcxx_atomic_is_always_lock_free 201603L 406 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_is_always_lock_free) 407 # define __cpp_lib_atomic_is_always_lock_free 201603L 411 #undef __glibcxx_want_atomic_is_always_lock_free 413 #if !defined(__cpp_lib_bool_constant) 414 # if (__cplusplus >= 201703L) 415 # define __glibcxx_bool_constant 201505L 416 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bool_constant) 417 # define __cpp_lib_bool_constant 201505L 421 #undef __glibcxx_want_bool_constant 423 #if !defined(__cpp_lib_byte) 424 # if (__cplusplus >= 201703L) 425 # define __glibcxx_byte 201603L 426 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byte) 427 # define __cpp_lib_byte 201603L 431 #undef __glibcxx_want_byte 433 #if !defined(__cpp_lib_has_unique_object_representations) 434 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP)) 435 # define __glibcxx_has_unique_object_representations 201606L 436 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_has_unique_object_representations) 437 # define __cpp_lib_has_unique_object_representations 201606L 441 #undef __glibcxx_want_has_unique_object_representations 443 #if !defined(__cpp_lib_hardware_interference_size) 444 # if (__cplusplus >= 201703L) && (defined(__GCC_DESTRUCTIVE_SIZE)) 445 # define __glibcxx_hardware_interference_size 201703L 446 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hardware_interference_size) 447 # define __cpp_lib_hardware_interference_size 201703L 451 #undef __glibcxx_want_hardware_interference_size 453 #if !defined(__cpp_lib_invoke) 454 # if (__cplusplus >= 201703L) 455 # define __glibcxx_invoke 201411L 456 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke) 457 # define __cpp_lib_invoke 201411L 461 #undef __glibcxx_want_invoke 463 #if !defined(__cpp_lib_is_aggregate) 464 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE)) 465 # define __glibcxx_is_aggregate 201703L 466 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_aggregate) 467 # define __cpp_lib_is_aggregate 201703L 471 #undef __glibcxx_want_is_aggregate 473 #if !defined(__cpp_lib_is_invocable) 474 # if (__cplusplus >= 201703L) 475 # define __glibcxx_is_invocable 201703L 476 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_invocable) 477 # define __cpp_lib_is_invocable 201703L 481 #undef __glibcxx_want_is_invocable 483 #if !defined(__cpp_lib_launder) 484 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_LAUNDER)) 485 # define __glibcxx_launder 201606L 486 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_launder) 487 # define __cpp_lib_launder 201606L 491 #undef __glibcxx_want_launder 493 #if !defined(__cpp_lib_logical_traits) 494 # if (__cplusplus >= 201703L) 495 # define __glibcxx_logical_traits 201510L 496 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_logical_traits) 497 # define __cpp_lib_logical_traits 201510L 501 #undef __glibcxx_want_logical_traits 503 #if !defined(__cpp_lib_make_from_tuple) 504 # if (__cplusplus >= 201703L) 505 # define __glibcxx_make_from_tuple 201606L 506 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_from_tuple) 507 # define __cpp_lib_make_from_tuple 201606L 511 #undef __glibcxx_want_make_from_tuple 513 #if !defined(__cpp_lib_not_fn) 514 # if (__cplusplus >= 201703L) 515 # define __glibcxx_not_fn 201603L 516 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_not_fn) 517 # define __cpp_lib_not_fn 201603L 521 #undef __glibcxx_want_not_fn 523 #if !defined(__cpp_lib_type_trait_variable_templates) 524 # if (__cplusplus >= 201703L) 525 # define __glibcxx_type_trait_variable_templates 201510L 526 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_trait_variable_templates) 527 # define __cpp_lib_type_trait_variable_templates 201510L 531 #undef __glibcxx_want_type_trait_variable_templates 533 #if !defined(__cpp_lib_variant) 534 # if (__cplusplus > 202302L) && (__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L && __cpp_explicit_this_parameter) 535 # define __glibcxx_variant 202306L 536 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 537 # define __cpp_lib_variant 202306L 539 # elif (__cplusplus >= 202002L) && (__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L) 540 # define __glibcxx_variant 202106L 541 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 542 # define __cpp_lib_variant 202106L 544 # elif (__cplusplus >= 201703L) 545 # define __glibcxx_variant 202102L 546 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 547 # define __cpp_lib_variant 202102L 551 #undef __glibcxx_want_variant 553 #if !defined(__cpp_lib_lcm) 554 # if (__cplusplus >= 201703L) 555 # define __glibcxx_lcm 201606L 556 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_lcm) 557 # define __cpp_lib_lcm 201606L 561 #undef __glibcxx_want_lcm 563 #if !defined(__cpp_lib_gcd) 564 # if (__cplusplus >= 201703L) 565 # define __glibcxx_gcd 201606L 566 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd) 567 # define __cpp_lib_gcd 201606L 571 #undef __glibcxx_want_gcd 573 #if !defined(__cpp_lib_gcd_lcm) 574 # if (__cplusplus >= 201703L) 575 # define __glibcxx_gcd_lcm 201606L 576 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd_lcm) 577 # define __cpp_lib_gcd_lcm 201606L 581 #undef __glibcxx_want_gcd_lcm 583 #if !defined(__cpp_lib_raw_memory_algorithms) 584 # if (__cplusplus > 202302L) && (__cpp_constexpr >= 202406L) 585 # define __glibcxx_raw_memory_algorithms 202411L 586 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_raw_memory_algorithms) 587 # define __cpp_lib_raw_memory_algorithms 202411L 589 # elif (__cplusplus >= 201703L) 590 # define __glibcxx_raw_memory_algorithms 201606L 591 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_raw_memory_algorithms) 592 # define __cpp_lib_raw_memory_algorithms 201606L 596 #undef __glibcxx_want_raw_memory_algorithms 598 #if !defined(__cpp_lib_array_constexpr) 599 # if (__cplusplus >= 202002L) 600 # define __glibcxx_array_constexpr 201811L 601 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 602 # define __cpp_lib_array_constexpr 201811L 604 # elif (__cplusplus >= 201703L) 605 # define __glibcxx_array_constexpr 201803L 606 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 607 # define __cpp_lib_array_constexpr 201803L 611 #undef __glibcxx_want_array_constexpr 613 #if !defined(__cpp_lib_nonmember_container_access) 614 # if (__cplusplus >= 201703L) 615 # define __glibcxx_nonmember_container_access 201411L 616 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_nonmember_container_access) 617 # define __cpp_lib_nonmember_container_access 201411L 621 #undef __glibcxx_want_nonmember_container_access 623 #if !defined(__cpp_lib_clamp) 624 # if (__cplusplus >= 201703L) 625 # define __glibcxx_clamp 201603L 626 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_clamp) 627 # define __cpp_lib_clamp 201603L 631 #undef __glibcxx_want_clamp 633 #if !defined(__cpp_lib_sample) 634 # if (__cplusplus >= 201703L) 635 # define __glibcxx_sample 201603L 636 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_sample) 637 # define __cpp_lib_sample 201603L 641 #undef __glibcxx_want_sample 643 #if !defined(__cpp_lib_boyer_moore_searcher) 644 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 645 # define __glibcxx_boyer_moore_searcher 201603L 646 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_boyer_moore_searcher) 647 # define __cpp_lib_boyer_moore_searcher 201603L 651 #undef __glibcxx_want_boyer_moore_searcher 653 #if !defined(__cpp_lib_chrono) 654 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 655 # define __glibcxx_chrono 201907L 656 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 657 # define __cpp_lib_chrono 201907L 659 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 660 # define __glibcxx_chrono 201611L 661 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 662 # define __cpp_lib_chrono 201611L 666 #undef __glibcxx_want_chrono 668 #if !defined(__cpp_lib_execution) 669 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 670 # define __glibcxx_execution 201902L 671 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_execution) 672 # define __cpp_lib_execution 201902L 676 #undef __glibcxx_want_execution 678 #if !defined(__cpp_lib_filesystem) 679 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 680 # define __glibcxx_filesystem 201703L 681 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_filesystem) 682 # define __cpp_lib_filesystem 201703L 686 #undef __glibcxx_want_filesystem 688 #if !defined(__cpp_lib_hypot) 689 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 690 # define __glibcxx_hypot 201603L 691 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hypot) 692 # define __cpp_lib_hypot 201603L 696 #undef __glibcxx_want_hypot 698 #if !defined(__cpp_lib_map_try_emplace) 699 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 700 # define __glibcxx_map_try_emplace 201411L 701 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_map_try_emplace) 702 # define __cpp_lib_map_try_emplace 201411L 706 #undef __glibcxx_want_map_try_emplace 708 #if !defined(__cpp_lib_math_special_functions) 709 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 710 # define __glibcxx_math_special_functions 201603L 711 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_special_functions) 712 # define __cpp_lib_math_special_functions 201603L 716 #undef __glibcxx_want_math_special_functions 718 #if !defined(__cpp_lib_memory_resource) 719 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 720 # define __glibcxx_memory_resource 201603L 721 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 722 # define __cpp_lib_memory_resource 201603L 724 # elif (__cplusplus >= 201703L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 725 # define __glibcxx_memory_resource 1L 726 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 727 # define __cpp_lib_memory_resource 1L 731 #undef __glibcxx_want_memory_resource 733 #if !defined(__cpp_lib_node_extract) 734 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 735 # define __glibcxx_node_extract 201606L 736 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_node_extract) 737 # define __cpp_lib_node_extract 201606L 741 #undef __glibcxx_want_node_extract 743 #if !defined(__cpp_lib_parallel_algorithm) 744 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 745 # define __glibcxx_parallel_algorithm 201603L 746 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_parallel_algorithm) 747 # define __cpp_lib_parallel_algorithm 201603L 751 #undef __glibcxx_want_parallel_algorithm 753 #if !defined(__cpp_lib_scoped_lock) 754 # if (__cplusplus >= 201703L) 755 # define __glibcxx_scoped_lock 201703L 756 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_scoped_lock) 757 # define __cpp_lib_scoped_lock 201703L 761 #undef __glibcxx_want_scoped_lock 763 #if !defined(__cpp_lib_shared_mutex) 764 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 765 # define __glibcxx_shared_mutex 201505L 766 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_mutex) 767 # define __cpp_lib_shared_mutex 201505L 771 #undef __glibcxx_want_shared_mutex 773 #if !defined(__cpp_lib_shared_ptr_weak_type) 774 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 775 # define __glibcxx_shared_ptr_weak_type 201606L 776 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_weak_type) 777 # define __cpp_lib_shared_ptr_weak_type 201606L 781 #undef __glibcxx_want_shared_ptr_weak_type 783 #if !defined(__cpp_lib_string_view) 784 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 785 # define __glibcxx_string_view 202403L 786 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_view) 787 # define __cpp_lib_string_view 202403L 789 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 790 # define __glibcxx_string_view 201803L 791 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_view) 792 # define __cpp_lib_string_view 201803L 796 #undef __glibcxx_want_string_view 798 #if !defined(__cpp_lib_unordered_map_try_emplace) 799 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 800 # define __glibcxx_unordered_map_try_emplace 201411L 801 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unordered_map_try_emplace) 802 # define __cpp_lib_unordered_map_try_emplace 201411L 806 #undef __glibcxx_want_unordered_map_try_emplace 808 #if !defined(__cpp_lib_assume_aligned) 809 # if (__cplusplus >= 202002L) 810 # define __glibcxx_assume_aligned 201811L 811 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_assume_aligned) 812 # define __cpp_lib_assume_aligned 201811L 816 #undef __glibcxx_want_assume_aligned 818 #if !defined(__cpp_lib_atomic_flag_test) 819 # if (__cplusplus >= 202002L) 820 # define __glibcxx_atomic_flag_test 201907L 821 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_flag_test) 822 # define __cpp_lib_atomic_flag_test 201907L 826 #undef __glibcxx_want_atomic_flag_test 828 #if !defined(__cpp_lib_atomic_float) 829 # if (__cplusplus >= 202002L) 830 # define __glibcxx_atomic_float 201711L 831 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_float) 832 # define __cpp_lib_atomic_float 201711L 836 #undef __glibcxx_want_atomic_float 838 #if !defined(__cpp_lib_atomic_lock_free_type_aliases) 839 # if (__cplusplus >= 202002L) && ((__GCC_ATOMIC_INT_LOCK_FREE | __GCC_ATOMIC_LONG_LOCK_FREE | __GCC_ATOMIC_CHAR_LOCK_FREE) & 2) 840 # define __glibcxx_atomic_lock_free_type_aliases 201907L 841 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_lock_free_type_aliases) 842 # define __cpp_lib_atomic_lock_free_type_aliases 201907L 846 #undef __glibcxx_want_atomic_lock_free_type_aliases 848 #if !defined(__cpp_lib_atomic_ref) 849 # if (__cplusplus >= 202002L) 850 # define __glibcxx_atomic_ref 201806L 851 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_ref) 852 # define __cpp_lib_atomic_ref 201806L 856 #undef __glibcxx_want_atomic_ref 858 #if !defined(__cpp_lib_atomic_value_initialization) 859 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 201907L) 860 # define __glibcxx_atomic_value_initialization 201911L 861 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_value_initialization) 862 # define __cpp_lib_atomic_value_initialization 201911L 866 #undef __glibcxx_want_atomic_value_initialization 868 #if !defined(__cpp_lib_bind_front) 869 # if (__cplusplus >= 202002L) 870 # define __glibcxx_bind_front 201907L 871 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_front) 872 # define __cpp_lib_bind_front 201907L 876 #undef __glibcxx_want_bind_front 878 #if !defined(__cpp_lib_bind_back) 879 # if (__cplusplus >= 202100L) && (__cpp_explicit_this_parameter) 880 # define __glibcxx_bind_back 202202L 881 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_back) 882 # define __cpp_lib_bind_back 202202L 886 #undef __glibcxx_want_bind_back 888 #if !defined(__cpp_lib_starts_ends_with) 889 # if (__cplusplus >= 202002L) 890 # define __glibcxx_starts_ends_with 201711L 891 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_starts_ends_with) 892 # define __cpp_lib_starts_ends_with 201711L 896 #undef __glibcxx_want_starts_ends_with 898 #if !defined(__cpp_lib_bit_cast) 899 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_bit_cast)) 900 # define __glibcxx_bit_cast 201806L 901 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bit_cast) 902 # define __cpp_lib_bit_cast 201806L 906 #undef __glibcxx_want_bit_cast 908 #if !defined(__cpp_lib_bitops) 909 # if (__cplusplus >= 202002L) 910 # define __glibcxx_bitops 201907L 911 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bitops) 912 # define __cpp_lib_bitops 201907L 916 #undef __glibcxx_want_bitops 918 #if !defined(__cpp_lib_bounded_array_traits) 919 # if (__cplusplus >= 202002L) 920 # define __glibcxx_bounded_array_traits 201902L 921 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bounded_array_traits) 922 # define __cpp_lib_bounded_array_traits 201902L 926 #undef __glibcxx_want_bounded_array_traits 928 #if !defined(__cpp_lib_concepts) 929 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 201907L) 930 # define __glibcxx_concepts 202002L 931 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_concepts) 932 # define __cpp_lib_concepts 202002L 936 #undef __glibcxx_want_concepts 938 #if !defined(__cpp_lib_optional) 939 # if (__cplusplus >= 202100L) && (__glibcxx_concepts) 940 # define __glibcxx_optional 202110L 941 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 942 # define __cpp_lib_optional 202110L 944 # elif (__cplusplus >= 202002L) 945 # define __glibcxx_optional 202106L 946 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 947 # define __cpp_lib_optional 202106L 949 # elif (__cplusplus >= 201703L) 950 # define __glibcxx_optional 201606L 951 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 952 # define __cpp_lib_optional 201606L 956 #undef __glibcxx_want_optional 958 #if !defined(__cpp_lib_destroying_delete) 959 # if (__cplusplus >= 202002L) && (__cpp_impl_destroying_delete) 960 # define __glibcxx_destroying_delete 201806L 961 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_destroying_delete) 962 # define __cpp_lib_destroying_delete 201806L 966 #undef __glibcxx_want_destroying_delete 968 #if !defined(__cpp_lib_constexpr_string_view) 969 # if (__cplusplus >= 202002L) 970 # define __glibcxx_constexpr_string_view 201811L 971 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string_view) 972 # define __cpp_lib_constexpr_string_view 201811L 976 #undef __glibcxx_want_constexpr_string_view 978 #if !defined(__cpp_lib_endian) 979 # if (__cplusplus >= 202002L) 980 # define __glibcxx_endian 201907L 981 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_endian) 982 # define __cpp_lib_endian 201907L 986 #undef __glibcxx_want_endian 988 #if !defined(__cpp_lib_int_pow2) 989 # if (__cplusplus >= 202002L) 990 # define __glibcxx_int_pow2 202002L 991 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_int_pow2) 992 # define __cpp_lib_int_pow2 202002L 996 #undef __glibcxx_want_int_pow2 998 #if !defined(__cpp_lib_integer_comparison_functions) 999 # if (__cplusplus >= 202002L) 1000 # define __glibcxx_integer_comparison_functions 202002L 1001 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_comparison_functions) 1002 # define __cpp_lib_integer_comparison_functions 202002L 1006 #undef __glibcxx_want_integer_comparison_functions 1008 #if !defined(__cpp_lib_is_constant_evaluated) 1009 # if (__cplusplus >= 202002L) && (defined(_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED)) 1010 # define __glibcxx_is_constant_evaluated 201811L 1011 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_constant_evaluated) 1012 # define __cpp_lib_is_constant_evaluated 201811L 1016 #undef __glibcxx_want_is_constant_evaluated 1018 #if !defined(__cpp_lib_constexpr_char_traits) 1019 # if (__cplusplus >= 202002L) && (defined(__glibcxx_is_constant_evaluated)) 1020 # define __glibcxx_constexpr_char_traits 201811L 1021 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1022 # define __cpp_lib_constexpr_char_traits 201811L 1024 # elif (__cplusplus >= 201703L) && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1025 # define __glibcxx_constexpr_char_traits 201611L 1026 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1027 # define __cpp_lib_constexpr_char_traits 201611L 1031 #undef __glibcxx_want_constexpr_char_traits 1033 #if !defined(__cpp_lib_is_layout_compatible) 1034 # if (__cplusplus >= 202002L) && (__has_builtin(__is_layout_compatible) && __has_builtin(__builtin_is_corresponding_member)) 1035 # define __glibcxx_is_layout_compatible 201907L 1036 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_layout_compatible) 1037 # define __cpp_lib_is_layout_compatible 201907L 1041 #undef __glibcxx_want_is_layout_compatible 1043 #if !defined(__cpp_lib_is_nothrow_convertible) 1044 # if (__cplusplus >= 202002L) 1045 # define __glibcxx_is_nothrow_convertible 201806L 1046 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_nothrow_convertible) 1047 # define __cpp_lib_is_nothrow_convertible 201806L 1051 #undef __glibcxx_want_is_nothrow_convertible 1053 #if !defined(__cpp_lib_is_pointer_interconvertible) 1054 # if (__cplusplus >= 202002L) && (__has_builtin(__is_pointer_interconvertible_base_of) && __has_builtin(__builtin_is_pointer_interconvertible_with_class)) 1055 # define __glibcxx_is_pointer_interconvertible 201907L 1056 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_pointer_interconvertible) 1057 # define __cpp_lib_is_pointer_interconvertible 201907L 1061 #undef __glibcxx_want_is_pointer_interconvertible 1063 #if !defined(__cpp_lib_math_constants) 1064 # if (__cplusplus >= 202002L) 1065 # define __glibcxx_math_constants 201907L 1066 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_constants) 1067 # define __cpp_lib_math_constants 201907L 1071 #undef __glibcxx_want_math_constants 1073 #if !defined(__cpp_lib_make_obj_using_allocator) 1074 # if (__cplusplus >= 202002L) && (__cpp_concepts) 1075 # define __glibcxx_make_obj_using_allocator 201811L 1076 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_obj_using_allocator) 1077 # define __cpp_lib_make_obj_using_allocator 201811L 1081 #undef __glibcxx_want_make_obj_using_allocator 1083 #if !defined(__cpp_lib_remove_cvref) 1084 # if (__cplusplus >= 202002L) 1085 # define __glibcxx_remove_cvref 201711L 1086 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_remove_cvref) 1087 # define __cpp_lib_remove_cvref 201711L 1091 #undef __glibcxx_want_remove_cvref 1093 #if !defined(__cpp_lib_source_location) 1094 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_source_location)) 1095 # define __glibcxx_source_location 201907L 1096 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_source_location) 1097 # define __cpp_lib_source_location 201907L 1101 #undef __glibcxx_want_source_location 1103 #if !defined(__cpp_lib_span) 1104 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1105 # define __glibcxx_span 202311L 1106 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1107 # define __cpp_lib_span 202311L 1109 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1110 # define __glibcxx_span 202002L 1111 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1112 # define __cpp_lib_span 202002L 1116 #undef __glibcxx_want_span 1118 #if !defined(__cpp_lib_ssize) 1119 # if (__cplusplus >= 202002L) 1120 # define __glibcxx_ssize 201902L 1121 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ssize) 1122 # define __cpp_lib_ssize 201902L 1126 #undef __glibcxx_want_ssize 1128 #if !defined(__cpp_lib_three_way_comparison) 1129 # if (__cplusplus >= 202002L) && (__cpp_impl_three_way_comparison >= 201907L && __glibcxx_concepts) 1130 # define __glibcxx_three_way_comparison 201907L 1131 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_three_way_comparison) 1132 # define __cpp_lib_three_way_comparison 201907L 1136 #undef __glibcxx_want_three_way_comparison 1138 #if !defined(__cpp_lib_to_address) 1139 # if (__cplusplus >= 202002L) 1140 # define __glibcxx_to_address 201711L 1141 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_address) 1142 # define __cpp_lib_to_address 201711L 1146 #undef __glibcxx_want_to_address 1148 #if !defined(__cpp_lib_to_array) 1149 # if (__cplusplus >= 202002L) && (__cpp_generic_lambdas >= 201707L) 1150 # define __glibcxx_to_array 201907L 1151 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_array) 1152 # define __cpp_lib_to_array 201907L 1156 #undef __glibcxx_want_to_array 1158 #if !defined(__cpp_lib_type_identity) 1159 # if (__cplusplus >= 202002L) 1160 # define __glibcxx_type_identity 201806L 1161 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_identity) 1162 # define __cpp_lib_type_identity 201806L 1166 #undef __glibcxx_want_type_identity 1168 #if !defined(__cpp_lib_unwrap_ref) 1169 # if (__cplusplus >= 202002L) 1170 # define __glibcxx_unwrap_ref 201811L 1171 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unwrap_ref) 1172 # define __cpp_lib_unwrap_ref 201811L 1176 #undef __glibcxx_want_unwrap_ref 1178 #if !defined(__cpp_lib_constexpr_iterator) 1179 # if (__cplusplus >= 202002L) 1180 # define __glibcxx_constexpr_iterator 201811L 1181 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_iterator) 1182 # define __cpp_lib_constexpr_iterator 201811L 1186 #undef __glibcxx_want_constexpr_iterator 1188 #if !defined(__cpp_lib_interpolate) 1189 # if (__cplusplus >= 202002L) 1190 # define __glibcxx_interpolate 201902L 1191 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_interpolate) 1192 # define __cpp_lib_interpolate 201902L 1196 #undef __glibcxx_want_interpolate 1198 #if !defined(__cpp_lib_constexpr_utility) 1199 # if (__cplusplus >= 202002L) 1200 # define __glibcxx_constexpr_utility 201811L 1201 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_utility) 1202 # define __cpp_lib_constexpr_utility 201811L 1206 #undef __glibcxx_want_constexpr_utility 1208 #if !defined(__cpp_lib_shift) 1209 # if (__cplusplus >= 202002L) 1210 # define __glibcxx_shift 201806L 1211 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shift) 1212 # define __cpp_lib_shift 201806L 1216 #undef __glibcxx_want_shift 1218 #if !defined(__cpp_lib_ranges) 1219 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1220 # define __glibcxx_ranges 202406L 1221 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1222 # define __cpp_lib_ranges 202406L 1224 # elif (__cplusplus >= 202100L) && (__glibcxx_concepts) 1225 # define __glibcxx_ranges 202302L 1226 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1227 # define __cpp_lib_ranges 202302L 1229 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1230 # define __glibcxx_ranges 202110L 1231 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1232 # define __cpp_lib_ranges 202110L 1236 #undef __glibcxx_want_ranges 1238 #if !defined(__cpp_lib_constexpr_numeric) 1239 # if (__cplusplus >= 202002L) 1240 # define __glibcxx_constexpr_numeric 201911L 1241 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_numeric) 1242 # define __cpp_lib_constexpr_numeric 201911L 1246 #undef __glibcxx_want_constexpr_numeric 1248 #if !defined(__cpp_lib_constexpr_functional) 1249 # if (__cplusplus >= 202002L) 1250 # define __glibcxx_constexpr_functional 201907L 1251 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_functional) 1252 # define __cpp_lib_constexpr_functional 201907L 1256 #undef __glibcxx_want_constexpr_functional 1258 #if !defined(__cpp_lib_constexpr_algorithms) 1259 # if (__cplusplus > 202302L) 1260 # define __glibcxx_constexpr_algorithms 202306L 1261 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms) 1262 # define __cpp_lib_constexpr_algorithms 202306L 1264 # elif (__cplusplus >= 202002L) 1265 # define __glibcxx_constexpr_algorithms 201806L 1266 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms) 1267 # define __cpp_lib_constexpr_algorithms 201806L 1271 #undef __glibcxx_want_constexpr_algorithms 1273 #if !defined(__cpp_lib_constexpr_tuple) 1274 # if (__cplusplus >= 202002L) 1275 # define __glibcxx_constexpr_tuple 201811L 1276 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_tuple) 1277 # define __cpp_lib_constexpr_tuple 201811L 1281 #undef __glibcxx_want_constexpr_tuple 1283 #if !defined(__cpp_lib_constexpr_memory) 1284 # if (__cplusplus >= 202100L) && (__cpp_constexpr_dynamic_alloc) 1285 # define __glibcxx_constexpr_memory 202202L 1286 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1287 # define __cpp_lib_constexpr_memory 202202L 1289 # elif (__cplusplus >= 202002L) 1290 # define __glibcxx_constexpr_memory 201811L 1291 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1292 # define __cpp_lib_constexpr_memory 201811L 1296 #undef __glibcxx_want_constexpr_memory 1298 #if !defined(__cpp_lib_atomic_shared_ptr) 1299 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1300 # define __glibcxx_atomic_shared_ptr 201711L 1301 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_shared_ptr) 1302 # define __cpp_lib_atomic_shared_ptr 201711L 1306 #undef __glibcxx_want_atomic_shared_ptr 1308 #if !defined(__cpp_lib_atomic_wait) 1309 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1310 # define __glibcxx_atomic_wait 201907L 1311 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1312 # define __cpp_lib_atomic_wait 201907L 1314 # elif (__cplusplus >= 202002L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED && (defined(_GLIBCXX_HAVE_LINUX_FUTEX)) 1315 # define __glibcxx_atomic_wait 201907L 1316 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1317 # define __cpp_lib_atomic_wait 201907L 1321 #undef __glibcxx_want_atomic_wait 1323 #if !defined(__cpp_lib_barrier) 1324 # if (__cplusplus >= 202002L) && (__cpp_aligned_new && __glibcxx_atomic_wait) 1325 # define __glibcxx_barrier 201907L 1326 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_barrier) 1327 # define __cpp_lib_barrier 201907L 1331 #undef __glibcxx_want_barrier 1333 #if !defined(__cpp_lib_format) 1334 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 1335 # define __glibcxx_format 202311L 1336 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format) 1337 # define __cpp_lib_format 202311L 1339 # elif (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1340 # define __glibcxx_format 202304L 1341 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format) 1342 # define __cpp_lib_format 202304L 1346 #undef __glibcxx_want_format 1348 #if !defined(__cpp_lib_format_uchar) 1349 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1350 # define __glibcxx_format_uchar 202311L 1351 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_uchar) 1352 # define __cpp_lib_format_uchar 202311L 1356 #undef __glibcxx_want_format_uchar 1358 #if !defined(__cpp_lib_constexpr_complex) 1359 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1360 # define __glibcxx_constexpr_complex 201711L 1361 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_complex) 1362 # define __cpp_lib_constexpr_complex 201711L 1366 #undef __glibcxx_want_constexpr_complex 1368 #if !defined(__cpp_lib_constexpr_dynamic_alloc) 1369 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1370 # define __glibcxx_constexpr_dynamic_alloc 201907L 1371 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_dynamic_alloc) 1372 # define __cpp_lib_constexpr_dynamic_alloc 201907L 1376 #undef __glibcxx_want_constexpr_dynamic_alloc 1378 #if !defined(__cpp_lib_constexpr_string) 1379 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1380 # define __glibcxx_constexpr_string 201907L 1381 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1382 # define __cpp_lib_constexpr_string 201907L 1384 # elif (__cplusplus >= 202002L) && !_GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1385 # define __glibcxx_constexpr_string 201811L 1386 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1387 # define __cpp_lib_constexpr_string 201811L 1389 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1390 # define __glibcxx_constexpr_string 201611L 1391 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1392 # define __cpp_lib_constexpr_string 201611L 1396 #undef __glibcxx_want_constexpr_string 1398 #if !defined(__cpp_lib_constexpr_vector) 1399 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1400 # define __glibcxx_constexpr_vector 201907L 1401 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_vector) 1402 # define __cpp_lib_constexpr_vector 201907L 1406 #undef __glibcxx_want_constexpr_vector 1408 #if !defined(__cpp_lib_constrained_equality) 1409 # if (__cplusplus >= 202100L) && (__glibcxx_three_way_comparison) 1410 # define __glibcxx_constrained_equality 202411L 1411 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constrained_equality) 1412 # define __cpp_lib_constrained_equality 202411L 1414 # elif (__cplusplus >= 202002L) && (__glibcxx_three_way_comparison) 1415 # define __glibcxx_constrained_equality 202403L 1416 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constrained_equality) 1417 # define __cpp_lib_constrained_equality 202403L 1421 #undef __glibcxx_want_constrained_equality 1423 #if !defined(__cpp_lib_erase_if) 1424 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1425 # define __glibcxx_erase_if 202002L 1426 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_erase_if) 1427 # define __cpp_lib_erase_if 202002L 1431 #undef __glibcxx_want_erase_if 1433 #if !defined(__cpp_lib_generic_unordered_lookup) 1434 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1435 # define __glibcxx_generic_unordered_lookup 201811L 1436 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_unordered_lookup) 1437 # define __cpp_lib_generic_unordered_lookup 201811L 1441 #undef __glibcxx_want_generic_unordered_lookup 1443 #if !defined(__cpp_lib_jthread) 1444 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1445 # define __glibcxx_jthread 201911L 1446 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_jthread) 1447 # define __cpp_lib_jthread 201911L 1451 #undef __glibcxx_want_jthread 1453 #if !defined(__cpp_lib_latch) 1454 # if (__cplusplus >= 202002L) && (__glibcxx_atomic_wait) 1455 # define __glibcxx_latch 201907L 1456 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_latch) 1457 # define __cpp_lib_latch 201907L 1461 #undef __glibcxx_want_latch 1463 #if !defined(__cpp_lib_list_remove_return_type) 1464 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1465 # define __glibcxx_list_remove_return_type 201806L 1466 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_list_remove_return_type) 1467 # define __cpp_lib_list_remove_return_type 201806L 1471 #undef __glibcxx_want_list_remove_return_type 1473 #if !defined(__cpp_lib_polymorphic_allocator) 1474 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1475 # define __glibcxx_polymorphic_allocator 201902L 1476 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_polymorphic_allocator) 1477 # define __cpp_lib_polymorphic_allocator 201902L 1481 #undef __glibcxx_want_polymorphic_allocator 1483 #if !defined(__cpp_lib_move_iterator_concept) 1484 # if (__cplusplus >= 202002L) && (__glibcxx_concepts) 1485 # define __glibcxx_move_iterator_concept 202207L 1486 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_iterator_concept) 1487 # define __cpp_lib_move_iterator_concept 202207L 1491 #undef __glibcxx_want_move_iterator_concept 1493 #if !defined(__cpp_lib_semaphore) 1494 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED && (__glibcxx_atomic_wait || _GLIBCXX_HAVE_POSIX_SEMAPHORE) 1495 # define __glibcxx_semaphore 201907L 1496 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_semaphore) 1497 # define __cpp_lib_semaphore 201907L 1501 #undef __glibcxx_want_semaphore 1503 #if !defined(__cpp_lib_smart_ptr_for_overwrite) 1504 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1505 # define __glibcxx_smart_ptr_for_overwrite 202002L 1506 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_smart_ptr_for_overwrite) 1507 # define __cpp_lib_smart_ptr_for_overwrite 202002L 1511 #undef __glibcxx_want_smart_ptr_for_overwrite 1513 #if !defined(__cpp_lib_syncbuf) 1514 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 1515 # define __glibcxx_syncbuf 201803L 1516 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_syncbuf) 1517 # define __cpp_lib_syncbuf 201803L 1521 #undef __glibcxx_want_syncbuf 1523 #if !defined(__cpp_lib_byteswap) 1524 # if (__cplusplus >= 202100L) 1525 # define __glibcxx_byteswap 202110L 1526 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byteswap) 1527 # define __cpp_lib_byteswap 202110L 1531 #undef __glibcxx_want_byteswap 1533 #if !defined(__cpp_lib_constexpr_charconv) 1534 # if (__cplusplus >= 202100L) 1535 # define __glibcxx_constexpr_charconv 202207L 1536 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_charconv) 1537 # define __cpp_lib_constexpr_charconv 202207L 1541 #undef __glibcxx_want_constexpr_charconv 1543 #if !defined(__cpp_lib_constexpr_typeinfo) 1544 # if (__cplusplus >= 202100L) 1545 # define __glibcxx_constexpr_typeinfo 202106L 1546 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_typeinfo) 1547 # define __cpp_lib_constexpr_typeinfo 202106L 1551 #undef __glibcxx_want_constexpr_typeinfo 1553 #if !defined(__cpp_lib_expected) 1554 # if (__cplusplus >= 202100L) && (__cpp_concepts >= 202002L) 1555 # define __glibcxx_expected 202211L 1556 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_expected) 1557 # define __cpp_lib_expected 202211L 1561 #undef __glibcxx_want_expected 1563 #if !defined(__cpp_lib_format_ranges) 1564 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1565 # define __glibcxx_format_ranges 202207L 1566 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_ranges) 1567 # define __cpp_lib_format_ranges 202207L 1571 #undef __glibcxx_want_format_ranges 1573 #if !defined(__cpp_lib_freestanding_algorithm) 1574 # if (__cplusplus >= 202100L) 1575 # define __glibcxx_freestanding_algorithm 202311L 1576 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_algorithm) 1577 # define __cpp_lib_freestanding_algorithm 202311L 1581 #undef __glibcxx_want_freestanding_algorithm 1583 #if !defined(__cpp_lib_freestanding_array) 1584 # if (__cplusplus >= 202100L) 1585 # define __glibcxx_freestanding_array 202311L 1586 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_array) 1587 # define __cpp_lib_freestanding_array 202311L 1591 #undef __glibcxx_want_freestanding_array 1593 #if !defined(__cpp_lib_freestanding_cstring) 1594 # if (__cplusplus >= 202100L) 1595 # define __glibcxx_freestanding_cstring 202311L 1596 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_cstring) 1597 # define __cpp_lib_freestanding_cstring 202311L 1601 #undef __glibcxx_want_freestanding_cstring 1603 #if !defined(__cpp_lib_freestanding_expected) 1604 # if (__cplusplus >= 202100L) && (__cpp_lib_expected) 1605 # define __glibcxx_freestanding_expected 202311L 1606 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_expected) 1607 # define __cpp_lib_freestanding_expected 202311L 1611 #undef __glibcxx_want_freestanding_expected 1613 #if !defined(__cpp_lib_freestanding_optional) 1614 # if (__cplusplus >= 202100L) 1615 # define __glibcxx_freestanding_optional 202311L 1616 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_optional) 1617 # define __cpp_lib_freestanding_optional 202311L 1621 #undef __glibcxx_want_freestanding_optional 1623 #if !defined(__cpp_lib_freestanding_string_view) 1624 # if (__cplusplus >= 202100L) 1625 # define __glibcxx_freestanding_string_view 202311L 1626 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_string_view) 1627 # define __cpp_lib_freestanding_string_view 202311L 1631 #undef __glibcxx_want_freestanding_string_view 1633 #if !defined(__cpp_lib_freestanding_variant) 1634 # if (__cplusplus >= 202100L) 1635 # define __glibcxx_freestanding_variant 202311L 1636 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_variant) 1637 # define __cpp_lib_freestanding_variant 202311L 1641 #undef __glibcxx_want_freestanding_variant 1643 #if !defined(__cpp_lib_invoke_r) 1644 # if (__cplusplus >= 202100L) 1645 # define __glibcxx_invoke_r 202106L 1646 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke_r) 1647 # define __cpp_lib_invoke_r 202106L 1651 #undef __glibcxx_want_invoke_r 1653 #if !defined(__cpp_lib_is_scoped_enum) 1654 # if (__cplusplus >= 202100L) 1655 # define __glibcxx_is_scoped_enum 202011L 1656 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_scoped_enum) 1657 # define __cpp_lib_is_scoped_enum 202011L 1661 #undef __glibcxx_want_is_scoped_enum 1663 #if !defined(__cpp_lib_reference_from_temporary) 1664 # if (__cplusplus >= 202100L) && (__has_builtin(__reference_constructs_from_temporary) && __has_builtin(__reference_converts_from_temporary)) 1665 # define __glibcxx_reference_from_temporary 202202L 1666 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_from_temporary) 1667 # define __cpp_lib_reference_from_temporary 202202L 1671 #undef __glibcxx_want_reference_from_temporary 1673 #if !defined(__cpp_lib_containers_ranges) 1674 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1675 # define __glibcxx_containers_ranges 202202L 1676 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_containers_ranges) 1677 # define __cpp_lib_containers_ranges 202202L 1681 #undef __glibcxx_want_containers_ranges 1683 #if !defined(__cpp_lib_ranges_to_container) 1684 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1685 # define __glibcxx_ranges_to_container 202202L 1686 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_to_container) 1687 # define __cpp_lib_ranges_to_container 202202L 1691 #undef __glibcxx_want_ranges_to_container 1693 #if !defined(__cpp_lib_ranges_zip) 1694 # if (__cplusplus >= 202100L) 1695 # define __glibcxx_ranges_zip 202110L 1696 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_zip) 1697 # define __cpp_lib_ranges_zip 202110L 1701 #undef __glibcxx_want_ranges_zip 1703 #if !defined(__cpp_lib_ranges_chunk) 1704 # if (__cplusplus >= 202100L) 1705 # define __glibcxx_ranges_chunk 202202L 1706 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk) 1707 # define __cpp_lib_ranges_chunk 202202L 1711 #undef __glibcxx_want_ranges_chunk 1713 #if !defined(__cpp_lib_ranges_slide) 1714 # if (__cplusplus >= 202100L) 1715 # define __glibcxx_ranges_slide 202202L 1716 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_slide) 1717 # define __cpp_lib_ranges_slide 202202L 1721 #undef __glibcxx_want_ranges_slide 1723 #if !defined(__cpp_lib_ranges_chunk_by) 1724 # if (__cplusplus >= 202100L) 1725 # define __glibcxx_ranges_chunk_by 202202L 1726 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk_by) 1727 # define __cpp_lib_ranges_chunk_by 202202L 1731 #undef __glibcxx_want_ranges_chunk_by 1733 #if !defined(__cpp_lib_ranges_join_with) 1734 # if (__cplusplus >= 202100L) 1735 # define __glibcxx_ranges_join_with 202202L 1736 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_join_with) 1737 # define __cpp_lib_ranges_join_with 202202L 1741 #undef __glibcxx_want_ranges_join_with 1743 #if !defined(__cpp_lib_ranges_repeat) 1744 # if (__cplusplus >= 202100L) 1745 # define __glibcxx_ranges_repeat 202207L 1746 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_repeat) 1747 # define __cpp_lib_ranges_repeat 202207L 1751 #undef __glibcxx_want_ranges_repeat 1753 #if !defined(__cpp_lib_ranges_stride) 1754 # if (__cplusplus >= 202100L) 1755 # define __glibcxx_ranges_stride 202207L 1756 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_stride) 1757 # define __cpp_lib_ranges_stride 202207L 1761 #undef __glibcxx_want_ranges_stride 1763 #if !defined(__cpp_lib_ranges_cartesian_product) 1764 # if (__cplusplus >= 202100L) 1765 # define __glibcxx_ranges_cartesian_product 202207L 1766 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_cartesian_product) 1767 # define __cpp_lib_ranges_cartesian_product 202207L 1771 #undef __glibcxx_want_ranges_cartesian_product 1773 #if !defined(__cpp_lib_ranges_as_rvalue) 1774 # if (__cplusplus >= 202100L) 1775 # define __glibcxx_ranges_as_rvalue 202207L 1776 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_rvalue) 1777 # define __cpp_lib_ranges_as_rvalue 202207L 1781 #undef __glibcxx_want_ranges_as_rvalue 1783 #if !defined(__cpp_lib_ranges_as_const) 1784 # if (__cplusplus >= 202100L) 1785 # define __glibcxx_ranges_as_const 202311L 1786 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_const) 1787 # define __cpp_lib_ranges_as_const 202311L 1791 #undef __glibcxx_want_ranges_as_const 1793 #if !defined(__cpp_lib_ranges_enumerate) 1794 # if (__cplusplus >= 202100L) 1795 # define __glibcxx_ranges_enumerate 202302L 1796 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_enumerate) 1797 # define __cpp_lib_ranges_enumerate 202302L 1801 #undef __glibcxx_want_ranges_enumerate 1803 #if !defined(__cpp_lib_ranges_fold) 1804 # if (__cplusplus >= 202100L) 1805 # define __glibcxx_ranges_fold 202207L 1806 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_fold) 1807 # define __cpp_lib_ranges_fold 202207L 1811 #undef __glibcxx_want_ranges_fold 1813 #if !defined(__cpp_lib_ranges_contains) 1814 # if (__cplusplus >= 202100L) 1815 # define __glibcxx_ranges_contains 202207L 1816 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_contains) 1817 # define __cpp_lib_ranges_contains 202207L 1821 #undef __glibcxx_want_ranges_contains 1823 #if !defined(__cpp_lib_ranges_iota) 1824 # if (__cplusplus >= 202100L) 1825 # define __glibcxx_ranges_iota 202202L 1826 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_iota) 1827 # define __cpp_lib_ranges_iota 202202L 1831 #undef __glibcxx_want_ranges_iota 1833 #if !defined(__cpp_lib_ranges_find_last) 1834 # if (__cplusplus >= 202100L) 1835 # define __glibcxx_ranges_find_last 202207L 1836 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_find_last) 1837 # define __cpp_lib_ranges_find_last 202207L 1841 #undef __glibcxx_want_ranges_find_last 1843 #if !defined(__cpp_lib_constexpr_bitset) 1844 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__cpp_constexpr_dynamic_alloc) 1845 # define __glibcxx_constexpr_bitset 202202L 1846 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_bitset) 1847 # define __cpp_lib_constexpr_bitset 202202L 1851 #undef __glibcxx_want_constexpr_bitset 1853 #if !defined(__cpp_lib_stdatomic_h) 1854 # if (__cplusplus >= 202100L) 1855 # define __glibcxx_stdatomic_h 202011L 1856 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stdatomic_h) 1857 # define __cpp_lib_stdatomic_h 202011L 1861 #undef __glibcxx_want_stdatomic_h 1863 #if !defined(__cpp_lib_adaptor_iterator_pair_constructor) 1864 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1865 # define __glibcxx_adaptor_iterator_pair_constructor 202106L 1866 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_adaptor_iterator_pair_constructor) 1867 # define __cpp_lib_adaptor_iterator_pair_constructor 202106L 1871 #undef __glibcxx_want_adaptor_iterator_pair_constructor 1873 #if !defined(__cpp_lib_flat_map) 1874 # if (__cplusplus >= 202100L) 1875 # define __glibcxx_flat_map 202207L 1876 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_flat_map) 1877 # define __cpp_lib_flat_map 202207L 1881 #undef __glibcxx_want_flat_map 1883 #if !defined(__cpp_lib_flat_set) 1884 # if (__cplusplus >= 202100L) 1885 # define __glibcxx_flat_set 202207L 1886 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_flat_set) 1887 # define __cpp_lib_flat_set 202207L 1891 #undef __glibcxx_want_flat_set 1893 #if !defined(__cpp_lib_formatters) 1894 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1895 # define __glibcxx_formatters 202302L 1896 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_formatters) 1897 # define __cpp_lib_formatters 202302L 1901 #undef __glibcxx_want_formatters 1903 #if !defined(__cpp_lib_forward_like) 1904 # if (__cplusplus >= 202100L) 1905 # define __glibcxx_forward_like 202207L 1906 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_forward_like) 1907 # define __cpp_lib_forward_like 202207L 1911 #undef __glibcxx_want_forward_like 1913 #if !defined(__cpp_lib_generator) 1914 # if (__cplusplus >= 202100L) && (__glibcxx_coroutine && __cpp_sized_deallocation) 1915 # define __glibcxx_generator 202207L 1916 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generator) 1917 # define __cpp_lib_generator 202207L 1921 #undef __glibcxx_want_generator 1923 #if !defined(__cpp_lib_ios_noreplace) 1924 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1925 # define __glibcxx_ios_noreplace 202207L 1926 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ios_noreplace) 1927 # define __cpp_lib_ios_noreplace 202207L 1931 #undef __glibcxx_want_ios_noreplace 1933 #if !defined(__cpp_lib_move_only_function) 1934 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1935 # define __glibcxx_move_only_function 202110L 1936 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_only_function) 1937 # define __cpp_lib_move_only_function 202110L 1941 #undef __glibcxx_want_move_only_function 1943 #if !defined(__cpp_lib_out_ptr) 1944 # if (__cplusplus >= 202100L) 1945 # define __glibcxx_out_ptr 202311L 1946 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_out_ptr) 1947 # define __cpp_lib_out_ptr 202311L 1951 #undef __glibcxx_want_out_ptr 1953 #if !defined(__cpp_lib_print) 1954 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1955 # define __glibcxx_print 202211L 1956 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_print) 1957 # define __cpp_lib_print 202211L 1961 #undef __glibcxx_want_print 1963 #if !defined(__cpp_lib_spanstream) 1964 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__glibcxx_span) 1965 # define __glibcxx_spanstream 202106L 1966 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_spanstream) 1967 # define __cpp_lib_spanstream 202106L 1971 #undef __glibcxx_want_spanstream 1973 #if !defined(__cpp_lib_stacktrace) 1974 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_STACKTRACE) 1975 # define __glibcxx_stacktrace 202011L 1976 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stacktrace) 1977 # define __cpp_lib_stacktrace 202011L 1981 #undef __glibcxx_want_stacktrace 1983 #if !defined(__cpp_lib_string_contains) 1984 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1985 # define __glibcxx_string_contains 202011L 1986 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_contains) 1987 # define __cpp_lib_string_contains 202011L 1991 #undef __glibcxx_want_string_contains 1993 #if !defined(__cpp_lib_string_resize_and_overwrite) 1994 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1995 # define __glibcxx_string_resize_and_overwrite 202110L 1996 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_resize_and_overwrite) 1997 # define __cpp_lib_string_resize_and_overwrite 202110L 2001 #undef __glibcxx_want_string_resize_and_overwrite 2003 #if !defined(__cpp_lib_to_underlying) 2004 # if (__cplusplus >= 202100L) 2005 # define __glibcxx_to_underlying 202102L 2006 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_underlying) 2007 # define __cpp_lib_to_underlying 202102L 2011 #undef __glibcxx_want_to_underlying 2013 #if !defined(__cpp_lib_tuple_like) 2014 # if (__cplusplus > 202302L) && (__cpp_explicit_this_parameter >= 202110L) 2015 # define __glibcxx_tuple_like 202311L 2016 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like) 2017 # define __cpp_lib_tuple_like 202311L 2019 # elif (__cplusplus >= 202100L) 2020 # define __glibcxx_tuple_like 202207L 2021 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like) 2022 # define __cpp_lib_tuple_like 202207L 2026 #undef __glibcxx_want_tuple_like 2028 #if !defined(__cpp_lib_unreachable) 2029 # if (__cplusplus >= 202100L) 2030 # define __glibcxx_unreachable 202202L 2031 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unreachable) 2032 # define __cpp_lib_unreachable 202202L 2036 #undef __glibcxx_want_unreachable 2038 #if !defined(__cpp_lib_algorithm_default_value_type) 2039 # if (__cplusplus > 202302L) 2040 # define __glibcxx_algorithm_default_value_type 202403L 2041 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_algorithm_default_value_type) 2042 # define __cpp_lib_algorithm_default_value_type 202403L 2046 #undef __glibcxx_want_algorithm_default_value_type 2048 #if !defined(__cpp_lib_constexpr_new) 2049 # if (__cplusplus > 202302L) && (__cpp_constexpr >= 202406L) 2050 # define __glibcxx_constexpr_new 202406L 2051 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_new) 2052 # define __cpp_lib_constexpr_new 202406L 2056 #undef __glibcxx_want_constexpr_new 2058 #if !defined(__cpp_lib_fstream_native_handle) 2059 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 2060 # define __glibcxx_fstream_native_handle 202306L 2061 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_fstream_native_handle) 2062 # define __cpp_lib_fstream_native_handle 202306L 2066 #undef __glibcxx_want_fstream_native_handle 2068 #if !defined(__cpp_lib_is_virtual_base_of) 2069 # if (__cplusplus > 202302L) && (__has_builtin(__builtin_is_virtual_base_of)) 2070 # define __glibcxx_is_virtual_base_of 202406L 2071 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_virtual_base_of) 2072 # define __cpp_lib_is_virtual_base_of 202406L 2076 #undef __glibcxx_want_is_virtual_base_of 2078 #if !defined(__cpp_lib_ranges_cache_latest) 2079 # if (__cplusplus > 202302L) 2080 # define __glibcxx_ranges_cache_latest 202411L 2081 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_cache_latest) 2082 # define __cpp_lib_ranges_cache_latest 202411L 2086 #undef __glibcxx_want_ranges_cache_latest 2088 #if !defined(__cpp_lib_ranges_concat) 2089 # if (__cplusplus > 202302L) && (__cpp_pack_indexing) 2090 # define __glibcxx_ranges_concat 202403L 2091 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_concat) 2092 # define __cpp_lib_ranges_concat 202403L 2096 #undef __glibcxx_want_ranges_concat 2098 #if !defined(__cpp_lib_ratio) 2099 # if (__cplusplus > 202302L) 2100 # define __glibcxx_ratio 202306L 2101 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ratio) 2102 # define __cpp_lib_ratio 202306L 2106 #undef __glibcxx_want_ratio 2108 #if !defined(__cpp_lib_reference_wrapper) 2109 # if (__cplusplus > 202302L) 2110 # define __glibcxx_reference_wrapper 202403L 2111 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_wrapper) 2112 # define __cpp_lib_reference_wrapper 202403L 2116 #undef __glibcxx_want_reference_wrapper 2118 #if !defined(__cpp_lib_saturation_arithmetic) 2119 # if (__cplusplus > 202302L) 2120 # define __glibcxx_saturation_arithmetic 202311L 2121 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_saturation_arithmetic) 2122 # define __cpp_lib_saturation_arithmetic 202311L 2126 #undef __glibcxx_want_saturation_arithmetic 2128 #if !defined(__cpp_lib_span_initializer_list) 2129 # if (__cplusplus > 202302L) 2130 # define __glibcxx_span_initializer_list 202311L 2131 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span_initializer_list) 2132 # define __cpp_lib_span_initializer_list 202311L 2136 #undef __glibcxx_want_span_initializer_list 2138 #if !defined(__cpp_lib_text_encoding) 2139 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (_GLIBCXX_USE_NL_LANGINFO_L) 2140 # define __glibcxx_text_encoding 202306L 2141 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_text_encoding) 2142 # define __cpp_lib_text_encoding 202306L 2146 #undef __glibcxx_want_text_encoding 2148 #if !defined(__cpp_lib_ranges_to_input) 2149 # if (__cplusplus > 202302L) 2150 # define __glibcxx_ranges_to_input 202502L 2151 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_to_input) 2152 # define __cpp_lib_ranges_to_input 202502L 2156 #undef __glibcxx_want_ranges_to_input 2158 #if !defined(__cpp_lib_to_string) 2159 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (__glibcxx_to_chars) 2160 # define __glibcxx_to_string 202306L 2161 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_string) 2162 # define __cpp_lib_to_string 202306L 2166 #undef __glibcxx_want_to_string 2168 #if !defined(__cpp_lib_modules) 2169 # if (__cplusplus >= 202002L) && (__cpp_modules) 2170 # define __glibcxx_modules 202207L 2171 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_modules) 2172 # define __cpp_lib_modules 202207L 2176 #undef __glibcxx_want_modules 2178 #undef __glibcxx_want_all