Go to the documentation of this file. 47 #pragma GCC system_header 51 #if !defined(__cpp_lib_incomplete_container_elements) 53 # define __glibcxx_incomplete_container_elements 201505L 54 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_incomplete_container_elements) 55 # define __cpp_lib_incomplete_container_elements 201505L 59 #undef __glibcxx_want_incomplete_container_elements 61 #if !defined(__cpp_lib_uncaught_exceptions) 62 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 199711L)) 63 # define __glibcxx_uncaught_exceptions 201411L 64 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_uncaught_exceptions) 65 # define __cpp_lib_uncaught_exceptions 201411L 69 #undef __glibcxx_want_uncaught_exceptions 71 #if !defined(__cpp_lib_allocator_traits_is_always_equal) 72 # if (__cplusplus >= 201103L) 73 # define __glibcxx_allocator_traits_is_always_equal 201411L 74 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_allocator_traits_is_always_equal) 75 # define __cpp_lib_allocator_traits_is_always_equal 201411L 79 #undef __glibcxx_want_allocator_traits_is_always_equal 81 #if !defined(__cpp_lib_is_null_pointer) 82 # if (__cplusplus >= 201103L) 83 # define __glibcxx_is_null_pointer 201309L 84 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_null_pointer) 85 # define __cpp_lib_is_null_pointer 201309L 89 #undef __glibcxx_want_is_null_pointer 91 #if !defined(__cpp_lib_result_of_sfinae) 92 # if (__cplusplus >= 201103L) 93 # define __glibcxx_result_of_sfinae 201210L 94 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_result_of_sfinae) 95 # define __cpp_lib_result_of_sfinae 201210L 99 #undef __glibcxx_want_result_of_sfinae 101 #if !defined(__cpp_lib_shared_ptr_arrays) 102 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 103 # define __glibcxx_shared_ptr_arrays 201707L 104 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_arrays) 105 # define __cpp_lib_shared_ptr_arrays 201707L 107 # elif (__cplusplus >= 201103L) && _GLIBCXX_HOSTED 108 # define __glibcxx_shared_ptr_arrays 201611L 109 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_arrays) 110 # define __cpp_lib_shared_ptr_arrays 201611L 114 #undef __glibcxx_want_shared_ptr_arrays 116 #if !defined(__cpp_lib_is_swappable) 117 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) 118 # define __glibcxx_is_swappable 201603L 119 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_swappable) 120 # define __cpp_lib_is_swappable 201603L 124 #undef __glibcxx_want_is_swappable 126 #if !defined(__cpp_lib_void_t) 127 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) 128 # define __glibcxx_void_t 201411L 129 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_void_t) 130 # define __cpp_lib_void_t 201411L 134 #undef __glibcxx_want_void_t 136 #if !defined(__cpp_lib_enable_shared_from_this) 137 # if ((defined(__STRICT_ANSI__) && __cplusplus >= 201703L) || (!defined(__STRICT_ANSI__) && __cplusplus >= 201103L)) && _GLIBCXX_HOSTED 138 # define __glibcxx_enable_shared_from_this 201603L 139 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_enable_shared_from_this) 140 # define __cpp_lib_enable_shared_from_this 201603L 144 #undef __glibcxx_want_enable_shared_from_this 146 #if !defined(__cpp_lib_math_spec_funcs) 147 # if (__cplusplus >= 201103L) 148 # define __glibcxx_math_spec_funcs 201003L 149 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_spec_funcs) 150 # define __STDCPP_MATH_SPEC_FUNCS__ 201003L 154 #undef __glibcxx_want_math_spec_funcs 156 #if !defined(__cpp_lib_coroutine) 157 # if (__cplusplus >= 201402L) && (__cpp_impl_coroutine) 158 # define __glibcxx_coroutine 201902L 159 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_coroutine) 160 # define __cpp_lib_coroutine 201902L 164 #undef __glibcxx_want_coroutine 166 #if !defined(__cpp_lib_exchange_function) 167 # if (__cplusplus >= 201402L) 168 # define __glibcxx_exchange_function 201304L 169 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_exchange_function) 170 # define __cpp_lib_exchange_function 201304L 174 #undef __glibcxx_want_exchange_function 176 #if !defined(__cpp_lib_integer_sequence) 177 # if (__cplusplus >= 201402L) 178 # define __glibcxx_integer_sequence 201304L 179 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_sequence) 180 # define __cpp_lib_integer_sequence 201304L 184 #undef __glibcxx_want_integer_sequence 186 #if !defined(__cpp_lib_integral_constant_callable) 187 # if (__cplusplus >= 201402L) 188 # define __glibcxx_integral_constant_callable 201304L 189 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integral_constant_callable) 190 # define __cpp_lib_integral_constant_callable 201304L 194 #undef __glibcxx_want_integral_constant_callable 196 #if !defined(__cpp_lib_is_final) 197 # if (__cplusplus >= 201402L) 198 # define __glibcxx_is_final 201402L 199 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_final) 200 # define __cpp_lib_is_final 201402L 204 #undef __glibcxx_want_is_final 206 #if !defined(__cpp_lib_make_reverse_iterator) 207 # if (__cplusplus >= 201402L) 208 # define __glibcxx_make_reverse_iterator 201402L 209 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_reverse_iterator) 210 # define __cpp_lib_make_reverse_iterator 201402L 214 #undef __glibcxx_want_make_reverse_iterator 216 #if !defined(__cpp_lib_null_iterators) 217 # if (__cplusplus >= 201402L) 218 # define __glibcxx_null_iterators 201304L 219 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_null_iterators) 220 # define __cpp_lib_null_iterators 201304L 224 #undef __glibcxx_want_null_iterators 226 #if !defined(__cpp_lib_transformation_trait_aliases) 227 # if (__cplusplus >= 201402L) 228 # define __glibcxx_transformation_trait_aliases 201304L 229 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transformation_trait_aliases) 230 # define __cpp_lib_transformation_trait_aliases 201304L 234 #undef __glibcxx_want_transformation_trait_aliases 236 #if !defined(__cpp_lib_transparent_operators) 237 # if (__cplusplus >= 201402L) 238 # define __glibcxx_transparent_operators 201510L 239 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_transparent_operators) 240 # define __cpp_lib_transparent_operators 201510L 244 #undef __glibcxx_want_transparent_operators 246 #if !defined(__cpp_lib_tuple_element_t) 247 # if (__cplusplus >= 201402L) 248 # define __glibcxx_tuple_element_t 201402L 249 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_element_t) 250 # define __cpp_lib_tuple_element_t 201402L 254 #undef __glibcxx_want_tuple_element_t 256 #if !defined(__cpp_lib_tuples_by_type) 257 # if (__cplusplus >= 201402L) 258 # define __glibcxx_tuples_by_type 201304L 259 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuples_by_type) 260 # define __cpp_lib_tuples_by_type 201304L 264 #undef __glibcxx_want_tuples_by_type 266 #if !defined(__cpp_lib_robust_nonmodifying_seq_ops) 267 # if (__cplusplus >= 201402L) 268 # define __glibcxx_robust_nonmodifying_seq_ops 201304L 269 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_robust_nonmodifying_seq_ops) 270 # define __cpp_lib_robust_nonmodifying_seq_ops 201304L 274 #undef __glibcxx_want_robust_nonmodifying_seq_ops 276 #if !defined(__cpp_lib_to_chars) 277 # if (__cplusplus > 202302L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 278 # define __glibcxx_to_chars 202306L 279 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 280 # define __cpp_lib_to_chars 202306L 282 # elif (__cplusplus >= 201402L) && (_GLIBCXX_FLOAT_IS_IEEE_BINARY32 && _GLIBCXX_DOUBLE_IS_IEEE_BINARY64 && __SIZE_WIDTH__ >= 32) 283 # define __glibcxx_to_chars 201611L 284 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_chars) 285 # define __cpp_lib_to_chars 201611L 289 #undef __glibcxx_want_to_chars 291 #if !defined(__cpp_lib_chrono_udls) 292 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 293 # define __glibcxx_chrono_udls 201304L 294 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono_udls) 295 # define __cpp_lib_chrono_udls 201304L 299 #undef __glibcxx_want_chrono_udls 301 #if !defined(__cpp_lib_complex_udls) 302 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 303 # define __glibcxx_complex_udls 201309L 304 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_complex_udls) 305 # define __cpp_lib_complex_udls 201309L 309 #undef __glibcxx_want_complex_udls 311 #if !defined(__cpp_lib_generic_associative_lookup) 312 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 313 # define __glibcxx_generic_associative_lookup 201304L 314 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_associative_lookup) 315 # define __cpp_lib_generic_associative_lookup 201304L 319 #undef __glibcxx_want_generic_associative_lookup 321 #if !defined(__cpp_lib_make_unique) 322 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 323 # define __glibcxx_make_unique 201304L 324 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_unique) 325 # define __cpp_lib_make_unique 201304L 329 #undef __glibcxx_want_make_unique 331 #if !defined(__cpp_lib_quoted_string_io) 332 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 333 # define __glibcxx_quoted_string_io 201304L 334 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_quoted_string_io) 335 # define __cpp_lib_quoted_string_io 201304L 339 #undef __glibcxx_want_quoted_string_io 341 #if !defined(__cpp_lib_shared_timed_mutex) 342 # if (__cplusplus >= 201402L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 343 # define __glibcxx_shared_timed_mutex 201402L 344 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_timed_mutex) 345 # define __cpp_lib_shared_timed_mutex 201402L 349 #undef __glibcxx_want_shared_timed_mutex 351 #if !defined(__cpp_lib_string_udls) 352 # if (__cplusplus >= 201402L) && _GLIBCXX_HOSTED 353 # define __glibcxx_string_udls 201304L 354 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_udls) 355 # define __cpp_lib_string_udls 201304L 359 #undef __glibcxx_want_string_udls 361 #if !defined(__cpp_lib_addressof_constexpr) 362 # if (__cplusplus >= 201703L) 363 # define __glibcxx_addressof_constexpr 201603L 364 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_addressof_constexpr) 365 # define __cpp_lib_addressof_constexpr 201603L 369 #undef __glibcxx_want_addressof_constexpr 371 #if !defined(__cpp_lib_any) 372 # if (__cplusplus >= 201703L) 373 # define __glibcxx_any 201606L 374 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_any) 375 # define __cpp_lib_any 201606L 379 #undef __glibcxx_want_any 381 #if !defined(__cpp_lib_apply) 382 # if (__cplusplus >= 201703L) 383 # define __glibcxx_apply 201603L 384 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_apply) 385 # define __cpp_lib_apply 201603L 389 #undef __glibcxx_want_apply 391 #if !defined(__cpp_lib_as_const) 392 # if (__cplusplus >= 201703L) 393 # define __glibcxx_as_const 201510L 394 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_as_const) 395 # define __cpp_lib_as_const 201510L 399 #undef __glibcxx_want_as_const 401 #if !defined(__cpp_lib_atomic_is_always_lock_free) 402 # if (__cplusplus >= 201703L) 403 # define __glibcxx_atomic_is_always_lock_free 201603L 404 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_is_always_lock_free) 405 # define __cpp_lib_atomic_is_always_lock_free 201603L 409 #undef __glibcxx_want_atomic_is_always_lock_free 411 #if !defined(__cpp_lib_bool_constant) 412 # if (__cplusplus >= 201703L) 413 # define __glibcxx_bool_constant 201505L 414 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bool_constant) 415 # define __cpp_lib_bool_constant 201505L 419 #undef __glibcxx_want_bool_constant 421 #if !defined(__cpp_lib_byte) 422 # if (__cplusplus >= 201703L) 423 # define __glibcxx_byte 201603L 424 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byte) 425 # define __cpp_lib_byte 201603L 429 #undef __glibcxx_want_byte 431 #if !defined(__cpp_lib_has_unique_object_representations) 432 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP)) 433 # define __glibcxx_has_unique_object_representations 201606L 434 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_has_unique_object_representations) 435 # define __cpp_lib_has_unique_object_representations 201606L 439 #undef __glibcxx_want_has_unique_object_representations 441 #if !defined(__cpp_lib_hardware_interference_size) 442 # if (__cplusplus >= 201703L) && (defined(__GCC_DESTRUCTIVE_SIZE)) 443 # define __glibcxx_hardware_interference_size 201703L 444 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hardware_interference_size) 445 # define __cpp_lib_hardware_interference_size 201703L 449 #undef __glibcxx_want_hardware_interference_size 451 #if !defined(__cpp_lib_invoke) 452 # if (__cplusplus >= 201703L) 453 # define __glibcxx_invoke 201411L 454 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke) 455 # define __cpp_lib_invoke 201411L 459 #undef __glibcxx_want_invoke 461 #if !defined(__cpp_lib_is_aggregate) 462 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE)) 463 # define __glibcxx_is_aggregate 201703L 464 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_aggregate) 465 # define __cpp_lib_is_aggregate 201703L 469 #undef __glibcxx_want_is_aggregate 471 #if !defined(__cpp_lib_is_invocable) 472 # if (__cplusplus >= 201703L) 473 # define __glibcxx_is_invocable 201703L 474 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_invocable) 475 # define __cpp_lib_is_invocable 201703L 479 #undef __glibcxx_want_is_invocable 481 #if !defined(__cpp_lib_launder) 482 # if (__cplusplus >= 201703L) && (defined(_GLIBCXX_HAVE_BUILTIN_LAUNDER)) 483 # define __glibcxx_launder 201606L 484 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_launder) 485 # define __cpp_lib_launder 201606L 489 #undef __glibcxx_want_launder 491 #if !defined(__cpp_lib_logical_traits) 492 # if (__cplusplus >= 201703L) 493 # define __glibcxx_logical_traits 201510L 494 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_logical_traits) 495 # define __cpp_lib_logical_traits 201510L 499 #undef __glibcxx_want_logical_traits 501 #if !defined(__cpp_lib_make_from_tuple) 502 # if (__cplusplus >= 201703L) 503 # define __glibcxx_make_from_tuple 201606L 504 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_from_tuple) 505 # define __cpp_lib_make_from_tuple 201606L 509 #undef __glibcxx_want_make_from_tuple 511 #if !defined(__cpp_lib_not_fn) 512 # if (__cplusplus >= 201703L) 513 # define __glibcxx_not_fn 201603L 514 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_not_fn) 515 # define __cpp_lib_not_fn 201603L 519 #undef __glibcxx_want_not_fn 521 #if !defined(__cpp_lib_type_trait_variable_templates) 522 # if (__cplusplus >= 201703L) 523 # define __glibcxx_type_trait_variable_templates 201510L 524 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_trait_variable_templates) 525 # define __cpp_lib_type_trait_variable_templates 201510L 529 #undef __glibcxx_want_type_trait_variable_templates 531 #if !defined(__cpp_lib_variant) 532 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 202002L && __cpp_constexpr >= 201811L) 533 # define __glibcxx_variant 202106L 534 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 535 # define __cpp_lib_variant 202106L 537 # elif (__cplusplus >= 201703L) 538 # define __glibcxx_variant 202102L 539 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_variant) 540 # define __cpp_lib_variant 202102L 544 #undef __glibcxx_want_variant 546 #if !defined(__cpp_lib_lcm) 547 # if (__cplusplus >= 201703L) 548 # define __glibcxx_lcm 201606L 549 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_lcm) 550 # define __cpp_lib_lcm 201606L 554 #undef __glibcxx_want_lcm 556 #if !defined(__cpp_lib_gcd) 557 # if (__cplusplus >= 201703L) 558 # define __glibcxx_gcd 201606L 559 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd) 560 # define __cpp_lib_gcd 201606L 564 #undef __glibcxx_want_gcd 566 #if !defined(__cpp_lib_gcd_lcm) 567 # if (__cplusplus >= 201703L) 568 # define __glibcxx_gcd_lcm 201606L 569 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_gcd_lcm) 570 # define __cpp_lib_gcd_lcm 201606L 574 #undef __glibcxx_want_gcd_lcm 576 #if !defined(__cpp_lib_raw_memory_algorithms) 577 # if (__cplusplus >= 201703L) 578 # define __glibcxx_raw_memory_algorithms 201606L 579 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_raw_memory_algorithms) 580 # define __cpp_lib_raw_memory_algorithms 201606L 584 #undef __glibcxx_want_raw_memory_algorithms 586 #if !defined(__cpp_lib_array_constexpr) 587 # if (__cplusplus >= 202002L) 588 # define __glibcxx_array_constexpr 201811L 589 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 590 # define __cpp_lib_array_constexpr 201811L 592 # elif (__cplusplus >= 201703L) 593 # define __glibcxx_array_constexpr 201803L 594 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_array_constexpr) 595 # define __cpp_lib_array_constexpr 201803L 599 #undef __glibcxx_want_array_constexpr 601 #if !defined(__cpp_lib_nonmember_container_access) 602 # if (__cplusplus >= 201703L) 603 # define __glibcxx_nonmember_container_access 201411L 604 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_nonmember_container_access) 605 # define __cpp_lib_nonmember_container_access 201411L 609 #undef __glibcxx_want_nonmember_container_access 611 #if !defined(__cpp_lib_clamp) 612 # if (__cplusplus >= 201703L) 613 # define __glibcxx_clamp 201603L 614 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_clamp) 615 # define __cpp_lib_clamp 201603L 619 #undef __glibcxx_want_clamp 621 #if !defined(__cpp_lib_sample) 622 # if (__cplusplus >= 201703L) 623 # define __glibcxx_sample 201603L 624 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_sample) 625 # define __cpp_lib_sample 201603L 629 #undef __glibcxx_want_sample 631 #if !defined(__cpp_lib_boyer_moore_searcher) 632 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 633 # define __glibcxx_boyer_moore_searcher 201603L 634 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_boyer_moore_searcher) 635 # define __cpp_lib_boyer_moore_searcher 201603L 639 #undef __glibcxx_want_boyer_moore_searcher 641 #if !defined(__cpp_lib_chrono) 642 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 643 # define __glibcxx_chrono 201907L 644 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 645 # define __cpp_lib_chrono 201907L 647 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 648 # define __glibcxx_chrono 201611L 649 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_chrono) 650 # define __cpp_lib_chrono 201611L 654 #undef __glibcxx_want_chrono 656 #if !defined(__cpp_lib_execution) 657 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 658 # define __glibcxx_execution 201902L 659 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_execution) 660 # define __cpp_lib_execution 201902L 664 #undef __glibcxx_want_execution 666 #if !defined(__cpp_lib_filesystem) 667 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 668 # define __glibcxx_filesystem 201703L 669 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_filesystem) 670 # define __cpp_lib_filesystem 201703L 674 #undef __glibcxx_want_filesystem 676 #if !defined(__cpp_lib_hypot) 677 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 678 # define __glibcxx_hypot 201603L 679 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_hypot) 680 # define __cpp_lib_hypot 201603L 684 #undef __glibcxx_want_hypot 686 #if !defined(__cpp_lib_map_try_emplace) 687 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 688 # define __glibcxx_map_try_emplace 201411L 689 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_map_try_emplace) 690 # define __cpp_lib_map_try_emplace 201411L 694 #undef __glibcxx_want_map_try_emplace 696 #if !defined(__cpp_lib_math_special_functions) 697 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 698 # define __glibcxx_math_special_functions 201603L 699 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_special_functions) 700 # define __cpp_lib_math_special_functions 201603L 704 #undef __glibcxx_want_math_special_functions 706 #if !defined(__cpp_lib_memory_resource) 707 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 708 # define __glibcxx_memory_resource 201603L 709 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 710 # define __cpp_lib_memory_resource 201603L 712 # elif (__cplusplus >= 201703L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 713 # define __glibcxx_memory_resource 1L 714 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_memory_resource) 715 # define __cpp_lib_memory_resource 1L 719 #undef __glibcxx_want_memory_resource 721 #if !defined(__cpp_lib_node_extract) 722 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 723 # define __glibcxx_node_extract 201606L 724 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_node_extract) 725 # define __cpp_lib_node_extract 201606L 729 #undef __glibcxx_want_node_extract 731 #if !defined(__cpp_lib_parallel_algorithm) 732 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 733 # define __glibcxx_parallel_algorithm 201603L 734 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_parallel_algorithm) 735 # define __cpp_lib_parallel_algorithm 201603L 739 #undef __glibcxx_want_parallel_algorithm 741 #if !defined(__cpp_lib_scoped_lock) 742 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 743 # define __glibcxx_scoped_lock 201703L 744 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_scoped_lock) 745 # define __cpp_lib_scoped_lock 201703L 749 #undef __glibcxx_want_scoped_lock 751 #if !defined(__cpp_lib_shared_mutex) 752 # if (__cplusplus >= 201703L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 753 # define __glibcxx_shared_mutex 201505L 754 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_mutex) 755 # define __cpp_lib_shared_mutex 201505L 759 #undef __glibcxx_want_shared_mutex 761 #if !defined(__cpp_lib_shared_ptr_weak_type) 762 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 763 # define __glibcxx_shared_ptr_weak_type 201606L 764 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shared_ptr_weak_type) 765 # define __cpp_lib_shared_ptr_weak_type 201606L 769 #undef __glibcxx_want_shared_ptr_weak_type 771 #if !defined(__cpp_lib_string_view) 772 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 773 # define __glibcxx_string_view 201803L 774 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_view) 775 # define __cpp_lib_string_view 201803L 779 #undef __glibcxx_want_string_view 781 #if !defined(__cpp_lib_unordered_map_try_emplace) 782 # if (__cplusplus >= 201703L) && _GLIBCXX_HOSTED 783 # define __glibcxx_unordered_map_try_emplace 201411L 784 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unordered_map_try_emplace) 785 # define __cpp_lib_unordered_map_try_emplace 201411L 789 #undef __glibcxx_want_unordered_map_try_emplace 791 #if !defined(__cpp_lib_assume_aligned) 792 # if (__cplusplus >= 202002L) 793 # define __glibcxx_assume_aligned 201811L 794 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_assume_aligned) 795 # define __cpp_lib_assume_aligned 201811L 799 #undef __glibcxx_want_assume_aligned 801 #if !defined(__cpp_lib_atomic_flag_test) 802 # if (__cplusplus >= 202002L) 803 # define __glibcxx_atomic_flag_test 201907L 804 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_flag_test) 805 # define __cpp_lib_atomic_flag_test 201907L 809 #undef __glibcxx_want_atomic_flag_test 811 #if !defined(__cpp_lib_atomic_float) 812 # if (__cplusplus >= 202002L) 813 # define __glibcxx_atomic_float 201711L 814 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_float) 815 # define __cpp_lib_atomic_float 201711L 819 #undef __glibcxx_want_atomic_float 821 #if !defined(__cpp_lib_atomic_lock_free_type_aliases) 822 # if (__cplusplus >= 202002L) && ((__GCC_ATOMIC_INT_LOCK_FREE | __GCC_ATOMIC_LONG_LOCK_FREE | __GCC_ATOMIC_CHAR_LOCK_FREE) & 2) 823 # define __glibcxx_atomic_lock_free_type_aliases 201907L 824 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_lock_free_type_aliases) 825 # define __cpp_lib_atomic_lock_free_type_aliases 201907L 829 #undef __glibcxx_want_atomic_lock_free_type_aliases 831 #if !defined(__cpp_lib_atomic_ref) 832 # if (__cplusplus >= 202002L) 833 # define __glibcxx_atomic_ref 201806L 834 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_ref) 835 # define __cpp_lib_atomic_ref 201806L 839 #undef __glibcxx_want_atomic_ref 841 #if !defined(__cpp_lib_atomic_value_initialization) 842 # if (__cplusplus >= 202002L) 843 # define __glibcxx_atomic_value_initialization 201911L 844 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_value_initialization) 845 # define __cpp_lib_atomic_value_initialization 201911L 849 #undef __glibcxx_want_atomic_value_initialization 851 #if !defined(__cpp_lib_bind_front) 852 # if (__cplusplus >= 202002L) 853 # define __glibcxx_bind_front 201907L 854 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_front) 855 # define __cpp_lib_bind_front 201907L 859 #undef __glibcxx_want_bind_front 861 #if !defined(__cpp_lib_bind_back) 862 # if (__cplusplus >= 202100L) && (__cpp_explicit_this_parameter) 863 # define __glibcxx_bind_back 202202L 864 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bind_back) 865 # define __cpp_lib_bind_back 202202L 869 #undef __glibcxx_want_bind_back 871 #if !defined(__cpp_lib_starts_ends_with) 872 # if (__cplusplus >= 202002L) 873 # define __glibcxx_starts_ends_with 201711L 874 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_starts_ends_with) 875 # define __cpp_lib_starts_ends_with 201711L 879 #undef __glibcxx_want_starts_ends_with 881 #if !defined(__cpp_lib_bit_cast) 882 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_bit_cast)) 883 # define __glibcxx_bit_cast 201806L 884 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bit_cast) 885 # define __cpp_lib_bit_cast 201806L 889 #undef __glibcxx_want_bit_cast 891 #if !defined(__cpp_lib_bitops) 892 # if (__cplusplus >= 202002L) 893 # define __glibcxx_bitops 201907L 894 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bitops) 895 # define __cpp_lib_bitops 201907L 899 #undef __glibcxx_want_bitops 901 #if !defined(__cpp_lib_bounded_array_traits) 902 # if (__cplusplus >= 202002L) 903 # define __glibcxx_bounded_array_traits 201902L 904 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_bounded_array_traits) 905 # define __cpp_lib_bounded_array_traits 201902L 909 #undef __glibcxx_want_bounded_array_traits 911 #if !defined(__cpp_lib_concepts) 912 # if (__cplusplus >= 202002L) && (__cpp_concepts >= 201907L) 913 # define __glibcxx_concepts 202002L 914 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_concepts) 915 # define __cpp_lib_concepts 202002L 919 #undef __glibcxx_want_concepts 921 #if !defined(__cpp_lib_optional) 922 # if (__cplusplus >= 202100L) && (__glibcxx_concepts) 923 # define __glibcxx_optional 202110L 924 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 925 # define __cpp_lib_optional 202110L 927 # elif (__cplusplus >= 202002L) 928 # define __glibcxx_optional 202106L 929 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 930 # define __cpp_lib_optional 202106L 932 # elif (__cplusplus >= 201703L) 933 # define __glibcxx_optional 201606L 934 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_optional) 935 # define __cpp_lib_optional 201606L 939 #undef __glibcxx_want_optional 941 #if !defined(__cpp_lib_destroying_delete) 942 # if (__cplusplus >= 202002L) && (__cpp_impl_destroying_delete) 943 # define __glibcxx_destroying_delete 201806L 944 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_destroying_delete) 945 # define __cpp_lib_destroying_delete 201806L 949 #undef __glibcxx_want_destroying_delete 951 #if !defined(__cpp_lib_constexpr_string_view) 952 # if (__cplusplus >= 202002L) 953 # define __glibcxx_constexpr_string_view 201811L 954 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string_view) 955 # define __cpp_lib_constexpr_string_view 201811L 959 #undef __glibcxx_want_constexpr_string_view 961 #if !defined(__cpp_lib_endian) 962 # if (__cplusplus >= 202002L) 963 # define __glibcxx_endian 201907L 964 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_endian) 965 # define __cpp_lib_endian 201907L 969 #undef __glibcxx_want_endian 971 #if !defined(__cpp_lib_int_pow2) 972 # if (__cplusplus >= 202002L) 973 # define __glibcxx_int_pow2 202002L 974 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_int_pow2) 975 # define __cpp_lib_int_pow2 202002L 979 #undef __glibcxx_want_int_pow2 981 #if !defined(__cpp_lib_integer_comparison_functions) 982 # if (__cplusplus >= 202002L) 983 # define __glibcxx_integer_comparison_functions 202002L 984 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_integer_comparison_functions) 985 # define __cpp_lib_integer_comparison_functions 202002L 989 #undef __glibcxx_want_integer_comparison_functions 991 #if !defined(__cpp_lib_is_constant_evaluated) 992 # if (__cplusplus >= 202002L) && (defined(_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED)) 993 # define __glibcxx_is_constant_evaluated 201811L 994 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_constant_evaluated) 995 # define __cpp_lib_is_constant_evaluated 201811L 999 #undef __glibcxx_want_is_constant_evaluated 1001 #if !defined(__cpp_lib_constexpr_char_traits) 1002 # if (__cplusplus >= 202002L) && (defined(__glibcxx_is_constant_evaluated)) 1003 # define __glibcxx_constexpr_char_traits 201811L 1004 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1005 # define __cpp_lib_constexpr_char_traits 201811L 1007 # elif (__cplusplus >= 201703L) && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1008 # define __glibcxx_constexpr_char_traits 201611L 1009 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_char_traits) 1010 # define __cpp_lib_constexpr_char_traits 201611L 1014 #undef __glibcxx_want_constexpr_char_traits 1016 #if !defined(__cpp_lib_is_layout_compatible) 1017 # if (__cplusplus >= 202002L) && (__has_builtin(__is_layout_compatible) && __has_builtin(__builtin_is_corresponding_member)) 1018 # define __glibcxx_is_layout_compatible 201907L 1019 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_layout_compatible) 1020 # define __cpp_lib_is_layout_compatible 201907L 1024 #undef __glibcxx_want_is_layout_compatible 1026 #if !defined(__cpp_lib_is_nothrow_convertible) 1027 # if (__cplusplus >= 202002L) 1028 # define __glibcxx_is_nothrow_convertible 201806L 1029 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_nothrow_convertible) 1030 # define __cpp_lib_is_nothrow_convertible 201806L 1034 #undef __glibcxx_want_is_nothrow_convertible 1036 #if !defined(__cpp_lib_is_pointer_interconvertible) 1037 # if (__cplusplus >= 202002L) && (__has_builtin(__is_pointer_interconvertible_base_of) && __has_builtin(__builtin_is_pointer_interconvertible_with_class)) 1038 # define __glibcxx_is_pointer_interconvertible 201907L 1039 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_pointer_interconvertible) 1040 # define __cpp_lib_is_pointer_interconvertible 201907L 1044 #undef __glibcxx_want_is_pointer_interconvertible 1046 #if !defined(__cpp_lib_math_constants) 1047 # if (__cplusplus >= 202002L) 1048 # define __glibcxx_math_constants 201907L 1049 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_math_constants) 1050 # define __cpp_lib_math_constants 201907L 1054 #undef __glibcxx_want_math_constants 1056 #if !defined(__cpp_lib_make_obj_using_allocator) 1057 # if (__cplusplus >= 202002L) && (__cpp_concepts) 1058 # define __glibcxx_make_obj_using_allocator 201811L 1059 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_make_obj_using_allocator) 1060 # define __cpp_lib_make_obj_using_allocator 201811L 1064 #undef __glibcxx_want_make_obj_using_allocator 1066 #if !defined(__cpp_lib_remove_cvref) 1067 # if (__cplusplus >= 202002L) 1068 # define __glibcxx_remove_cvref 201711L 1069 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_remove_cvref) 1070 # define __cpp_lib_remove_cvref 201711L 1074 #undef __glibcxx_want_remove_cvref 1076 #if !defined(__cpp_lib_source_location) 1077 # if (__cplusplus >= 202002L) && (__has_builtin(__builtin_source_location)) 1078 # define __glibcxx_source_location 201907L 1079 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_source_location) 1080 # define __cpp_lib_source_location 201907L 1084 #undef __glibcxx_want_source_location 1086 #if !defined(__cpp_lib_span) 1087 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1088 # define __glibcxx_span 202311L 1089 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1090 # define __cpp_lib_span 202311L 1092 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1093 # define __glibcxx_span 202002L 1094 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_span) 1095 # define __cpp_lib_span 202002L 1099 #undef __glibcxx_want_span 1101 #if !defined(__cpp_lib_ssize) 1102 # if (__cplusplus >= 202002L) 1103 # define __glibcxx_ssize 201902L 1104 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ssize) 1105 # define __cpp_lib_ssize 201902L 1109 #undef __glibcxx_want_ssize 1111 #if !defined(__cpp_lib_three_way_comparison) 1112 # if (__cplusplus >= 202002L) && (__cpp_impl_three_way_comparison >= 201907L && __glibcxx_concepts) 1113 # define __glibcxx_three_way_comparison 201907L 1114 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_three_way_comparison) 1115 # define __cpp_lib_three_way_comparison 201907L 1119 #undef __glibcxx_want_three_way_comparison 1121 #if !defined(__cpp_lib_to_address) 1122 # if (__cplusplus >= 202002L) 1123 # define __glibcxx_to_address 201711L 1124 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_address) 1125 # define __cpp_lib_to_address 201711L 1129 #undef __glibcxx_want_to_address 1131 #if !defined(__cpp_lib_to_array) 1132 # if (__cplusplus >= 202002L) && (__cpp_generic_lambdas >= 201707L) 1133 # define __glibcxx_to_array 201907L 1134 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_array) 1135 # define __cpp_lib_to_array 201907L 1139 #undef __glibcxx_want_to_array 1141 #if !defined(__cpp_lib_type_identity) 1142 # if (__cplusplus >= 202002L) 1143 # define __glibcxx_type_identity 201806L 1144 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_type_identity) 1145 # define __cpp_lib_type_identity 201806L 1149 #undef __glibcxx_want_type_identity 1151 #if !defined(__cpp_lib_unwrap_ref) 1152 # if (__cplusplus >= 202002L) 1153 # define __glibcxx_unwrap_ref 201811L 1154 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unwrap_ref) 1155 # define __cpp_lib_unwrap_ref 201811L 1159 #undef __glibcxx_want_unwrap_ref 1161 #if !defined(__cpp_lib_constexpr_iterator) 1162 # if (__cplusplus >= 202002L) 1163 # define __glibcxx_constexpr_iterator 201811L 1164 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_iterator) 1165 # define __cpp_lib_constexpr_iterator 201811L 1169 #undef __glibcxx_want_constexpr_iterator 1171 #if !defined(__cpp_lib_interpolate) 1172 # if (__cplusplus >= 202002L) 1173 # define __glibcxx_interpolate 201902L 1174 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_interpolate) 1175 # define __cpp_lib_interpolate 201902L 1179 #undef __glibcxx_want_interpolate 1181 #if !defined(__cpp_lib_constexpr_utility) 1182 # if (__cplusplus >= 202002L) 1183 # define __glibcxx_constexpr_utility 201811L 1184 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_utility) 1185 # define __cpp_lib_constexpr_utility 201811L 1189 #undef __glibcxx_want_constexpr_utility 1191 #if !defined(__cpp_lib_shift) 1192 # if (__cplusplus >= 202002L) 1193 # define __glibcxx_shift 201806L 1194 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_shift) 1195 # define __cpp_lib_shift 201806L 1199 #undef __glibcxx_want_shift 1201 #if !defined(__cpp_lib_ranges) 1202 # if (__cplusplus > 202302L) && (__glibcxx_concepts) 1203 # define __glibcxx_ranges 202406L 1204 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1205 # define __cpp_lib_ranges 202406L 1207 # elif (__cplusplus >= 202100L) && (__glibcxx_concepts) 1208 # define __glibcxx_ranges 202302L 1209 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1210 # define __cpp_lib_ranges 202302L 1212 # elif (__cplusplus >= 202002L) && (__glibcxx_concepts) 1213 # define __glibcxx_ranges 202110L 1214 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges) 1215 # define __cpp_lib_ranges 202110L 1219 #undef __glibcxx_want_ranges 1221 #if !defined(__cpp_lib_constexpr_numeric) 1222 # if (__cplusplus >= 202002L) 1223 # define __glibcxx_constexpr_numeric 201911L 1224 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_numeric) 1225 # define __cpp_lib_constexpr_numeric 201911L 1229 #undef __glibcxx_want_constexpr_numeric 1231 #if !defined(__cpp_lib_constexpr_functional) 1232 # if (__cplusplus >= 202002L) 1233 # define __glibcxx_constexpr_functional 201907L 1234 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_functional) 1235 # define __cpp_lib_constexpr_functional 201907L 1239 #undef __glibcxx_want_constexpr_functional 1241 #if !defined(__cpp_lib_constexpr_algorithms) 1242 # if (__cplusplus >= 202002L) 1243 # define __glibcxx_constexpr_algorithms 201806L 1244 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_algorithms) 1245 # define __cpp_lib_constexpr_algorithms 201806L 1249 #undef __glibcxx_want_constexpr_algorithms 1251 #if !defined(__cpp_lib_constexpr_tuple) 1252 # if (__cplusplus >= 202002L) 1253 # define __glibcxx_constexpr_tuple 201811L 1254 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_tuple) 1255 # define __cpp_lib_constexpr_tuple 201811L 1259 #undef __glibcxx_want_constexpr_tuple 1261 #if !defined(__cpp_lib_constexpr_memory) 1262 # if (__cplusplus >= 202100L) && (__cpp_constexpr_dynamic_alloc) 1263 # define __glibcxx_constexpr_memory 202202L 1264 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1265 # define __cpp_lib_constexpr_memory 202202L 1267 # elif (__cplusplus >= 202002L) 1268 # define __glibcxx_constexpr_memory 201811L 1269 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_memory) 1270 # define __cpp_lib_constexpr_memory 201811L 1274 #undef __glibcxx_want_constexpr_memory 1276 #if !defined(__cpp_lib_atomic_shared_ptr) 1277 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1278 # define __glibcxx_atomic_shared_ptr 201711L 1279 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_shared_ptr) 1280 # define __cpp_lib_atomic_shared_ptr 201711L 1284 #undef __glibcxx_want_atomic_shared_ptr 1286 #if !defined(__cpp_lib_atomic_wait) 1287 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1288 # define __glibcxx_atomic_wait 201907L 1289 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1290 # define __cpp_lib_atomic_wait 201907L 1292 # elif (__cplusplus >= 202002L) && !defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED && (defined(_GLIBCXX_HAVE_LINUX_FUTEX)) 1293 # define __glibcxx_atomic_wait 201907L 1294 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_atomic_wait) 1295 # define __cpp_lib_atomic_wait 201907L 1299 #undef __glibcxx_want_atomic_wait 1301 #if !defined(__cpp_lib_barrier) 1302 # if (__cplusplus >= 202002L) && (__cpp_aligned_new && __glibcxx_atomic_wait) 1303 # define __glibcxx_barrier 201907L 1304 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_barrier) 1305 # define __cpp_lib_barrier 201907L 1309 #undef __glibcxx_want_barrier 1311 #if !defined(__cpp_lib_format) 1312 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1313 # define __glibcxx_format 202110L 1314 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format) 1315 # define __cpp_lib_format 202110L 1319 #undef __glibcxx_want_format 1321 #if !defined(__cpp_lib_format_uchar) 1322 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1323 # define __glibcxx_format_uchar 202311L 1324 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_format_uchar) 1325 # define __cpp_lib_format_uchar 202311L 1329 #undef __glibcxx_want_format_uchar 1331 #if !defined(__cpp_lib_constexpr_complex) 1332 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1333 # define __glibcxx_constexpr_complex 201711L 1334 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_complex) 1335 # define __cpp_lib_constexpr_complex 201711L 1339 #undef __glibcxx_want_constexpr_complex 1341 #if !defined(__cpp_lib_constexpr_dynamic_alloc) 1342 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1343 # define __glibcxx_constexpr_dynamic_alloc 201907L 1344 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_dynamic_alloc) 1345 # define __cpp_lib_constexpr_dynamic_alloc 201907L 1349 #undef __glibcxx_want_constexpr_dynamic_alloc 1351 #if !defined(__cpp_lib_constexpr_string) 1352 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1353 # define __glibcxx_constexpr_string 201907L 1354 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1355 # define __cpp_lib_constexpr_string 201907L 1357 # elif (__cplusplus >= 202002L) && !_GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED && (defined(__glibcxx_is_constant_evaluated)) 1358 # define __glibcxx_constexpr_string 201811L 1359 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1360 # define __cpp_lib_constexpr_string 201811L 1362 # elif (__cplusplus >= 201703L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED) 1363 # define __glibcxx_constexpr_string 201611L 1364 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_string) 1365 # define __cpp_lib_constexpr_string 201611L 1369 #undef __glibcxx_want_constexpr_string 1371 #if !defined(__cpp_lib_constexpr_vector) 1372 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1373 # define __glibcxx_constexpr_vector 201907L 1374 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_vector) 1375 # define __cpp_lib_constexpr_vector 201907L 1379 #undef __glibcxx_want_constexpr_vector 1381 #if !defined(__cpp_lib_erase_if) 1382 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1383 # define __glibcxx_erase_if 202002L 1384 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_erase_if) 1385 # define __cpp_lib_erase_if 202002L 1389 #undef __glibcxx_want_erase_if 1391 #if !defined(__cpp_lib_generic_unordered_lookup) 1392 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1393 # define __glibcxx_generic_unordered_lookup 201811L 1394 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generic_unordered_lookup) 1395 # define __cpp_lib_generic_unordered_lookup 201811L 1399 #undef __glibcxx_want_generic_unordered_lookup 1401 #if !defined(__cpp_lib_jthread) 1402 # if (__cplusplus >= 202002L) && defined(_GLIBCXX_HAS_GTHREADS) && _GLIBCXX_HOSTED 1403 # define __glibcxx_jthread 201911L 1404 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_jthread) 1405 # define __cpp_lib_jthread 201911L 1409 #undef __glibcxx_want_jthread 1411 #if !defined(__cpp_lib_latch) 1412 # if (__cplusplus >= 202002L) && (__glibcxx_atomic_wait) 1413 # define __glibcxx_latch 201907L 1414 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_latch) 1415 # define __cpp_lib_latch 201907L 1419 #undef __glibcxx_want_latch 1421 #if !defined(__cpp_lib_list_remove_return_type) 1422 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1423 # define __glibcxx_list_remove_return_type 201806L 1424 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_list_remove_return_type) 1425 # define __cpp_lib_list_remove_return_type 201806L 1429 #undef __glibcxx_want_list_remove_return_type 1431 #if !defined(__cpp_lib_polymorphic_allocator) 1432 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1433 # define __glibcxx_polymorphic_allocator 201902L 1434 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_polymorphic_allocator) 1435 # define __cpp_lib_polymorphic_allocator 201902L 1439 #undef __glibcxx_want_polymorphic_allocator 1441 #if !defined(__cpp_lib_move_iterator_concept) 1442 # if (__cplusplus >= 202002L) && (__glibcxx_concepts) 1443 # define __glibcxx_move_iterator_concept 202207L 1444 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_iterator_concept) 1445 # define __cpp_lib_move_iterator_concept 202207L 1449 #undef __glibcxx_want_move_iterator_concept 1451 #if !defined(__cpp_lib_semaphore) 1452 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED && (__glibcxx_atomic_wait || _GLIBCXX_HAVE_POSIX_SEMAPHORE) 1453 # define __glibcxx_semaphore 201907L 1454 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_semaphore) 1455 # define __cpp_lib_semaphore 201907L 1459 #undef __glibcxx_want_semaphore 1461 #if !defined(__cpp_lib_smart_ptr_for_overwrite) 1462 # if (__cplusplus >= 202002L) && _GLIBCXX_HOSTED 1463 # define __glibcxx_smart_ptr_for_overwrite 202002L 1464 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_smart_ptr_for_overwrite) 1465 # define __cpp_lib_smart_ptr_for_overwrite 202002L 1469 #undef __glibcxx_want_smart_ptr_for_overwrite 1471 #if !defined(__cpp_lib_syncbuf) 1472 # if (__cplusplus >= 202002L) && _GLIBCXX_USE_CXX11_ABI && _GLIBCXX_HOSTED 1473 # define __glibcxx_syncbuf 201803L 1474 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_syncbuf) 1475 # define __cpp_lib_syncbuf 201803L 1479 #undef __glibcxx_want_syncbuf 1481 #if !defined(__cpp_lib_byteswap) 1482 # if (__cplusplus >= 202100L) 1483 # define __glibcxx_byteswap 202110L 1484 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_byteswap) 1485 # define __cpp_lib_byteswap 202110L 1489 #undef __glibcxx_want_byteswap 1491 #if !defined(__cpp_lib_constexpr_charconv) 1492 # if (__cplusplus >= 202100L) 1493 # define __glibcxx_constexpr_charconv 202207L 1494 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_charconv) 1495 # define __cpp_lib_constexpr_charconv 202207L 1499 #undef __glibcxx_want_constexpr_charconv 1501 #if !defined(__cpp_lib_constexpr_typeinfo) 1502 # if (__cplusplus >= 202100L) 1503 # define __glibcxx_constexpr_typeinfo 202106L 1504 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_typeinfo) 1505 # define __cpp_lib_constexpr_typeinfo 202106L 1509 #undef __glibcxx_want_constexpr_typeinfo 1511 #if !defined(__cpp_lib_expected) 1512 # if (__cplusplus >= 202100L) && (__cpp_concepts >= 202002L) 1513 # define __glibcxx_expected 202211L 1514 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_expected) 1515 # define __cpp_lib_expected 202211L 1519 #undef __glibcxx_want_expected 1521 #if !defined(__cpp_lib_freestanding_algorithm) 1522 # if (__cplusplus >= 202100L) 1523 # define __glibcxx_freestanding_algorithm 202311L 1524 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_algorithm) 1525 # define __cpp_lib_freestanding_algorithm 202311L 1529 #undef __glibcxx_want_freestanding_algorithm 1531 #if !defined(__cpp_lib_freestanding_array) 1532 # if (__cplusplus >= 202100L) 1533 # define __glibcxx_freestanding_array 202311L 1534 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_array) 1535 # define __cpp_lib_freestanding_array 202311L 1539 #undef __glibcxx_want_freestanding_array 1541 #if !defined(__cpp_lib_freestanding_cstring) 1542 # if (__cplusplus >= 202100L) 1543 # define __glibcxx_freestanding_cstring 202311L 1544 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_cstring) 1545 # define __cpp_lib_freestanding_cstring 202311L 1549 #undef __glibcxx_want_freestanding_cstring 1551 #if !defined(__cpp_lib_freestanding_expected) 1552 # if (__cplusplus >= 202100L) && (__cpp_lib_expected) 1553 # define __glibcxx_freestanding_expected 202311L 1554 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_expected) 1555 # define __cpp_lib_freestanding_expected 202311L 1559 #undef __glibcxx_want_freestanding_expected 1561 #if !defined(__cpp_lib_freestanding_optional) 1562 # if (__cplusplus >= 202100L) 1563 # define __glibcxx_freestanding_optional 202311L 1564 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_optional) 1565 # define __cpp_lib_freestanding_optional 202311L 1569 #undef __glibcxx_want_freestanding_optional 1571 #if !defined(__cpp_lib_freestanding_string_view) 1572 # if (__cplusplus >= 202100L) 1573 # define __glibcxx_freestanding_string_view 202311L 1574 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_string_view) 1575 # define __cpp_lib_freestanding_string_view 202311L 1579 #undef __glibcxx_want_freestanding_string_view 1581 #if !defined(__cpp_lib_freestanding_variant) 1582 # if (__cplusplus >= 202100L) 1583 # define __glibcxx_freestanding_variant 202311L 1584 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_freestanding_variant) 1585 # define __cpp_lib_freestanding_variant 202311L 1589 #undef __glibcxx_want_freestanding_variant 1591 #if !defined(__cpp_lib_invoke_r) 1592 # if (__cplusplus >= 202100L) 1593 # define __glibcxx_invoke_r 202106L 1594 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_invoke_r) 1595 # define __cpp_lib_invoke_r 202106L 1599 #undef __glibcxx_want_invoke_r 1601 #if !defined(__cpp_lib_is_scoped_enum) 1602 # if (__cplusplus >= 202100L) 1603 # define __glibcxx_is_scoped_enum 202011L 1604 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_is_scoped_enum) 1605 # define __cpp_lib_is_scoped_enum 202011L 1609 #undef __glibcxx_want_is_scoped_enum 1611 #if !defined(__cpp_lib_reference_from_temporary) 1612 # if (__cplusplus >= 202100L) && (__has_builtin(__reference_constructs_from_temporary) && __has_builtin(__reference_converts_from_temporary)) 1613 # define __glibcxx_reference_from_temporary 202202L 1614 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_from_temporary) 1615 # define __cpp_lib_reference_from_temporary 202202L 1619 #undef __glibcxx_want_reference_from_temporary 1621 #if !defined(__cpp_lib_ranges_to_container) 1622 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1623 # define __glibcxx_ranges_to_container 202202L 1624 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_to_container) 1625 # define __cpp_lib_ranges_to_container 202202L 1629 #undef __glibcxx_want_ranges_to_container 1631 #if !defined(__cpp_lib_ranges_zip) 1632 # if (__cplusplus >= 202100L) 1633 # define __glibcxx_ranges_zip 202110L 1634 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_zip) 1635 # define __cpp_lib_ranges_zip 202110L 1639 #undef __glibcxx_want_ranges_zip 1641 #if !defined(__cpp_lib_ranges_chunk) 1642 # if (__cplusplus >= 202100L) 1643 # define __glibcxx_ranges_chunk 202202L 1644 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk) 1645 # define __cpp_lib_ranges_chunk 202202L 1649 #undef __glibcxx_want_ranges_chunk 1651 #if !defined(__cpp_lib_ranges_slide) 1652 # if (__cplusplus >= 202100L) 1653 # define __glibcxx_ranges_slide 202202L 1654 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_slide) 1655 # define __cpp_lib_ranges_slide 202202L 1659 #undef __glibcxx_want_ranges_slide 1661 #if !defined(__cpp_lib_ranges_chunk_by) 1662 # if (__cplusplus >= 202100L) 1663 # define __glibcxx_ranges_chunk_by 202202L 1664 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_chunk_by) 1665 # define __cpp_lib_ranges_chunk_by 202202L 1669 #undef __glibcxx_want_ranges_chunk_by 1671 #if !defined(__cpp_lib_ranges_join_with) 1672 # if (__cplusplus >= 202100L) 1673 # define __glibcxx_ranges_join_with 202202L 1674 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_join_with) 1675 # define __cpp_lib_ranges_join_with 202202L 1679 #undef __glibcxx_want_ranges_join_with 1681 #if !defined(__cpp_lib_ranges_repeat) 1682 # if (__cplusplus >= 202100L) 1683 # define __glibcxx_ranges_repeat 202207L 1684 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_repeat) 1685 # define __cpp_lib_ranges_repeat 202207L 1689 #undef __glibcxx_want_ranges_repeat 1691 #if !defined(__cpp_lib_ranges_stride) 1692 # if (__cplusplus >= 202100L) 1693 # define __glibcxx_ranges_stride 202207L 1694 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_stride) 1695 # define __cpp_lib_ranges_stride 202207L 1699 #undef __glibcxx_want_ranges_stride 1701 #if !defined(__cpp_lib_ranges_cartesian_product) 1702 # if (__cplusplus >= 202100L) 1703 # define __glibcxx_ranges_cartesian_product 202207L 1704 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_cartesian_product) 1705 # define __cpp_lib_ranges_cartesian_product 202207L 1709 #undef __glibcxx_want_ranges_cartesian_product 1711 #if !defined(__cpp_lib_ranges_as_rvalue) 1712 # if (__cplusplus >= 202100L) 1713 # define __glibcxx_ranges_as_rvalue 202207L 1714 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_rvalue) 1715 # define __cpp_lib_ranges_as_rvalue 202207L 1719 #undef __glibcxx_want_ranges_as_rvalue 1721 #if !defined(__cpp_lib_ranges_as_const) 1722 # if (__cplusplus >= 202100L) 1723 # define __glibcxx_ranges_as_const 202311L 1724 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_as_const) 1725 # define __cpp_lib_ranges_as_const 202311L 1729 #undef __glibcxx_want_ranges_as_const 1731 #if !defined(__cpp_lib_ranges_enumerate) 1732 # if (__cplusplus >= 202100L) 1733 # define __glibcxx_ranges_enumerate 202302L 1734 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_enumerate) 1735 # define __cpp_lib_ranges_enumerate 202302L 1739 #undef __glibcxx_want_ranges_enumerate 1741 #if !defined(__cpp_lib_ranges_fold) 1742 # if (__cplusplus >= 202100L) 1743 # define __glibcxx_ranges_fold 202207L 1744 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_fold) 1745 # define __cpp_lib_ranges_fold 202207L 1749 #undef __glibcxx_want_ranges_fold 1751 #if !defined(__cpp_lib_ranges_contains) 1752 # if (__cplusplus >= 202100L) 1753 # define __glibcxx_ranges_contains 202207L 1754 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_contains) 1755 # define __cpp_lib_ranges_contains 202207L 1759 #undef __glibcxx_want_ranges_contains 1761 #if !defined(__cpp_lib_ranges_iota) 1762 # if (__cplusplus >= 202100L) 1763 # define __glibcxx_ranges_iota 202202L 1764 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_iota) 1765 # define __cpp_lib_ranges_iota 202202L 1769 #undef __glibcxx_want_ranges_iota 1771 #if !defined(__cpp_lib_ranges_find_last) 1772 # if (__cplusplus >= 202100L) 1773 # define __glibcxx_ranges_find_last 202207L 1774 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ranges_find_last) 1775 # define __cpp_lib_ranges_find_last 202207L 1779 #undef __glibcxx_want_ranges_find_last 1781 #if !defined(__cpp_lib_constexpr_bitset) 1782 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__cpp_constexpr_dynamic_alloc) 1783 # define __glibcxx_constexpr_bitset 202202L 1784 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_constexpr_bitset) 1785 # define __cpp_lib_constexpr_bitset 202202L 1789 #undef __glibcxx_want_constexpr_bitset 1791 #if !defined(__cpp_lib_stdatomic_h) 1792 # if (__cplusplus >= 202100L) 1793 # define __glibcxx_stdatomic_h 202011L 1794 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stdatomic_h) 1795 # define __cpp_lib_stdatomic_h 202011L 1799 #undef __glibcxx_want_stdatomic_h 1801 #if !defined(__cpp_lib_adaptor_iterator_pair_constructor) 1802 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1803 # define __glibcxx_adaptor_iterator_pair_constructor 202106L 1804 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_adaptor_iterator_pair_constructor) 1805 # define __cpp_lib_adaptor_iterator_pair_constructor 202106L 1809 #undef __glibcxx_want_adaptor_iterator_pair_constructor 1811 #if !defined(__cpp_lib_formatters) 1812 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1813 # define __glibcxx_formatters 202302L 1814 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_formatters) 1815 # define __cpp_lib_formatters 202302L 1819 #undef __glibcxx_want_formatters 1821 #if !defined(__cpp_lib_forward_like) 1822 # if (__cplusplus >= 202100L) 1823 # define __glibcxx_forward_like 202207L 1824 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_forward_like) 1825 # define __cpp_lib_forward_like 202207L 1829 #undef __glibcxx_want_forward_like 1831 #if !defined(__cpp_lib_generator) 1832 # if (__cplusplus >= 202100L) && (__glibcxx_coroutine && __cpp_sized_deallocation) 1833 # define __glibcxx_generator 202207L 1834 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_generator) 1835 # define __cpp_lib_generator 202207L 1839 #undef __glibcxx_want_generator 1841 #if !defined(__cpp_lib_ios_noreplace) 1842 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1843 # define __glibcxx_ios_noreplace 202207L 1844 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ios_noreplace) 1845 # define __cpp_lib_ios_noreplace 202207L 1849 #undef __glibcxx_want_ios_noreplace 1851 #if !defined(__cpp_lib_move_only_function) 1852 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1853 # define __glibcxx_move_only_function 202110L 1854 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_move_only_function) 1855 # define __cpp_lib_move_only_function 202110L 1859 #undef __glibcxx_want_move_only_function 1861 #if !defined(__cpp_lib_out_ptr) 1862 # if (__cplusplus >= 202100L) 1863 # define __glibcxx_out_ptr 202311L 1864 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_out_ptr) 1865 # define __cpp_lib_out_ptr 202311L 1869 #undef __glibcxx_want_out_ptr 1871 #if !defined(__cpp_lib_print) 1872 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1873 # define __glibcxx_print 202211L 1874 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_print) 1875 # define __cpp_lib_print 202211L 1879 #undef __glibcxx_want_print 1881 #if !defined(__cpp_lib_spanstream) 1882 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (__glibcxx_span) 1883 # define __glibcxx_spanstream 202106L 1884 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_spanstream) 1885 # define __cpp_lib_spanstream 202106L 1889 #undef __glibcxx_want_spanstream 1891 #if !defined(__cpp_lib_stacktrace) 1892 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED && (_GLIBCXX_HAVE_STACKTRACE) 1893 # define __glibcxx_stacktrace 202011L 1894 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_stacktrace) 1895 # define __cpp_lib_stacktrace 202011L 1899 #undef __glibcxx_want_stacktrace 1901 #if !defined(__cpp_lib_string_contains) 1902 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1903 # define __glibcxx_string_contains 202011L 1904 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_contains) 1905 # define __cpp_lib_string_contains 202011L 1909 #undef __glibcxx_want_string_contains 1911 #if !defined(__cpp_lib_string_resize_and_overwrite) 1912 # if (__cplusplus >= 202100L) && _GLIBCXX_HOSTED 1913 # define __glibcxx_string_resize_and_overwrite 202110L 1914 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_string_resize_and_overwrite) 1915 # define __cpp_lib_string_resize_and_overwrite 202110L 1919 #undef __glibcxx_want_string_resize_and_overwrite 1921 #if !defined(__cpp_lib_to_underlying) 1922 # if (__cplusplus >= 202100L) 1923 # define __glibcxx_to_underlying 202102L 1924 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_underlying) 1925 # define __cpp_lib_to_underlying 202102L 1929 #undef __glibcxx_want_to_underlying 1931 #if !defined(__cpp_lib_tuple_like) 1932 # if (__cplusplus >= 202100L) 1933 # define __glibcxx_tuple_like 202207L 1934 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_tuple_like) 1935 # define __cpp_lib_tuple_like 202207L 1939 #undef __glibcxx_want_tuple_like 1941 #if !defined(__cpp_lib_unreachable) 1942 # if (__cplusplus >= 202100L) 1943 # define __glibcxx_unreachable 202202L 1944 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_unreachable) 1945 # define __cpp_lib_unreachable 202202L 1949 #undef __glibcxx_want_unreachable 1951 #if !defined(__cpp_lib_fstream_native_handle) 1952 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED 1953 # define __glibcxx_fstream_native_handle 202306L 1954 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_fstream_native_handle) 1955 # define __cpp_lib_fstream_native_handle 202306L 1959 #undef __glibcxx_want_fstream_native_handle 1961 #if !defined(__cpp_lib_ratio) 1962 # if (__cplusplus > 202302L) 1963 # define __glibcxx_ratio 202306L 1964 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_ratio) 1965 # define __cpp_lib_ratio 202306L 1969 #undef __glibcxx_want_ratio 1971 #if !defined(__cpp_lib_reference_wrapper) 1972 # if (__cplusplus > 202302L) 1973 # define __glibcxx_reference_wrapper 202403L 1974 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_reference_wrapper) 1975 # define __cpp_lib_reference_wrapper 202403L 1979 #undef __glibcxx_want_reference_wrapper 1981 #if !defined(__cpp_lib_saturation_arithmetic) 1982 # if (__cplusplus > 202302L) 1983 # define __glibcxx_saturation_arithmetic 202311L 1984 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_saturation_arithmetic) 1985 # define __cpp_lib_saturation_arithmetic 202311L 1989 #undef __glibcxx_want_saturation_arithmetic 1991 #if !defined(__cpp_lib_text_encoding) 1992 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (_GLIBCXX_USE_NL_LANGINFO_L) 1993 # define __glibcxx_text_encoding 202306L 1994 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_text_encoding) 1995 # define __cpp_lib_text_encoding 202306L 1999 #undef __glibcxx_want_text_encoding 2001 #if !defined(__cpp_lib_to_string) 2002 # if (__cplusplus > 202302L) && _GLIBCXX_HOSTED && (__glibcxx_to_chars) 2003 # define __glibcxx_to_string 202306L 2004 # if defined(__glibcxx_want_all) || defined(__glibcxx_want_to_string) 2005 # define __cpp_lib_to_string 202306L 2009 #undef __glibcxx_want_to_string 2011 #undef __glibcxx_want_all