brintos

brintos / llvm-project-archived public Read only

0
0
Text · 269.7 KiB · 996ec29 Raw
8235 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// WARNING: This test was generated by generate_feature_test_macro_components.py10// and should not be edited manually.11 12// <version>13 14// Test the feature test macros defined by <version>15 16// clang-format off17 18#include <version>19#include "test_macros.h"20 21#if TEST_STD_VER < 1422 23#  ifdef __cpp_lib_adaptor_iterator_pair_constructor24#    error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"25#  endif26 27#  ifdef __cpp_lib_addressof_constexpr28#    error "__cpp_lib_addressof_constexpr should not be defined before c++17"29#  endif30 31#  ifdef __cpp_lib_aligned_accessor32#    error "__cpp_lib_aligned_accessor should not be defined before c++26"33#  endif34 35#  ifdef __cpp_lib_allocate_at_least36#    error "__cpp_lib_allocate_at_least should not be defined before c++23"37#  endif38 39#  ifdef __cpp_lib_allocator_traits_is_always_equal40#    error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"41#  endif42 43#  ifdef __cpp_lib_any44#    error "__cpp_lib_any should not be defined before c++17"45#  endif46 47#  ifdef __cpp_lib_apply48#    error "__cpp_lib_apply should not be defined before c++17"49#  endif50 51#  ifdef __cpp_lib_array_constexpr52#    error "__cpp_lib_array_constexpr should not be defined before c++17"53#  endif54 55#  ifdef __cpp_lib_as_const56#    error "__cpp_lib_as_const should not be defined before c++17"57#  endif58 59#  ifdef __cpp_lib_associative_heterogeneous_erasure60#    error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"61#  endif62 63#  ifdef __cpp_lib_associative_heterogeneous_insertion64#    error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"65#  endif66 67#  ifdef __cpp_lib_assume_aligned68#    error "__cpp_lib_assume_aligned should not be defined before c++20"69#  endif70 71#  ifdef __cpp_lib_atomic_flag_test72#    error "__cpp_lib_atomic_flag_test should not be defined before c++20"73#  endif74 75#  ifdef __cpp_lib_atomic_float76#    error "__cpp_lib_atomic_float should not be defined before c++20"77#  endif78 79#  ifdef __cpp_lib_atomic_is_always_lock_free80#    error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"81#  endif82 83#  ifdef __cpp_lib_atomic_lock_free_type_aliases84#    error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"85#  endif86 87#  ifdef __cpp_lib_atomic_min_max88#    error "__cpp_lib_atomic_min_max should not be defined before c++26"89#  endif90 91#  ifdef __cpp_lib_atomic_ref92#    error "__cpp_lib_atomic_ref should not be defined before c++20"93#  endif94 95#  ifdef __cpp_lib_atomic_shared_ptr96#    error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"97#  endif98 99#  ifdef __cpp_lib_atomic_value_initialization100#    error "__cpp_lib_atomic_value_initialization should not be defined before c++20"101#  endif102 103#  ifdef __cpp_lib_atomic_wait104#    error "__cpp_lib_atomic_wait should not be defined before c++20"105#  endif106 107#  ifdef __cpp_lib_barrier108#    error "__cpp_lib_barrier should not be defined before c++20"109#  endif110 111#  ifdef __cpp_lib_bind_back112#    error "__cpp_lib_bind_back should not be defined before c++23"113#  endif114 115#  ifdef __cpp_lib_bind_front116#    error "__cpp_lib_bind_front should not be defined before c++20"117#  endif118 119#  ifdef __cpp_lib_bit_cast120#    error "__cpp_lib_bit_cast should not be defined before c++20"121#  endif122 123#  ifdef __cpp_lib_bitops124#    error "__cpp_lib_bitops should not be defined before c++20"125#  endif126 127#  ifdef __cpp_lib_bitset128#    error "__cpp_lib_bitset should not be defined before c++26"129#  endif130 131#  ifdef __cpp_lib_bool_constant132#    error "__cpp_lib_bool_constant should not be defined before c++17"133#  endif134 135#  ifdef __cpp_lib_bounded_array_traits136#    error "__cpp_lib_bounded_array_traits should not be defined before c++20"137#  endif138 139#  ifdef __cpp_lib_boyer_moore_searcher140#    error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"141#  endif142 143#  ifdef __cpp_lib_byte144#    error "__cpp_lib_byte should not be defined before c++17"145#  endif146 147#  ifdef __cpp_lib_byteswap148#    error "__cpp_lib_byteswap should not be defined before c++23"149#  endif150 151#  ifdef __cpp_lib_char8_t152#    error "__cpp_lib_char8_t should not be defined before c++20"153#  endif154 155#  ifdef __cpp_lib_chrono156#    error "__cpp_lib_chrono should not be defined before c++17"157#  endif158 159#  ifdef __cpp_lib_chrono_udls160#    error "__cpp_lib_chrono_udls should not be defined before c++14"161#  endif162 163#  ifdef __cpp_lib_clamp164#    error "__cpp_lib_clamp should not be defined before c++17"165#  endif166 167#  ifdef __cpp_lib_common_reference168#    error "__cpp_lib_common_reference should not be defined before c++20"169#  endif170 171#  ifdef __cpp_lib_common_reference_wrapper172#    error "__cpp_lib_common_reference_wrapper should not be defined before c++20"173#  endif174 175#  ifdef __cpp_lib_complex_udls176#    error "__cpp_lib_complex_udls should not be defined before c++14"177#  endif178 179#  ifdef __cpp_lib_concepts180#    error "__cpp_lib_concepts should not be defined before c++20"181#  endif182 183#  ifdef __cpp_lib_constexpr_algorithms184#    error "__cpp_lib_constexpr_algorithms should not be defined before c++20"185#  endif186 187#  ifdef __cpp_lib_constexpr_bitset188#    error "__cpp_lib_constexpr_bitset should not be defined before c++23"189#  endif190 191#  ifdef __cpp_lib_constexpr_charconv192#    error "__cpp_lib_constexpr_charconv should not be defined before c++23"193#  endif194 195#  ifdef __cpp_lib_constexpr_cmath196#    error "__cpp_lib_constexpr_cmath should not be defined before c++23"197#  endif198 199#  ifdef __cpp_lib_constexpr_complex200#    error "__cpp_lib_constexpr_complex should not be defined before c++20"201#  endif202 203#  ifdef __cpp_lib_constexpr_dynamic_alloc204#    error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"205#  endif206 207#  ifdef __cpp_lib_constexpr_flat_map208#    error "__cpp_lib_constexpr_flat_map should not be defined before c++26"209#  endif210 211#  ifdef __cpp_lib_constexpr_flat_set212#    error "__cpp_lib_constexpr_flat_set should not be defined before c++26"213#  endif214 215#  ifdef __cpp_lib_constexpr_forward_list216#    error "__cpp_lib_constexpr_forward_list should not be defined before c++26"217#  endif218 219#  ifdef __cpp_lib_constexpr_functional220#    error "__cpp_lib_constexpr_functional should not be defined before c++20"221#  endif222 223#  ifdef __cpp_lib_constexpr_iterator224#    error "__cpp_lib_constexpr_iterator should not be defined before c++20"225#  endif226 227#  ifdef __cpp_lib_constexpr_list228#    error "__cpp_lib_constexpr_list should not be defined before c++26"229#  endif230 231#  ifdef __cpp_lib_constexpr_memory232#    error "__cpp_lib_constexpr_memory should not be defined before c++20"233#  endif234 235#  ifdef __cpp_lib_constexpr_new236#    error "__cpp_lib_constexpr_new should not be defined before c++26"237#  endif238 239#  ifdef __cpp_lib_constexpr_numeric240#    error "__cpp_lib_constexpr_numeric should not be defined before c++20"241#  endif242 243#  ifdef __cpp_lib_constexpr_queue244#    error "__cpp_lib_constexpr_queue should not be defined before c++26"245#  endif246 247#  ifdef __cpp_lib_constexpr_string248#    error "__cpp_lib_constexpr_string should not be defined before c++20"249#  endif250 251#  ifdef __cpp_lib_constexpr_string_view252#    error "__cpp_lib_constexpr_string_view should not be defined before c++20"253#  endif254 255#  ifdef __cpp_lib_constexpr_tuple256#    error "__cpp_lib_constexpr_tuple should not be defined before c++20"257#  endif258 259#  ifdef __cpp_lib_constexpr_typeinfo260#    error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"261#  endif262 263#  ifdef __cpp_lib_constexpr_utility264#    error "__cpp_lib_constexpr_utility should not be defined before c++20"265#  endif266 267#  ifdef __cpp_lib_constexpr_vector268#    error "__cpp_lib_constexpr_vector should not be defined before c++20"269#  endif270 271#  ifdef __cpp_lib_constrained_equality272#    error "__cpp_lib_constrained_equality should not be defined before c++26"273#  endif274 275#  ifdef __cpp_lib_containers_ranges276#    error "__cpp_lib_containers_ranges should not be defined before c++23"277#  endif278 279#  ifdef __cpp_lib_copyable_function280#    error "__cpp_lib_copyable_function should not be defined before c++26"281#  endif282 283#  ifdef __cpp_lib_coroutine284#    error "__cpp_lib_coroutine should not be defined before c++20"285#  endif286 287#  ifdef __cpp_lib_debugging288#    error "__cpp_lib_debugging should not be defined before c++26"289#  endif290 291#  ifdef __cpp_lib_default_template_type_for_algorithm_values292#    error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"293#  endif294 295#  ifdef __cpp_lib_destroying_delete296#    error "__cpp_lib_destroying_delete should not be defined before c++20"297#  endif298 299#  ifdef __cpp_lib_enable_shared_from_this300#    error "__cpp_lib_enable_shared_from_this should not be defined before c++17"301#  endif302 303#  ifdef __cpp_lib_endian304#    error "__cpp_lib_endian should not be defined before c++20"305#  endif306 307#  ifdef __cpp_lib_erase_if308#    error "__cpp_lib_erase_if should not be defined before c++20"309#  endif310 311#  ifdef __cpp_lib_exchange_function312#    error "__cpp_lib_exchange_function should not be defined before c++14"313#  endif314 315#  ifdef __cpp_lib_execution316#    error "__cpp_lib_execution should not be defined before c++17"317#  endif318 319#  ifdef __cpp_lib_expected320#    error "__cpp_lib_expected should not be defined before c++23"321#  endif322 323#  ifdef __cpp_lib_filesystem324#    error "__cpp_lib_filesystem should not be defined before c++17"325#  endif326 327#  ifdef __cpp_lib_flat_map328#    error "__cpp_lib_flat_map should not be defined before c++23"329#  endif330 331#  ifdef __cpp_lib_flat_set332#    error "__cpp_lib_flat_set should not be defined before c++23"333#  endif334 335#  ifdef __cpp_lib_format336#    error "__cpp_lib_format should not be defined before c++20"337#  endif338 339#  ifdef __cpp_lib_format_path340#    error "__cpp_lib_format_path should not be defined before c++26"341#  endif342 343#  ifdef __cpp_lib_format_ranges344#    error "__cpp_lib_format_ranges should not be defined before c++23"345#  endif346 347#  ifdef __cpp_lib_format_uchar348#    error "__cpp_lib_format_uchar should not be defined before c++20"349#  endif350 351#  ifdef __cpp_lib_formatters352#    error "__cpp_lib_formatters should not be defined before c++23"353#  endif354 355#  ifdef __cpp_lib_forward_like356#    error "__cpp_lib_forward_like should not be defined before c++23"357#  endif358 359#  ifdef __cpp_lib_freestanding_algorithm360#    error "__cpp_lib_freestanding_algorithm should not be defined before c++26"361#  endif362 363#  ifdef __cpp_lib_freestanding_array364#    error "__cpp_lib_freestanding_array should not be defined before c++26"365#  endif366 367#  ifdef __cpp_lib_freestanding_cstring368#    error "__cpp_lib_freestanding_cstring should not be defined before c++26"369#  endif370 371#  ifdef __cpp_lib_freestanding_expected372#    error "__cpp_lib_freestanding_expected should not be defined before c++26"373#  endif374 375#  ifdef __cpp_lib_freestanding_mdspan376#    error "__cpp_lib_freestanding_mdspan should not be defined before c++26"377#  endif378 379#  ifdef __cpp_lib_freestanding_optional380#    error "__cpp_lib_freestanding_optional should not be defined before c++26"381#  endif382 383#  ifdef __cpp_lib_freestanding_string_view384#    error "__cpp_lib_freestanding_string_view should not be defined before c++26"385#  endif386 387#  ifdef __cpp_lib_freestanding_variant388#    error "__cpp_lib_freestanding_variant should not be defined before c++26"389#  endif390 391#  ifdef __cpp_lib_fstream_native_handle392#    error "__cpp_lib_fstream_native_handle should not be defined before c++26"393#  endif394 395#  ifdef __cpp_lib_function_ref396#    error "__cpp_lib_function_ref should not be defined before c++26"397#  endif398 399#  ifdef __cpp_lib_gcd_lcm400#    error "__cpp_lib_gcd_lcm should not be defined before c++17"401#  endif402 403#  ifdef __cpp_lib_generate_random404#    error "__cpp_lib_generate_random should not be defined before c++26"405#  endif406 407#  ifdef __cpp_lib_generic_associative_lookup408#    error "__cpp_lib_generic_associative_lookup should not be defined before c++14"409#  endif410 411#  ifdef __cpp_lib_generic_unordered_lookup412#    error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"413#  endif414 415#  ifdef __cpp_lib_hardware_interference_size416#    error "__cpp_lib_hardware_interference_size should not be defined before c++17"417#  endif418 419#  ifdef __cpp_lib_has_unique_object_representations420#    error "__cpp_lib_has_unique_object_representations should not be defined before c++17"421#  endif422 423#  ifdef __cpp_lib_hazard_pointer424#    error "__cpp_lib_hazard_pointer should not be defined before c++26"425#  endif426 427#  ifdef __cpp_lib_hypot428#    error "__cpp_lib_hypot should not be defined before c++17"429#  endif430 431#  ifdef __cpp_lib_incomplete_container_elements432#    error "__cpp_lib_incomplete_container_elements should not be defined before c++17"433#  endif434 435#  ifdef __cpp_lib_inplace_vector436#    error "__cpp_lib_inplace_vector should not be defined before c++26"437#  endif438 439#  ifdef __cpp_lib_int_pow2440#    error "__cpp_lib_int_pow2 should not be defined before c++20"441#  endif442 443#  ifdef __cpp_lib_integer_comparison_functions444#    error "__cpp_lib_integer_comparison_functions should not be defined before c++20"445#  endif446 447#  ifdef __cpp_lib_integer_sequence448#    error "__cpp_lib_integer_sequence should not be defined before c++14"449#  endif450 451#  ifdef __cpp_lib_integral_constant_callable452#    error "__cpp_lib_integral_constant_callable should not be defined before c++14"453#  endif454 455#  ifdef __cpp_lib_interpolate456#    error "__cpp_lib_interpolate should not be defined before c++20"457#  endif458 459#  ifdef __cpp_lib_invoke460#    error "__cpp_lib_invoke should not be defined before c++17"461#  endif462 463#  ifdef __cpp_lib_invoke_r464#    error "__cpp_lib_invoke_r should not be defined before c++23"465#  endif466 467#  ifdef __cpp_lib_ios_noreplace468#    error "__cpp_lib_ios_noreplace should not be defined before c++23"469#  endif470 471#  ifdef __cpp_lib_is_aggregate472#    error "__cpp_lib_is_aggregate should not be defined before c++17"473#  endif474 475#  ifdef __cpp_lib_is_constant_evaluated476#    error "__cpp_lib_is_constant_evaluated should not be defined before c++20"477#  endif478 479#  ifdef __cpp_lib_is_final480#    error "__cpp_lib_is_final should not be defined before c++14"481#  endif482 483#  ifdef __cpp_lib_is_implicit_lifetime484#    error "__cpp_lib_is_implicit_lifetime should not be defined before c++23"485#  endif486 487#  ifdef __cpp_lib_is_invocable488#    error "__cpp_lib_is_invocable should not be defined before c++17"489#  endif490 491#  ifdef __cpp_lib_is_layout_compatible492#    error "__cpp_lib_is_layout_compatible should not be defined before c++20"493#  endif494 495#  ifdef __cpp_lib_is_nothrow_convertible496#    error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"497#  endif498 499#  ifdef __cpp_lib_is_null_pointer500#    error "__cpp_lib_is_null_pointer should not be defined before c++14"501#  endif502 503#  ifdef __cpp_lib_is_pointer_interconvertible504#    error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"505#  endif506 507#  ifdef __cpp_lib_is_scoped_enum508#    error "__cpp_lib_is_scoped_enum should not be defined before c++23"509#  endif510 511#  ifdef __cpp_lib_is_sufficiently_aligned512#    error "__cpp_lib_is_sufficiently_aligned should not be defined before c++26"513#  endif514 515#  ifdef __cpp_lib_is_swappable516#    error "__cpp_lib_is_swappable should not be defined before c++17"517#  endif518 519#  ifdef __cpp_lib_is_virtual_base_of520#    error "__cpp_lib_is_virtual_base_of should not be defined before c++26"521#  endif522 523#  ifdef __cpp_lib_is_within_lifetime524#    error "__cpp_lib_is_within_lifetime should not be defined before c++26"525#  endif526 527#  ifdef __cpp_lib_jthread528#    error "__cpp_lib_jthread should not be defined before c++20"529#  endif530 531#  ifdef __cpp_lib_latch532#    error "__cpp_lib_latch should not be defined before c++20"533#  endif534 535#  ifdef __cpp_lib_launder536#    error "__cpp_lib_launder should not be defined before c++17"537#  endif538 539#  ifdef __cpp_lib_linalg540#    error "__cpp_lib_linalg should not be defined before c++26"541#  endif542 543#  ifdef __cpp_lib_list_remove_return_type544#    error "__cpp_lib_list_remove_return_type should not be defined before c++20"545#  endif546 547#  ifdef __cpp_lib_logical_traits548#    error "__cpp_lib_logical_traits should not be defined before c++17"549#  endif550 551#  ifdef __cpp_lib_make_from_tuple552#    error "__cpp_lib_make_from_tuple should not be defined before c++17"553#  endif554 555#  ifdef __cpp_lib_make_reverse_iterator556#    error "__cpp_lib_make_reverse_iterator should not be defined before c++14"557#  endif558 559#  ifdef __cpp_lib_make_unique560#    error "__cpp_lib_make_unique should not be defined before c++14"561#  endif562 563#  ifdef __cpp_lib_map_try_emplace564#    error "__cpp_lib_map_try_emplace should not be defined before c++17"565#  endif566 567#  ifdef __cpp_lib_math_constants568#    error "__cpp_lib_math_constants should not be defined before c++20"569#  endif570 571#  ifdef __cpp_lib_math_special_functions572#    error "__cpp_lib_math_special_functions should not be defined before c++17"573#  endif574 575#  ifdef __cpp_lib_mdspan576#    error "__cpp_lib_mdspan should not be defined before c++23"577#  endif578 579#  ifdef __cpp_lib_memory_resource580#    error "__cpp_lib_memory_resource should not be defined before c++17"581#  endif582 583#  ifdef __cpp_lib_modules584#    error "__cpp_lib_modules should not be defined before c++23"585#  endif586 587#  ifdef __cpp_lib_move_iterator_concept588#    error "__cpp_lib_move_iterator_concept should not be defined before c++20"589#  endif590 591#  ifdef __cpp_lib_move_only_function592#    error "__cpp_lib_move_only_function should not be defined before c++23"593#  endif594 595#  ifdef __cpp_lib_node_extract596#    error "__cpp_lib_node_extract should not be defined before c++17"597#  endif598 599#  ifdef __cpp_lib_nonmember_container_access600#    error "__cpp_lib_nonmember_container_access should not be defined before c++17"601#  endif602 603#  ifdef __cpp_lib_not_fn604#    error "__cpp_lib_not_fn should not be defined before c++17"605#  endif606 607#  ifdef __cpp_lib_null_iterators608#    error "__cpp_lib_null_iterators should not be defined before c++14"609#  endif610 611#  ifdef __cpp_lib_optional612#    error "__cpp_lib_optional should not be defined before c++17"613#  endif614 615#  ifdef __cpp_lib_optional_range_support616#    error "__cpp_lib_optional_range_support should not be defined before c++26"617#  endif618 619#  ifdef __cpp_lib_out_ptr620#    error "__cpp_lib_out_ptr should not be defined before c++23"621#  endif622 623#  ifdef __cpp_lib_parallel_algorithm624#    error "__cpp_lib_parallel_algorithm should not be defined before c++17"625#  endif626 627#  ifdef __cpp_lib_philox_engine628#    error "__cpp_lib_philox_engine should not be defined before c++26"629#  endif630 631#  ifdef __cpp_lib_polymorphic_allocator632#    error "__cpp_lib_polymorphic_allocator should not be defined before c++20"633#  endif634 635#  ifdef __cpp_lib_print636#    error "__cpp_lib_print should not be defined before c++23"637#  endif638 639#  ifdef __cpp_lib_quoted_string_io640#    error "__cpp_lib_quoted_string_io should not be defined before c++14"641#  endif642 643#  ifdef __cpp_lib_ranges644#    error "__cpp_lib_ranges should not be defined before c++20"645#  endif646 647#  ifdef __cpp_lib_ranges_as_const648#    error "__cpp_lib_ranges_as_const should not be defined before c++23"649#  endif650 651#  ifdef __cpp_lib_ranges_as_rvalue652#    error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"653#  endif654 655#  ifdef __cpp_lib_ranges_chunk656#    error "__cpp_lib_ranges_chunk should not be defined before c++23"657#  endif658 659#  ifdef __cpp_lib_ranges_chunk_by660#    error "__cpp_lib_ranges_chunk_by should not be defined before c++23"661#  endif662 663#  ifdef __cpp_lib_ranges_concat664#    error "__cpp_lib_ranges_concat should not be defined before c++26"665#  endif666 667#  ifdef __cpp_lib_ranges_contains668#    error "__cpp_lib_ranges_contains should not be defined before c++23"669#  endif670 671#  ifdef __cpp_lib_ranges_find_last672#    error "__cpp_lib_ranges_find_last should not be defined before c++23"673#  endif674 675#  ifdef __cpp_lib_ranges_indices676#    error "__cpp_lib_ranges_indices should not be defined before c++26"677#  endif678 679#  ifdef __cpp_lib_ranges_iota680#    error "__cpp_lib_ranges_iota should not be defined before c++23"681#  endif682 683#  ifdef __cpp_lib_ranges_join_with684#    error "__cpp_lib_ranges_join_with should not be defined before c++23"685#  endif686 687#  ifdef __cpp_lib_ranges_repeat688#    error "__cpp_lib_ranges_repeat should not be defined before c++23"689#  endif690 691#  ifdef __cpp_lib_ranges_slide692#    error "__cpp_lib_ranges_slide should not be defined before c++23"693#  endif694 695#  ifdef __cpp_lib_ranges_starts_ends_with696#    error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"697#  endif698 699#  ifdef __cpp_lib_ranges_to_container700#    error "__cpp_lib_ranges_to_container should not be defined before c++23"701#  endif702 703#  ifdef __cpp_lib_ranges_zip704#    error "__cpp_lib_ranges_zip should not be defined before c++23"705#  endif706 707#  ifdef __cpp_lib_ratio708#    error "__cpp_lib_ratio should not be defined before c++26"709#  endif710 711#  ifdef __cpp_lib_raw_memory_algorithms712#    error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"713#  endif714 715#  ifdef __cpp_lib_rcu716#    error "__cpp_lib_rcu should not be defined before c++26"717#  endif718 719#  ifdef __cpp_lib_reference_from_temporary720#    error "__cpp_lib_reference_from_temporary should not be defined before c++23"721#  endif722 723#  ifdef __cpp_lib_reference_wrapper724#    error "__cpp_lib_reference_wrapper should not be defined before c++26"725#  endif726 727#  ifdef __cpp_lib_remove_cvref728#    error "__cpp_lib_remove_cvref should not be defined before c++20"729#  endif730 731#  ifdef __cpp_lib_result_of_sfinae732#    error "__cpp_lib_result_of_sfinae should not be defined before c++14"733#  endif734 735#  ifdef __cpp_lib_robust_nonmodifying_seq_ops736#    error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14"737#  endif738 739#  ifdef __cpp_lib_sample740#    error "__cpp_lib_sample should not be defined before c++17"741#  endif742 743#  ifdef __cpp_lib_saturation_arithmetic744#    error "__cpp_lib_saturation_arithmetic should not be defined before c++26"745#  endif746 747#  ifdef __cpp_lib_scoped_lock748#    error "__cpp_lib_scoped_lock should not be defined before c++17"749#  endif750 751#  ifdef __cpp_lib_semaphore752#    error "__cpp_lib_semaphore should not be defined before c++20"753#  endif754 755#  ifdef __cpp_lib_senders756#    error "__cpp_lib_senders should not be defined before c++26"757#  endif758 759#  ifdef __cpp_lib_shared_mutex760#    error "__cpp_lib_shared_mutex should not be defined before c++17"761#  endif762 763#  ifdef __cpp_lib_shared_ptr_arrays764#    error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"765#  endif766 767#  ifdef __cpp_lib_shared_ptr_weak_type768#    error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"769#  endif770 771#  ifdef __cpp_lib_shared_timed_mutex772#    error "__cpp_lib_shared_timed_mutex should not be defined before c++14"773#  endif774 775#  ifdef __cpp_lib_shift776#    error "__cpp_lib_shift should not be defined before c++20"777#  endif778 779#  ifdef __cpp_lib_smart_ptr_for_overwrite780#    error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"781#  endif782 783#  ifdef __cpp_lib_smart_ptr_owner_equality784#    error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"785#  endif786 787#  ifdef __cpp_lib_source_location788#    error "__cpp_lib_source_location should not be defined before c++20"789#  endif790 791#  ifdef __cpp_lib_span792#    error "__cpp_lib_span should not be defined before c++20"793#  endif794 795#  ifdef __cpp_lib_span_at796#    error "__cpp_lib_span_at should not be defined before c++26"797#  endif798 799#  ifdef __cpp_lib_span_initializer_list800#    error "__cpp_lib_span_initializer_list should not be defined before c++26"801#  endif802 803#  ifdef __cpp_lib_spanstream804#    error "__cpp_lib_spanstream should not be defined before c++23"805#  endif806 807#  ifdef __cpp_lib_ssize808#    error "__cpp_lib_ssize should not be defined before c++20"809#  endif810 811#  ifdef __cpp_lib_sstream_from_string_view812#    error "__cpp_lib_sstream_from_string_view should not be defined before c++26"813#  endif814 815#  ifdef __cpp_lib_stacktrace816#    error "__cpp_lib_stacktrace should not be defined before c++23"817#  endif818 819#  ifdef __cpp_lib_starts_ends_with820#    error "__cpp_lib_starts_ends_with should not be defined before c++20"821#  endif822 823#  ifdef __cpp_lib_stdatomic_h824#    error "__cpp_lib_stdatomic_h should not be defined before c++23"825#  endif826 827#  ifdef __cpp_lib_string_contains828#    error "__cpp_lib_string_contains should not be defined before c++23"829#  endif830 831#  ifdef __cpp_lib_string_resize_and_overwrite832#    error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"833#  endif834 835#  ifdef __cpp_lib_string_subview836#    error "__cpp_lib_string_subview should not be defined before c++26"837#  endif838 839#  ifdef __cpp_lib_string_udls840#    error "__cpp_lib_string_udls should not be defined before c++14"841#  endif842 843#  ifdef __cpp_lib_string_view844#    error "__cpp_lib_string_view should not be defined before c++17"845#  endif846 847#  ifdef __cpp_lib_submdspan848#    error "__cpp_lib_submdspan should not be defined before c++26"849#  endif850 851#  ifdef __cpp_lib_syncbuf852#    error "__cpp_lib_syncbuf should not be defined before c++20"853#  endif854 855#  ifdef __cpp_lib_text_encoding856#    error "__cpp_lib_text_encoding should not be defined before c++26"857#  endif858 859#  ifdef __cpp_lib_three_way_comparison860#    error "__cpp_lib_three_way_comparison should not be defined before c++20"861#  endif862 863#  ifdef __cpp_lib_to_address864#    error "__cpp_lib_to_address should not be defined before c++20"865#  endif866 867#  ifdef __cpp_lib_to_array868#    error "__cpp_lib_to_array should not be defined before c++20"869#  endif870 871#  ifdef __cpp_lib_to_chars872#    error "__cpp_lib_to_chars should not be defined before c++17"873#  endif874 875#  ifdef __cpp_lib_to_string876#    error "__cpp_lib_to_string should not be defined before c++26"877#  endif878 879#  ifdef __cpp_lib_to_underlying880#    error "__cpp_lib_to_underlying should not be defined before c++23"881#  endif882 883#  ifdef __cpp_lib_transformation_trait_aliases884#    error "__cpp_lib_transformation_trait_aliases should not be defined before c++14"885#  endif886 887#  ifdef __cpp_lib_transparent_operators888#    error "__cpp_lib_transparent_operators should not be defined before c++14"889#  endif890 891#  ifdef __cpp_lib_tuple_element_t892#    error "__cpp_lib_tuple_element_t should not be defined before c++14"893#  endif894 895#  ifdef __cpp_lib_tuple_like896#    error "__cpp_lib_tuple_like should not be defined before c++23"897#  endif898 899#  ifdef __cpp_lib_tuples_by_type900#    error "__cpp_lib_tuples_by_type should not be defined before c++14"901#  endif902 903#  ifdef __cpp_lib_type_identity904#    error "__cpp_lib_type_identity should not be defined before c++20"905#  endif906 907#  ifdef __cpp_lib_type_trait_variable_templates908#    error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"909#  endif910 911#  ifdef __cpp_lib_uncaught_exceptions912#    error "__cpp_lib_uncaught_exceptions should not be defined before c++17"913#  endif914 915#  ifdef __cpp_lib_unordered_map_try_emplace916#    error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"917#  endif918 919#  ifdef __cpp_lib_unreachable920#    error "__cpp_lib_unreachable should not be defined before c++23"921#  endif922 923#  ifdef __cpp_lib_unwrap_ref924#    error "__cpp_lib_unwrap_ref should not be defined before c++20"925#  endif926 927#  ifdef __cpp_lib_variant928#    error "__cpp_lib_variant should not be defined before c++17"929#  endif930 931#  ifdef __cpp_lib_void_t932#    error "__cpp_lib_void_t should not be defined before c++17"933#  endif934 935#elif TEST_STD_VER == 14936 937#  ifdef __cpp_lib_adaptor_iterator_pair_constructor938#    error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"939#  endif940 941#  ifdef __cpp_lib_addressof_constexpr942#    error "__cpp_lib_addressof_constexpr should not be defined before c++17"943#  endif944 945#  ifdef __cpp_lib_aligned_accessor946#    error "__cpp_lib_aligned_accessor should not be defined before c++26"947#  endif948 949#  ifdef __cpp_lib_allocate_at_least950#    error "__cpp_lib_allocate_at_least should not be defined before c++23"951#  endif952 953#  ifdef __cpp_lib_allocator_traits_is_always_equal954#    error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"955#  endif956 957#  ifdef __cpp_lib_any958#    error "__cpp_lib_any should not be defined before c++17"959#  endif960 961#  ifdef __cpp_lib_apply962#    error "__cpp_lib_apply should not be defined before c++17"963#  endif964 965#  ifdef __cpp_lib_array_constexpr966#    error "__cpp_lib_array_constexpr should not be defined before c++17"967#  endif968 969#  ifdef __cpp_lib_as_const970#    error "__cpp_lib_as_const should not be defined before c++17"971#  endif972 973#  ifdef __cpp_lib_associative_heterogeneous_erasure974#    error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"975#  endif976 977#  ifdef __cpp_lib_associative_heterogeneous_insertion978#    error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"979#  endif980 981#  ifdef __cpp_lib_assume_aligned982#    error "__cpp_lib_assume_aligned should not be defined before c++20"983#  endif984 985#  ifdef __cpp_lib_atomic_flag_test986#    error "__cpp_lib_atomic_flag_test should not be defined before c++20"987#  endif988 989#  ifdef __cpp_lib_atomic_float990#    error "__cpp_lib_atomic_float should not be defined before c++20"991#  endif992 993#  ifdef __cpp_lib_atomic_is_always_lock_free994#    error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"995#  endif996 997#  ifdef __cpp_lib_atomic_lock_free_type_aliases998#    error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"999#  endif1000 1001#  ifdef __cpp_lib_atomic_min_max1002#    error "__cpp_lib_atomic_min_max should not be defined before c++26"1003#  endif1004 1005#  ifdef __cpp_lib_atomic_ref1006#    error "__cpp_lib_atomic_ref should not be defined before c++20"1007#  endif1008 1009#  ifdef __cpp_lib_atomic_shared_ptr1010#    error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"1011#  endif1012 1013#  ifdef __cpp_lib_atomic_value_initialization1014#    error "__cpp_lib_atomic_value_initialization should not be defined before c++20"1015#  endif1016 1017#  ifdef __cpp_lib_atomic_wait1018#    error "__cpp_lib_atomic_wait should not be defined before c++20"1019#  endif1020 1021#  ifdef __cpp_lib_barrier1022#    error "__cpp_lib_barrier should not be defined before c++20"1023#  endif1024 1025#  ifdef __cpp_lib_bind_back1026#    error "__cpp_lib_bind_back should not be defined before c++23"1027#  endif1028 1029#  ifdef __cpp_lib_bind_front1030#    error "__cpp_lib_bind_front should not be defined before c++20"1031#  endif1032 1033#  ifdef __cpp_lib_bit_cast1034#    error "__cpp_lib_bit_cast should not be defined before c++20"1035#  endif1036 1037#  ifdef __cpp_lib_bitops1038#    error "__cpp_lib_bitops should not be defined before c++20"1039#  endif1040 1041#  ifdef __cpp_lib_bitset1042#    error "__cpp_lib_bitset should not be defined before c++26"1043#  endif1044 1045#  ifdef __cpp_lib_bool_constant1046#    error "__cpp_lib_bool_constant should not be defined before c++17"1047#  endif1048 1049#  ifdef __cpp_lib_bounded_array_traits1050#    error "__cpp_lib_bounded_array_traits should not be defined before c++20"1051#  endif1052 1053#  ifdef __cpp_lib_boyer_moore_searcher1054#    error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"1055#  endif1056 1057#  ifdef __cpp_lib_byte1058#    error "__cpp_lib_byte should not be defined before c++17"1059#  endif1060 1061#  ifdef __cpp_lib_byteswap1062#    error "__cpp_lib_byteswap should not be defined before c++23"1063#  endif1064 1065#  ifdef __cpp_lib_char8_t1066#    error "__cpp_lib_char8_t should not be defined before c++20"1067#  endif1068 1069#  ifdef __cpp_lib_chrono1070#    error "__cpp_lib_chrono should not be defined before c++17"1071#  endif1072 1073#  ifndef __cpp_lib_chrono_udls1074#    error "__cpp_lib_chrono_udls should be defined in c++14"1075#  endif1076#  if __cpp_lib_chrono_udls != 201304L1077#    error "__cpp_lib_chrono_udls should have the value 201304L in c++14"1078#  endif1079 1080#  ifdef __cpp_lib_clamp1081#    error "__cpp_lib_clamp should not be defined before c++17"1082#  endif1083 1084#  ifdef __cpp_lib_common_reference1085#    error "__cpp_lib_common_reference should not be defined before c++20"1086#  endif1087 1088#  ifdef __cpp_lib_common_reference_wrapper1089#    error "__cpp_lib_common_reference_wrapper should not be defined before c++20"1090#  endif1091 1092#  ifndef __cpp_lib_complex_udls1093#    error "__cpp_lib_complex_udls should be defined in c++14"1094#  endif1095#  if __cpp_lib_complex_udls != 201309L1096#    error "__cpp_lib_complex_udls should have the value 201309L in c++14"1097#  endif1098 1099#  ifdef __cpp_lib_concepts1100#    error "__cpp_lib_concepts should not be defined before c++20"1101#  endif1102 1103#  ifdef __cpp_lib_constexpr_algorithms1104#    error "__cpp_lib_constexpr_algorithms should not be defined before c++20"1105#  endif1106 1107#  ifdef __cpp_lib_constexpr_bitset1108#    error "__cpp_lib_constexpr_bitset should not be defined before c++23"1109#  endif1110 1111#  ifdef __cpp_lib_constexpr_charconv1112#    error "__cpp_lib_constexpr_charconv should not be defined before c++23"1113#  endif1114 1115#  ifdef __cpp_lib_constexpr_cmath1116#    error "__cpp_lib_constexpr_cmath should not be defined before c++23"1117#  endif1118 1119#  ifdef __cpp_lib_constexpr_complex1120#    error "__cpp_lib_constexpr_complex should not be defined before c++20"1121#  endif1122 1123#  ifdef __cpp_lib_constexpr_dynamic_alloc1124#    error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"1125#  endif1126 1127#  ifdef __cpp_lib_constexpr_flat_map1128#    error "__cpp_lib_constexpr_flat_map should not be defined before c++26"1129#  endif1130 1131#  ifdef __cpp_lib_constexpr_flat_set1132#    error "__cpp_lib_constexpr_flat_set should not be defined before c++26"1133#  endif1134 1135#  ifdef __cpp_lib_constexpr_forward_list1136#    error "__cpp_lib_constexpr_forward_list should not be defined before c++26"1137#  endif1138 1139#  ifdef __cpp_lib_constexpr_functional1140#    error "__cpp_lib_constexpr_functional should not be defined before c++20"1141#  endif1142 1143#  ifdef __cpp_lib_constexpr_iterator1144#    error "__cpp_lib_constexpr_iterator should not be defined before c++20"1145#  endif1146 1147#  ifdef __cpp_lib_constexpr_list1148#    error "__cpp_lib_constexpr_list should not be defined before c++26"1149#  endif1150 1151#  ifdef __cpp_lib_constexpr_memory1152#    error "__cpp_lib_constexpr_memory should not be defined before c++20"1153#  endif1154 1155#  ifdef __cpp_lib_constexpr_new1156#    error "__cpp_lib_constexpr_new should not be defined before c++26"1157#  endif1158 1159#  ifdef __cpp_lib_constexpr_numeric1160#    error "__cpp_lib_constexpr_numeric should not be defined before c++20"1161#  endif1162 1163#  ifdef __cpp_lib_constexpr_queue1164#    error "__cpp_lib_constexpr_queue should not be defined before c++26"1165#  endif1166 1167#  ifdef __cpp_lib_constexpr_string1168#    error "__cpp_lib_constexpr_string should not be defined before c++20"1169#  endif1170 1171#  ifdef __cpp_lib_constexpr_string_view1172#    error "__cpp_lib_constexpr_string_view should not be defined before c++20"1173#  endif1174 1175#  ifdef __cpp_lib_constexpr_tuple1176#    error "__cpp_lib_constexpr_tuple should not be defined before c++20"1177#  endif1178 1179#  ifdef __cpp_lib_constexpr_typeinfo1180#    error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"1181#  endif1182 1183#  ifdef __cpp_lib_constexpr_utility1184#    error "__cpp_lib_constexpr_utility should not be defined before c++20"1185#  endif1186 1187#  ifdef __cpp_lib_constexpr_vector1188#    error "__cpp_lib_constexpr_vector should not be defined before c++20"1189#  endif1190 1191#  ifdef __cpp_lib_constrained_equality1192#    error "__cpp_lib_constrained_equality should not be defined before c++26"1193#  endif1194 1195#  ifdef __cpp_lib_containers_ranges1196#    error "__cpp_lib_containers_ranges should not be defined before c++23"1197#  endif1198 1199#  ifdef __cpp_lib_copyable_function1200#    error "__cpp_lib_copyable_function should not be defined before c++26"1201#  endif1202 1203#  ifdef __cpp_lib_coroutine1204#    error "__cpp_lib_coroutine should not be defined before c++20"1205#  endif1206 1207#  ifdef __cpp_lib_debugging1208#    error "__cpp_lib_debugging should not be defined before c++26"1209#  endif1210 1211#  ifdef __cpp_lib_default_template_type_for_algorithm_values1212#    error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"1213#  endif1214 1215#  ifdef __cpp_lib_destroying_delete1216#    error "__cpp_lib_destroying_delete should not be defined before c++20"1217#  endif1218 1219#  ifdef __cpp_lib_enable_shared_from_this1220#    error "__cpp_lib_enable_shared_from_this should not be defined before c++17"1221#  endif1222 1223#  ifdef __cpp_lib_endian1224#    error "__cpp_lib_endian should not be defined before c++20"1225#  endif1226 1227#  ifdef __cpp_lib_erase_if1228#    error "__cpp_lib_erase_if should not be defined before c++20"1229#  endif1230 1231#  ifndef __cpp_lib_exchange_function1232#    error "__cpp_lib_exchange_function should be defined in c++14"1233#  endif1234#  if __cpp_lib_exchange_function != 201304L1235#    error "__cpp_lib_exchange_function should have the value 201304L in c++14"1236#  endif1237 1238#  ifdef __cpp_lib_execution1239#    error "__cpp_lib_execution should not be defined before c++17"1240#  endif1241 1242#  ifdef __cpp_lib_expected1243#    error "__cpp_lib_expected should not be defined before c++23"1244#  endif1245 1246#  ifdef __cpp_lib_filesystem1247#    error "__cpp_lib_filesystem should not be defined before c++17"1248#  endif1249 1250#  ifdef __cpp_lib_flat_map1251#    error "__cpp_lib_flat_map should not be defined before c++23"1252#  endif1253 1254#  ifdef __cpp_lib_flat_set1255#    error "__cpp_lib_flat_set should not be defined before c++23"1256#  endif1257 1258#  ifdef __cpp_lib_format1259#    error "__cpp_lib_format should not be defined before c++20"1260#  endif1261 1262#  ifdef __cpp_lib_format_path1263#    error "__cpp_lib_format_path should not be defined before c++26"1264#  endif1265 1266#  ifdef __cpp_lib_format_ranges1267#    error "__cpp_lib_format_ranges should not be defined before c++23"1268#  endif1269 1270#  ifdef __cpp_lib_format_uchar1271#    error "__cpp_lib_format_uchar should not be defined before c++20"1272#  endif1273 1274#  ifdef __cpp_lib_formatters1275#    error "__cpp_lib_formatters should not be defined before c++23"1276#  endif1277 1278#  ifdef __cpp_lib_forward_like1279#    error "__cpp_lib_forward_like should not be defined before c++23"1280#  endif1281 1282#  ifdef __cpp_lib_freestanding_algorithm1283#    error "__cpp_lib_freestanding_algorithm should not be defined before c++26"1284#  endif1285 1286#  ifdef __cpp_lib_freestanding_array1287#    error "__cpp_lib_freestanding_array should not be defined before c++26"1288#  endif1289 1290#  ifdef __cpp_lib_freestanding_cstring1291#    error "__cpp_lib_freestanding_cstring should not be defined before c++26"1292#  endif1293 1294#  ifdef __cpp_lib_freestanding_expected1295#    error "__cpp_lib_freestanding_expected should not be defined before c++26"1296#  endif1297 1298#  ifdef __cpp_lib_freestanding_mdspan1299#    error "__cpp_lib_freestanding_mdspan should not be defined before c++26"1300#  endif1301 1302#  ifdef __cpp_lib_freestanding_optional1303#    error "__cpp_lib_freestanding_optional should not be defined before c++26"1304#  endif1305 1306#  ifdef __cpp_lib_freestanding_string_view1307#    error "__cpp_lib_freestanding_string_view should not be defined before c++26"1308#  endif1309 1310#  ifdef __cpp_lib_freestanding_variant1311#    error "__cpp_lib_freestanding_variant should not be defined before c++26"1312#  endif1313 1314#  ifdef __cpp_lib_fstream_native_handle1315#    error "__cpp_lib_fstream_native_handle should not be defined before c++26"1316#  endif1317 1318#  ifdef __cpp_lib_function_ref1319#    error "__cpp_lib_function_ref should not be defined before c++26"1320#  endif1321 1322#  ifdef __cpp_lib_gcd_lcm1323#    error "__cpp_lib_gcd_lcm should not be defined before c++17"1324#  endif1325 1326#  ifdef __cpp_lib_generate_random1327#    error "__cpp_lib_generate_random should not be defined before c++26"1328#  endif1329 1330#  ifndef __cpp_lib_generic_associative_lookup1331#    error "__cpp_lib_generic_associative_lookup should be defined in c++14"1332#  endif1333#  if __cpp_lib_generic_associative_lookup != 201304L1334#    error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14"1335#  endif1336 1337#  ifdef __cpp_lib_generic_unordered_lookup1338#    error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"1339#  endif1340 1341#  ifdef __cpp_lib_hardware_interference_size1342#    error "__cpp_lib_hardware_interference_size should not be defined before c++17"1343#  endif1344 1345#  ifdef __cpp_lib_has_unique_object_representations1346#    error "__cpp_lib_has_unique_object_representations should not be defined before c++17"1347#  endif1348 1349#  ifdef __cpp_lib_hazard_pointer1350#    error "__cpp_lib_hazard_pointer should not be defined before c++26"1351#  endif1352 1353#  ifdef __cpp_lib_hypot1354#    error "__cpp_lib_hypot should not be defined before c++17"1355#  endif1356 1357#  ifdef __cpp_lib_incomplete_container_elements1358#    error "__cpp_lib_incomplete_container_elements should not be defined before c++17"1359#  endif1360 1361#  ifdef __cpp_lib_inplace_vector1362#    error "__cpp_lib_inplace_vector should not be defined before c++26"1363#  endif1364 1365#  ifdef __cpp_lib_int_pow21366#    error "__cpp_lib_int_pow2 should not be defined before c++20"1367#  endif1368 1369#  ifdef __cpp_lib_integer_comparison_functions1370#    error "__cpp_lib_integer_comparison_functions should not be defined before c++20"1371#  endif1372 1373#  ifndef __cpp_lib_integer_sequence1374#    error "__cpp_lib_integer_sequence should be defined in c++14"1375#  endif1376#  if __cpp_lib_integer_sequence != 201304L1377#    error "__cpp_lib_integer_sequence should have the value 201304L in c++14"1378#  endif1379 1380#  ifndef __cpp_lib_integral_constant_callable1381#    error "__cpp_lib_integral_constant_callable should be defined in c++14"1382#  endif1383#  if __cpp_lib_integral_constant_callable != 201304L1384#    error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14"1385#  endif1386 1387#  ifdef __cpp_lib_interpolate1388#    error "__cpp_lib_interpolate should not be defined before c++20"1389#  endif1390 1391#  ifdef __cpp_lib_invoke1392#    error "__cpp_lib_invoke should not be defined before c++17"1393#  endif1394 1395#  ifdef __cpp_lib_invoke_r1396#    error "__cpp_lib_invoke_r should not be defined before c++23"1397#  endif1398 1399#  ifdef __cpp_lib_ios_noreplace1400#    error "__cpp_lib_ios_noreplace should not be defined before c++23"1401#  endif1402 1403#  ifdef __cpp_lib_is_aggregate1404#    error "__cpp_lib_is_aggregate should not be defined before c++17"1405#  endif1406 1407#  ifdef __cpp_lib_is_constant_evaluated1408#    error "__cpp_lib_is_constant_evaluated should not be defined before c++20"1409#  endif1410 1411#  ifndef __cpp_lib_is_final1412#    error "__cpp_lib_is_final should be defined in c++14"1413#  endif1414#  if __cpp_lib_is_final != 201402L1415#    error "__cpp_lib_is_final should have the value 201402L in c++14"1416#  endif1417 1418#  ifdef __cpp_lib_is_implicit_lifetime1419#    error "__cpp_lib_is_implicit_lifetime should not be defined before c++23"1420#  endif1421 1422#  ifdef __cpp_lib_is_invocable1423#    error "__cpp_lib_is_invocable should not be defined before c++17"1424#  endif1425 1426#  ifdef __cpp_lib_is_layout_compatible1427#    error "__cpp_lib_is_layout_compatible should not be defined before c++20"1428#  endif1429 1430#  ifdef __cpp_lib_is_nothrow_convertible1431#    error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"1432#  endif1433 1434#  ifndef __cpp_lib_is_null_pointer1435#    error "__cpp_lib_is_null_pointer should be defined in c++14"1436#  endif1437#  if __cpp_lib_is_null_pointer != 201309L1438#    error "__cpp_lib_is_null_pointer should have the value 201309L in c++14"1439#  endif1440 1441#  ifdef __cpp_lib_is_pointer_interconvertible1442#    error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"1443#  endif1444 1445#  ifdef __cpp_lib_is_scoped_enum1446#    error "__cpp_lib_is_scoped_enum should not be defined before c++23"1447#  endif1448 1449#  ifdef __cpp_lib_is_sufficiently_aligned1450#    error "__cpp_lib_is_sufficiently_aligned should not be defined before c++26"1451#  endif1452 1453#  ifdef __cpp_lib_is_swappable1454#    error "__cpp_lib_is_swappable should not be defined before c++17"1455#  endif1456 1457#  ifdef __cpp_lib_is_virtual_base_of1458#    error "__cpp_lib_is_virtual_base_of should not be defined before c++26"1459#  endif1460 1461#  ifdef __cpp_lib_is_within_lifetime1462#    error "__cpp_lib_is_within_lifetime should not be defined before c++26"1463#  endif1464 1465#  ifdef __cpp_lib_jthread1466#    error "__cpp_lib_jthread should not be defined before c++20"1467#  endif1468 1469#  ifdef __cpp_lib_latch1470#    error "__cpp_lib_latch should not be defined before c++20"1471#  endif1472 1473#  ifdef __cpp_lib_launder1474#    error "__cpp_lib_launder should not be defined before c++17"1475#  endif1476 1477#  ifdef __cpp_lib_linalg1478#    error "__cpp_lib_linalg should not be defined before c++26"1479#  endif1480 1481#  ifdef __cpp_lib_list_remove_return_type1482#    error "__cpp_lib_list_remove_return_type should not be defined before c++20"1483#  endif1484 1485#  ifdef __cpp_lib_logical_traits1486#    error "__cpp_lib_logical_traits should not be defined before c++17"1487#  endif1488 1489#  ifdef __cpp_lib_make_from_tuple1490#    error "__cpp_lib_make_from_tuple should not be defined before c++17"1491#  endif1492 1493#  ifndef __cpp_lib_make_reverse_iterator1494#    error "__cpp_lib_make_reverse_iterator should be defined in c++14"1495#  endif1496#  if __cpp_lib_make_reverse_iterator != 201402L1497#    error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14"1498#  endif1499 1500#  ifndef __cpp_lib_make_unique1501#    error "__cpp_lib_make_unique should be defined in c++14"1502#  endif1503#  if __cpp_lib_make_unique != 201304L1504#    error "__cpp_lib_make_unique should have the value 201304L in c++14"1505#  endif1506 1507#  ifdef __cpp_lib_map_try_emplace1508#    error "__cpp_lib_map_try_emplace should not be defined before c++17"1509#  endif1510 1511#  ifdef __cpp_lib_math_constants1512#    error "__cpp_lib_math_constants should not be defined before c++20"1513#  endif1514 1515#  ifdef __cpp_lib_math_special_functions1516#    error "__cpp_lib_math_special_functions should not be defined before c++17"1517#  endif1518 1519#  ifdef __cpp_lib_mdspan1520#    error "__cpp_lib_mdspan should not be defined before c++23"1521#  endif1522 1523#  ifdef __cpp_lib_memory_resource1524#    error "__cpp_lib_memory_resource should not be defined before c++17"1525#  endif1526 1527#  ifdef __cpp_lib_modules1528#    error "__cpp_lib_modules should not be defined before c++23"1529#  endif1530 1531#  ifdef __cpp_lib_move_iterator_concept1532#    error "__cpp_lib_move_iterator_concept should not be defined before c++20"1533#  endif1534 1535#  ifdef __cpp_lib_move_only_function1536#    error "__cpp_lib_move_only_function should not be defined before c++23"1537#  endif1538 1539#  ifdef __cpp_lib_node_extract1540#    error "__cpp_lib_node_extract should not be defined before c++17"1541#  endif1542 1543#  ifdef __cpp_lib_nonmember_container_access1544#    error "__cpp_lib_nonmember_container_access should not be defined before c++17"1545#  endif1546 1547#  ifdef __cpp_lib_not_fn1548#    error "__cpp_lib_not_fn should not be defined before c++17"1549#  endif1550 1551#  ifndef __cpp_lib_null_iterators1552#    error "__cpp_lib_null_iterators should be defined in c++14"1553#  endif1554#  if __cpp_lib_null_iterators != 201304L1555#    error "__cpp_lib_null_iterators should have the value 201304L in c++14"1556#  endif1557 1558#  ifdef __cpp_lib_optional1559#    error "__cpp_lib_optional should not be defined before c++17"1560#  endif1561 1562#  ifdef __cpp_lib_optional_range_support1563#    error "__cpp_lib_optional_range_support should not be defined before c++26"1564#  endif1565 1566#  ifdef __cpp_lib_out_ptr1567#    error "__cpp_lib_out_ptr should not be defined before c++23"1568#  endif1569 1570#  ifdef __cpp_lib_parallel_algorithm1571#    error "__cpp_lib_parallel_algorithm should not be defined before c++17"1572#  endif1573 1574#  ifdef __cpp_lib_philox_engine1575#    error "__cpp_lib_philox_engine should not be defined before c++26"1576#  endif1577 1578#  ifdef __cpp_lib_polymorphic_allocator1579#    error "__cpp_lib_polymorphic_allocator should not be defined before c++20"1580#  endif1581 1582#  ifdef __cpp_lib_print1583#    error "__cpp_lib_print should not be defined before c++23"1584#  endif1585 1586#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION1587#    ifndef __cpp_lib_quoted_string_io1588#      error "__cpp_lib_quoted_string_io should be defined in c++14"1589#    endif1590#    if __cpp_lib_quoted_string_io != 201304L1591#      error "__cpp_lib_quoted_string_io should have the value 201304L in c++14"1592#    endif1593#  else1594#    ifdef __cpp_lib_quoted_string_io1595#      error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!"1596#    endif1597#  endif1598 1599#  ifdef __cpp_lib_ranges1600#    error "__cpp_lib_ranges should not be defined before c++20"1601#  endif1602 1603#  ifdef __cpp_lib_ranges_as_const1604#    error "__cpp_lib_ranges_as_const should not be defined before c++23"1605#  endif1606 1607#  ifdef __cpp_lib_ranges_as_rvalue1608#    error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"1609#  endif1610 1611#  ifdef __cpp_lib_ranges_chunk1612#    error "__cpp_lib_ranges_chunk should not be defined before c++23"1613#  endif1614 1615#  ifdef __cpp_lib_ranges_chunk_by1616#    error "__cpp_lib_ranges_chunk_by should not be defined before c++23"1617#  endif1618 1619#  ifdef __cpp_lib_ranges_concat1620#    error "__cpp_lib_ranges_concat should not be defined before c++26"1621#  endif1622 1623#  ifdef __cpp_lib_ranges_contains1624#    error "__cpp_lib_ranges_contains should not be defined before c++23"1625#  endif1626 1627#  ifdef __cpp_lib_ranges_find_last1628#    error "__cpp_lib_ranges_find_last should not be defined before c++23"1629#  endif1630 1631#  ifdef __cpp_lib_ranges_indices1632#    error "__cpp_lib_ranges_indices should not be defined before c++26"1633#  endif1634 1635#  ifdef __cpp_lib_ranges_iota1636#    error "__cpp_lib_ranges_iota should not be defined before c++23"1637#  endif1638 1639#  ifdef __cpp_lib_ranges_join_with1640#    error "__cpp_lib_ranges_join_with should not be defined before c++23"1641#  endif1642 1643#  ifdef __cpp_lib_ranges_repeat1644#    error "__cpp_lib_ranges_repeat should not be defined before c++23"1645#  endif1646 1647#  ifdef __cpp_lib_ranges_slide1648#    error "__cpp_lib_ranges_slide should not be defined before c++23"1649#  endif1650 1651#  ifdef __cpp_lib_ranges_starts_ends_with1652#    error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"1653#  endif1654 1655#  ifdef __cpp_lib_ranges_to_container1656#    error "__cpp_lib_ranges_to_container should not be defined before c++23"1657#  endif1658 1659#  ifdef __cpp_lib_ranges_zip1660#    error "__cpp_lib_ranges_zip should not be defined before c++23"1661#  endif1662 1663#  ifdef __cpp_lib_ratio1664#    error "__cpp_lib_ratio should not be defined before c++26"1665#  endif1666 1667#  ifdef __cpp_lib_raw_memory_algorithms1668#    error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"1669#  endif1670 1671#  ifdef __cpp_lib_rcu1672#    error "__cpp_lib_rcu should not be defined before c++26"1673#  endif1674 1675#  ifdef __cpp_lib_reference_from_temporary1676#    error "__cpp_lib_reference_from_temporary should not be defined before c++23"1677#  endif1678 1679#  ifdef __cpp_lib_reference_wrapper1680#    error "__cpp_lib_reference_wrapper should not be defined before c++26"1681#  endif1682 1683#  ifdef __cpp_lib_remove_cvref1684#    error "__cpp_lib_remove_cvref should not be defined before c++20"1685#  endif1686 1687#  ifndef __cpp_lib_result_of_sfinae1688#    error "__cpp_lib_result_of_sfinae should be defined in c++14"1689#  endif1690#  if __cpp_lib_result_of_sfinae != 201210L1691#    error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14"1692#  endif1693 1694#  ifndef __cpp_lib_robust_nonmodifying_seq_ops1695#    error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14"1696#  endif1697#  if __cpp_lib_robust_nonmodifying_seq_ops != 201304L1698#    error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14"1699#  endif1700 1701#  ifdef __cpp_lib_sample1702#    error "__cpp_lib_sample should not be defined before c++17"1703#  endif1704 1705#  ifdef __cpp_lib_saturation_arithmetic1706#    error "__cpp_lib_saturation_arithmetic should not be defined before c++26"1707#  endif1708 1709#  ifdef __cpp_lib_scoped_lock1710#    error "__cpp_lib_scoped_lock should not be defined before c++17"1711#  endif1712 1713#  ifdef __cpp_lib_semaphore1714#    error "__cpp_lib_semaphore should not be defined before c++20"1715#  endif1716 1717#  ifdef __cpp_lib_senders1718#    error "__cpp_lib_senders should not be defined before c++26"1719#  endif1720 1721#  ifdef __cpp_lib_shared_mutex1722#    error "__cpp_lib_shared_mutex should not be defined before c++17"1723#  endif1724 1725#  ifdef __cpp_lib_shared_ptr_arrays1726#    error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"1727#  endif1728 1729#  ifdef __cpp_lib_shared_ptr_weak_type1730#    error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"1731#  endif1732 1733#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS1734#    ifndef __cpp_lib_shared_timed_mutex1735#      error "__cpp_lib_shared_timed_mutex should be defined in c++14"1736#    endif1737#    if __cpp_lib_shared_timed_mutex != 201402L1738#      error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14"1739#    endif1740#  else1741#    ifdef __cpp_lib_shared_timed_mutex1742#      error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"1743#    endif1744#  endif1745 1746#  ifdef __cpp_lib_shift1747#    error "__cpp_lib_shift should not be defined before c++20"1748#  endif1749 1750#  ifdef __cpp_lib_smart_ptr_for_overwrite1751#    error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"1752#  endif1753 1754#  ifdef __cpp_lib_smart_ptr_owner_equality1755#    error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"1756#  endif1757 1758#  ifdef __cpp_lib_source_location1759#    error "__cpp_lib_source_location should not be defined before c++20"1760#  endif1761 1762#  ifdef __cpp_lib_span1763#    error "__cpp_lib_span should not be defined before c++20"1764#  endif1765 1766#  ifdef __cpp_lib_span_at1767#    error "__cpp_lib_span_at should not be defined before c++26"1768#  endif1769 1770#  ifdef __cpp_lib_span_initializer_list1771#    error "__cpp_lib_span_initializer_list should not be defined before c++26"1772#  endif1773 1774#  ifdef __cpp_lib_spanstream1775#    error "__cpp_lib_spanstream should not be defined before c++23"1776#  endif1777 1778#  ifdef __cpp_lib_ssize1779#    error "__cpp_lib_ssize should not be defined before c++20"1780#  endif1781 1782#  ifdef __cpp_lib_sstream_from_string_view1783#    error "__cpp_lib_sstream_from_string_view should not be defined before c++26"1784#  endif1785 1786#  ifdef __cpp_lib_stacktrace1787#    error "__cpp_lib_stacktrace should not be defined before c++23"1788#  endif1789 1790#  ifdef __cpp_lib_starts_ends_with1791#    error "__cpp_lib_starts_ends_with should not be defined before c++20"1792#  endif1793 1794#  ifdef __cpp_lib_stdatomic_h1795#    error "__cpp_lib_stdatomic_h should not be defined before c++23"1796#  endif1797 1798#  ifdef __cpp_lib_string_contains1799#    error "__cpp_lib_string_contains should not be defined before c++23"1800#  endif1801 1802#  ifdef __cpp_lib_string_resize_and_overwrite1803#    error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"1804#  endif1805 1806#  ifdef __cpp_lib_string_subview1807#    error "__cpp_lib_string_subview should not be defined before c++26"1808#  endif1809 1810#  ifndef __cpp_lib_string_udls1811#    error "__cpp_lib_string_udls should be defined in c++14"1812#  endif1813#  if __cpp_lib_string_udls != 201304L1814#    error "__cpp_lib_string_udls should have the value 201304L in c++14"1815#  endif1816 1817#  ifdef __cpp_lib_string_view1818#    error "__cpp_lib_string_view should not be defined before c++17"1819#  endif1820 1821#  ifdef __cpp_lib_submdspan1822#    error "__cpp_lib_submdspan should not be defined before c++26"1823#  endif1824 1825#  ifdef __cpp_lib_syncbuf1826#    error "__cpp_lib_syncbuf should not be defined before c++20"1827#  endif1828 1829#  ifdef __cpp_lib_text_encoding1830#    error "__cpp_lib_text_encoding should not be defined before c++26"1831#  endif1832 1833#  ifdef __cpp_lib_three_way_comparison1834#    error "__cpp_lib_three_way_comparison should not be defined before c++20"1835#  endif1836 1837#  ifdef __cpp_lib_to_address1838#    error "__cpp_lib_to_address should not be defined before c++20"1839#  endif1840 1841#  ifdef __cpp_lib_to_array1842#    error "__cpp_lib_to_array should not be defined before c++20"1843#  endif1844 1845#  ifdef __cpp_lib_to_chars1846#    error "__cpp_lib_to_chars should not be defined before c++17"1847#  endif1848 1849#  ifdef __cpp_lib_to_string1850#    error "__cpp_lib_to_string should not be defined before c++26"1851#  endif1852 1853#  ifdef __cpp_lib_to_underlying1854#    error "__cpp_lib_to_underlying should not be defined before c++23"1855#  endif1856 1857#  ifndef __cpp_lib_transformation_trait_aliases1858#    error "__cpp_lib_transformation_trait_aliases should be defined in c++14"1859#  endif1860#  if __cpp_lib_transformation_trait_aliases != 201304L1861#    error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14"1862#  endif1863 1864#  ifndef __cpp_lib_transparent_operators1865#    error "__cpp_lib_transparent_operators should be defined in c++14"1866#  endif1867#  if __cpp_lib_transparent_operators != 201210L1868#    error "__cpp_lib_transparent_operators should have the value 201210L in c++14"1869#  endif1870 1871#  ifndef __cpp_lib_tuple_element_t1872#    error "__cpp_lib_tuple_element_t should be defined in c++14"1873#  endif1874#  if __cpp_lib_tuple_element_t != 201402L1875#    error "__cpp_lib_tuple_element_t should have the value 201402L in c++14"1876#  endif1877 1878#  ifdef __cpp_lib_tuple_like1879#    error "__cpp_lib_tuple_like should not be defined before c++23"1880#  endif1881 1882#  ifndef __cpp_lib_tuples_by_type1883#    error "__cpp_lib_tuples_by_type should be defined in c++14"1884#  endif1885#  if __cpp_lib_tuples_by_type != 201304L1886#    error "__cpp_lib_tuples_by_type should have the value 201304L in c++14"1887#  endif1888 1889#  ifdef __cpp_lib_type_identity1890#    error "__cpp_lib_type_identity should not be defined before c++20"1891#  endif1892 1893#  ifdef __cpp_lib_type_trait_variable_templates1894#    error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"1895#  endif1896 1897#  ifdef __cpp_lib_uncaught_exceptions1898#    error "__cpp_lib_uncaught_exceptions should not be defined before c++17"1899#  endif1900 1901#  ifdef __cpp_lib_unordered_map_try_emplace1902#    error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"1903#  endif1904 1905#  ifdef __cpp_lib_unreachable1906#    error "__cpp_lib_unreachable should not be defined before c++23"1907#  endif1908 1909#  ifdef __cpp_lib_unwrap_ref1910#    error "__cpp_lib_unwrap_ref should not be defined before c++20"1911#  endif1912 1913#  ifdef __cpp_lib_variant1914#    error "__cpp_lib_variant should not be defined before c++17"1915#  endif1916 1917#  ifdef __cpp_lib_void_t1918#    error "__cpp_lib_void_t should not be defined before c++17"1919#  endif1920 1921#elif TEST_STD_VER == 171922 1923#  ifdef __cpp_lib_adaptor_iterator_pair_constructor1924#    error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"1925#  endif1926 1927#  ifndef __cpp_lib_addressof_constexpr1928#    error "__cpp_lib_addressof_constexpr should be defined in c++17"1929#  endif1930#  if __cpp_lib_addressof_constexpr != 201603L1931#    error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17"1932#  endif1933 1934#  ifdef __cpp_lib_aligned_accessor1935#    error "__cpp_lib_aligned_accessor should not be defined before c++26"1936#  endif1937 1938#  ifdef __cpp_lib_allocate_at_least1939#    error "__cpp_lib_allocate_at_least should not be defined before c++23"1940#  endif1941 1942#  ifndef __cpp_lib_allocator_traits_is_always_equal1943#    error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17"1944#  endif1945#  if __cpp_lib_allocator_traits_is_always_equal != 201411L1946#    error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17"1947#  endif1948 1949#  ifndef __cpp_lib_any1950#    error "__cpp_lib_any should be defined in c++17"1951#  endif1952#  if __cpp_lib_any != 201606L1953#    error "__cpp_lib_any should have the value 201606L in c++17"1954#  endif1955 1956#  ifndef __cpp_lib_apply1957#    error "__cpp_lib_apply should be defined in c++17"1958#  endif1959#  if __cpp_lib_apply != 201603L1960#    error "__cpp_lib_apply should have the value 201603L in c++17"1961#  endif1962 1963#  ifndef __cpp_lib_array_constexpr1964#    error "__cpp_lib_array_constexpr should be defined in c++17"1965#  endif1966#  if __cpp_lib_array_constexpr != 201603L1967#    error "__cpp_lib_array_constexpr should have the value 201603L in c++17"1968#  endif1969 1970#  ifndef __cpp_lib_as_const1971#    error "__cpp_lib_as_const should be defined in c++17"1972#  endif1973#  if __cpp_lib_as_const != 201510L1974#    error "__cpp_lib_as_const should have the value 201510L in c++17"1975#  endif1976 1977#  ifdef __cpp_lib_associative_heterogeneous_erasure1978#    error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"1979#  endif1980 1981#  ifdef __cpp_lib_associative_heterogeneous_insertion1982#    error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"1983#  endif1984 1985#  ifdef __cpp_lib_assume_aligned1986#    error "__cpp_lib_assume_aligned should not be defined before c++20"1987#  endif1988 1989#  ifdef __cpp_lib_atomic_flag_test1990#    error "__cpp_lib_atomic_flag_test should not be defined before c++20"1991#  endif1992 1993#  ifdef __cpp_lib_atomic_float1994#    error "__cpp_lib_atomic_float should not be defined before c++20"1995#  endif1996 1997#  ifndef __cpp_lib_atomic_is_always_lock_free1998#    error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17"1999#  endif2000#  if __cpp_lib_atomic_is_always_lock_free != 201603L2001#    error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17"2002#  endif2003 2004#  ifdef __cpp_lib_atomic_lock_free_type_aliases2005#    error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"2006#  endif2007 2008#  ifdef __cpp_lib_atomic_min_max2009#    error "__cpp_lib_atomic_min_max should not be defined before c++26"2010#  endif2011 2012#  ifdef __cpp_lib_atomic_ref2013#    error "__cpp_lib_atomic_ref should not be defined before c++20"2014#  endif2015 2016#  ifdef __cpp_lib_atomic_shared_ptr2017#    error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"2018#  endif2019 2020#  ifdef __cpp_lib_atomic_value_initialization2021#    error "__cpp_lib_atomic_value_initialization should not be defined before c++20"2022#  endif2023 2024#  ifdef __cpp_lib_atomic_wait2025#    error "__cpp_lib_atomic_wait should not be defined before c++20"2026#  endif2027 2028#  ifdef __cpp_lib_barrier2029#    error "__cpp_lib_barrier should not be defined before c++20"2030#  endif2031 2032#  ifdef __cpp_lib_bind_back2033#    error "__cpp_lib_bind_back should not be defined before c++23"2034#  endif2035 2036#  ifdef __cpp_lib_bind_front2037#    error "__cpp_lib_bind_front should not be defined before c++20"2038#  endif2039 2040#  ifdef __cpp_lib_bit_cast2041#    error "__cpp_lib_bit_cast should not be defined before c++20"2042#  endif2043 2044#  ifdef __cpp_lib_bitops2045#    error "__cpp_lib_bitops should not be defined before c++20"2046#  endif2047 2048#  ifdef __cpp_lib_bitset2049#    error "__cpp_lib_bitset should not be defined before c++26"2050#  endif2051 2052#  ifndef __cpp_lib_bool_constant2053#    error "__cpp_lib_bool_constant should be defined in c++17"2054#  endif2055#  if __cpp_lib_bool_constant != 201505L2056#    error "__cpp_lib_bool_constant should have the value 201505L in c++17"2057#  endif2058 2059#  ifdef __cpp_lib_bounded_array_traits2060#    error "__cpp_lib_bounded_array_traits should not be defined before c++20"2061#  endif2062 2063#  ifndef __cpp_lib_boyer_moore_searcher2064#    error "__cpp_lib_boyer_moore_searcher should be defined in c++17"2065#  endif2066#  if __cpp_lib_boyer_moore_searcher != 201603L2067#    error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17"2068#  endif2069 2070#  ifndef __cpp_lib_byte2071#    error "__cpp_lib_byte should be defined in c++17"2072#  endif2073#  if __cpp_lib_byte != 201603L2074#    error "__cpp_lib_byte should have the value 201603L in c++17"2075#  endif2076 2077#  ifdef __cpp_lib_byteswap2078#    error "__cpp_lib_byteswap should not be defined before c++23"2079#  endif2080 2081#  ifdef __cpp_lib_char8_t2082#    error "__cpp_lib_char8_t should not be defined before c++20"2083#  endif2084 2085#  ifndef __cpp_lib_chrono2086#    error "__cpp_lib_chrono should be defined in c++17"2087#  endif2088#  if __cpp_lib_chrono != 201611L2089#    error "__cpp_lib_chrono should have the value 201611L in c++17"2090#  endif2091 2092#  ifndef __cpp_lib_chrono_udls2093#    error "__cpp_lib_chrono_udls should be defined in c++17"2094#  endif2095#  if __cpp_lib_chrono_udls != 201304L2096#    error "__cpp_lib_chrono_udls should have the value 201304L in c++17"2097#  endif2098 2099#  ifndef __cpp_lib_clamp2100#    error "__cpp_lib_clamp should be defined in c++17"2101#  endif2102#  if __cpp_lib_clamp != 201603L2103#    error "__cpp_lib_clamp should have the value 201603L in c++17"2104#  endif2105 2106#  ifdef __cpp_lib_common_reference2107#    error "__cpp_lib_common_reference should not be defined before c++20"2108#  endif2109 2110#  ifdef __cpp_lib_common_reference_wrapper2111#    error "__cpp_lib_common_reference_wrapper should not be defined before c++20"2112#  endif2113 2114#  ifndef __cpp_lib_complex_udls2115#    error "__cpp_lib_complex_udls should be defined in c++17"2116#  endif2117#  if __cpp_lib_complex_udls != 201309L2118#    error "__cpp_lib_complex_udls should have the value 201309L in c++17"2119#  endif2120 2121#  ifdef __cpp_lib_concepts2122#    error "__cpp_lib_concepts should not be defined before c++20"2123#  endif2124 2125#  ifdef __cpp_lib_constexpr_algorithms2126#    error "__cpp_lib_constexpr_algorithms should not be defined before c++20"2127#  endif2128 2129#  ifdef __cpp_lib_constexpr_bitset2130#    error "__cpp_lib_constexpr_bitset should not be defined before c++23"2131#  endif2132 2133#  ifdef __cpp_lib_constexpr_charconv2134#    error "__cpp_lib_constexpr_charconv should not be defined before c++23"2135#  endif2136 2137#  ifdef __cpp_lib_constexpr_cmath2138#    error "__cpp_lib_constexpr_cmath should not be defined before c++23"2139#  endif2140 2141#  ifdef __cpp_lib_constexpr_complex2142#    error "__cpp_lib_constexpr_complex should not be defined before c++20"2143#  endif2144 2145#  ifdef __cpp_lib_constexpr_dynamic_alloc2146#    error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"2147#  endif2148 2149#  ifdef __cpp_lib_constexpr_flat_map2150#    error "__cpp_lib_constexpr_flat_map should not be defined before c++26"2151#  endif2152 2153#  ifdef __cpp_lib_constexpr_flat_set2154#    error "__cpp_lib_constexpr_flat_set should not be defined before c++26"2155#  endif2156 2157#  ifdef __cpp_lib_constexpr_forward_list2158#    error "__cpp_lib_constexpr_forward_list should not be defined before c++26"2159#  endif2160 2161#  ifdef __cpp_lib_constexpr_functional2162#    error "__cpp_lib_constexpr_functional should not be defined before c++20"2163#  endif2164 2165#  ifdef __cpp_lib_constexpr_iterator2166#    error "__cpp_lib_constexpr_iterator should not be defined before c++20"2167#  endif2168 2169#  ifdef __cpp_lib_constexpr_list2170#    error "__cpp_lib_constexpr_list should not be defined before c++26"2171#  endif2172 2173#  ifdef __cpp_lib_constexpr_memory2174#    error "__cpp_lib_constexpr_memory should not be defined before c++20"2175#  endif2176 2177#  ifdef __cpp_lib_constexpr_new2178#    error "__cpp_lib_constexpr_new should not be defined before c++26"2179#  endif2180 2181#  ifdef __cpp_lib_constexpr_numeric2182#    error "__cpp_lib_constexpr_numeric should not be defined before c++20"2183#  endif2184 2185#  ifdef __cpp_lib_constexpr_queue2186#    error "__cpp_lib_constexpr_queue should not be defined before c++26"2187#  endif2188 2189#  ifdef __cpp_lib_constexpr_string2190#    error "__cpp_lib_constexpr_string should not be defined before c++20"2191#  endif2192 2193#  ifdef __cpp_lib_constexpr_string_view2194#    error "__cpp_lib_constexpr_string_view should not be defined before c++20"2195#  endif2196 2197#  ifdef __cpp_lib_constexpr_tuple2198#    error "__cpp_lib_constexpr_tuple should not be defined before c++20"2199#  endif2200 2201#  ifdef __cpp_lib_constexpr_typeinfo2202#    error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"2203#  endif2204 2205#  ifdef __cpp_lib_constexpr_utility2206#    error "__cpp_lib_constexpr_utility should not be defined before c++20"2207#  endif2208 2209#  ifdef __cpp_lib_constexpr_vector2210#    error "__cpp_lib_constexpr_vector should not be defined before c++20"2211#  endif2212 2213#  ifdef __cpp_lib_constrained_equality2214#    error "__cpp_lib_constrained_equality should not be defined before c++26"2215#  endif2216 2217#  ifdef __cpp_lib_containers_ranges2218#    error "__cpp_lib_containers_ranges should not be defined before c++23"2219#  endif2220 2221#  ifdef __cpp_lib_copyable_function2222#    error "__cpp_lib_copyable_function should not be defined before c++26"2223#  endif2224 2225#  ifdef __cpp_lib_coroutine2226#    error "__cpp_lib_coroutine should not be defined before c++20"2227#  endif2228 2229#  ifdef __cpp_lib_debugging2230#    error "__cpp_lib_debugging should not be defined before c++26"2231#  endif2232 2233#  ifdef __cpp_lib_default_template_type_for_algorithm_values2234#    error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"2235#  endif2236 2237#  ifdef __cpp_lib_destroying_delete2238#    error "__cpp_lib_destroying_delete should not be defined before c++20"2239#  endif2240 2241#  ifndef __cpp_lib_enable_shared_from_this2242#    error "__cpp_lib_enable_shared_from_this should be defined in c++17"2243#  endif2244#  if __cpp_lib_enable_shared_from_this != 201603L2245#    error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17"2246#  endif2247 2248#  ifdef __cpp_lib_endian2249#    error "__cpp_lib_endian should not be defined before c++20"2250#  endif2251 2252#  ifdef __cpp_lib_erase_if2253#    error "__cpp_lib_erase_if should not be defined before c++20"2254#  endif2255 2256#  ifndef __cpp_lib_exchange_function2257#    error "__cpp_lib_exchange_function should be defined in c++17"2258#  endif2259#  if __cpp_lib_exchange_function != 201304L2260#    error "__cpp_lib_exchange_function should have the value 201304L in c++17"2261#  endif2262 2263#  if !defined(_LIBCPP_VERSION)2264#    ifndef __cpp_lib_execution2265#      error "__cpp_lib_execution should be defined in c++17"2266#    endif2267#    if __cpp_lib_execution != 201603L2268#      error "__cpp_lib_execution should have the value 201603L in c++17"2269#    endif2270#  else2271#    ifdef __cpp_lib_execution2272#      error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"2273#    endif2274#  endif2275 2276#  ifdef __cpp_lib_expected2277#    error "__cpp_lib_expected should not be defined before c++23"2278#  endif2279 2280#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM2281#    ifndef __cpp_lib_filesystem2282#      error "__cpp_lib_filesystem should be defined in c++17"2283#    endif2284#    if __cpp_lib_filesystem != 201703L2285#      error "__cpp_lib_filesystem should have the value 201703L in c++17"2286#    endif2287#  else2288#    ifdef __cpp_lib_filesystem2289#      error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM' is not met!"2290#    endif2291#  endif2292 2293#  ifdef __cpp_lib_flat_map2294#    error "__cpp_lib_flat_map should not be defined before c++23"2295#  endif2296 2297#  ifdef __cpp_lib_flat_set2298#    error "__cpp_lib_flat_set should not be defined before c++23"2299#  endif2300 2301#  ifdef __cpp_lib_format2302#    error "__cpp_lib_format should not be defined before c++20"2303#  endif2304 2305#  ifdef __cpp_lib_format_path2306#    error "__cpp_lib_format_path should not be defined before c++26"2307#  endif2308 2309#  ifdef __cpp_lib_format_ranges2310#    error "__cpp_lib_format_ranges should not be defined before c++23"2311#  endif2312 2313#  ifdef __cpp_lib_format_uchar2314#    error "__cpp_lib_format_uchar should not be defined before c++20"2315#  endif2316 2317#  ifdef __cpp_lib_formatters2318#    error "__cpp_lib_formatters should not be defined before c++23"2319#  endif2320 2321#  ifdef __cpp_lib_forward_like2322#    error "__cpp_lib_forward_like should not be defined before c++23"2323#  endif2324 2325#  ifdef __cpp_lib_freestanding_algorithm2326#    error "__cpp_lib_freestanding_algorithm should not be defined before c++26"2327#  endif2328 2329#  ifdef __cpp_lib_freestanding_array2330#    error "__cpp_lib_freestanding_array should not be defined before c++26"2331#  endif2332 2333#  ifdef __cpp_lib_freestanding_cstring2334#    error "__cpp_lib_freestanding_cstring should not be defined before c++26"2335#  endif2336 2337#  ifdef __cpp_lib_freestanding_expected2338#    error "__cpp_lib_freestanding_expected should not be defined before c++26"2339#  endif2340 2341#  ifdef __cpp_lib_freestanding_mdspan2342#    error "__cpp_lib_freestanding_mdspan should not be defined before c++26"2343#  endif2344 2345#  ifdef __cpp_lib_freestanding_optional2346#    error "__cpp_lib_freestanding_optional should not be defined before c++26"2347#  endif2348 2349#  ifdef __cpp_lib_freestanding_string_view2350#    error "__cpp_lib_freestanding_string_view should not be defined before c++26"2351#  endif2352 2353#  ifdef __cpp_lib_freestanding_variant2354#    error "__cpp_lib_freestanding_variant should not be defined before c++26"2355#  endif2356 2357#  ifdef __cpp_lib_fstream_native_handle2358#    error "__cpp_lib_fstream_native_handle should not be defined before c++26"2359#  endif2360 2361#  ifdef __cpp_lib_function_ref2362#    error "__cpp_lib_function_ref should not be defined before c++26"2363#  endif2364 2365#  ifndef __cpp_lib_gcd_lcm2366#    error "__cpp_lib_gcd_lcm should be defined in c++17"2367#  endif2368#  if __cpp_lib_gcd_lcm != 201606L2369#    error "__cpp_lib_gcd_lcm should have the value 201606L in c++17"2370#  endif2371 2372#  ifdef __cpp_lib_generate_random2373#    error "__cpp_lib_generate_random should not be defined before c++26"2374#  endif2375 2376#  ifndef __cpp_lib_generic_associative_lookup2377#    error "__cpp_lib_generic_associative_lookup should be defined in c++17"2378#  endif2379#  if __cpp_lib_generic_associative_lookup != 201304L2380#    error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17"2381#  endif2382 2383#  ifdef __cpp_lib_generic_unordered_lookup2384#    error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"2385#  endif2386 2387#  if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))2388#    ifndef __cpp_lib_hardware_interference_size2389#      error "__cpp_lib_hardware_interference_size should be defined in c++17"2390#    endif2391#    if __cpp_lib_hardware_interference_size != 201703L2392#      error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17"2393#    endif2394#  else2395#    ifdef __cpp_lib_hardware_interference_size2396#      error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"2397#    endif2398#  endif2399 2400#  ifndef __cpp_lib_has_unique_object_representations2401#    error "__cpp_lib_has_unique_object_representations should be defined in c++17"2402#  endif2403#  if __cpp_lib_has_unique_object_representations != 201606L2404#    error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17"2405#  endif2406 2407#  ifdef __cpp_lib_hazard_pointer2408#    error "__cpp_lib_hazard_pointer should not be defined before c++26"2409#  endif2410 2411#  ifndef __cpp_lib_hypot2412#    error "__cpp_lib_hypot should be defined in c++17"2413#  endif2414#  if __cpp_lib_hypot != 201603L2415#    error "__cpp_lib_hypot should have the value 201603L in c++17"2416#  endif2417 2418#  ifndef __cpp_lib_incomplete_container_elements2419#    error "__cpp_lib_incomplete_container_elements should be defined in c++17"2420#  endif2421#  if __cpp_lib_incomplete_container_elements != 201505L2422#    error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17"2423#  endif2424 2425#  ifdef __cpp_lib_inplace_vector2426#    error "__cpp_lib_inplace_vector should not be defined before c++26"2427#  endif2428 2429#  ifdef __cpp_lib_int_pow22430#    error "__cpp_lib_int_pow2 should not be defined before c++20"2431#  endif2432 2433#  ifdef __cpp_lib_integer_comparison_functions2434#    error "__cpp_lib_integer_comparison_functions should not be defined before c++20"2435#  endif2436 2437#  ifndef __cpp_lib_integer_sequence2438#    error "__cpp_lib_integer_sequence should be defined in c++17"2439#  endif2440#  if __cpp_lib_integer_sequence != 201304L2441#    error "__cpp_lib_integer_sequence should have the value 201304L in c++17"2442#  endif2443 2444#  ifndef __cpp_lib_integral_constant_callable2445#    error "__cpp_lib_integral_constant_callable should be defined in c++17"2446#  endif2447#  if __cpp_lib_integral_constant_callable != 201304L2448#    error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17"2449#  endif2450 2451#  ifdef __cpp_lib_interpolate2452#    error "__cpp_lib_interpolate should not be defined before c++20"2453#  endif2454 2455#  ifndef __cpp_lib_invoke2456#    error "__cpp_lib_invoke should be defined in c++17"2457#  endif2458#  if __cpp_lib_invoke != 201411L2459#    error "__cpp_lib_invoke should have the value 201411L in c++17"2460#  endif2461 2462#  ifdef __cpp_lib_invoke_r2463#    error "__cpp_lib_invoke_r should not be defined before c++23"2464#  endif2465 2466#  ifdef __cpp_lib_ios_noreplace2467#    error "__cpp_lib_ios_noreplace should not be defined before c++23"2468#  endif2469 2470#  ifndef __cpp_lib_is_aggregate2471#    error "__cpp_lib_is_aggregate should be defined in c++17"2472#  endif2473#  if __cpp_lib_is_aggregate != 201703L2474#    error "__cpp_lib_is_aggregate should have the value 201703L in c++17"2475#  endif2476 2477#  ifdef __cpp_lib_is_constant_evaluated2478#    error "__cpp_lib_is_constant_evaluated should not be defined before c++20"2479#  endif2480 2481#  ifndef __cpp_lib_is_final2482#    error "__cpp_lib_is_final should be defined in c++17"2483#  endif2484#  if __cpp_lib_is_final != 201402L2485#    error "__cpp_lib_is_final should have the value 201402L in c++17"2486#  endif2487 2488#  ifdef __cpp_lib_is_implicit_lifetime2489#    error "__cpp_lib_is_implicit_lifetime should not be defined before c++23"2490#  endif2491 2492#  ifndef __cpp_lib_is_invocable2493#    error "__cpp_lib_is_invocable should be defined in c++17"2494#  endif2495#  if __cpp_lib_is_invocable != 201703L2496#    error "__cpp_lib_is_invocable should have the value 201703L in c++17"2497#  endif2498 2499#  ifdef __cpp_lib_is_layout_compatible2500#    error "__cpp_lib_is_layout_compatible should not be defined before c++20"2501#  endif2502 2503#  ifdef __cpp_lib_is_nothrow_convertible2504#    error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"2505#  endif2506 2507#  ifndef __cpp_lib_is_null_pointer2508#    error "__cpp_lib_is_null_pointer should be defined in c++17"2509#  endif2510#  if __cpp_lib_is_null_pointer != 201309L2511#    error "__cpp_lib_is_null_pointer should have the value 201309L in c++17"2512#  endif2513 2514#  ifdef __cpp_lib_is_pointer_interconvertible2515#    error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"2516#  endif2517 2518#  ifdef __cpp_lib_is_scoped_enum2519#    error "__cpp_lib_is_scoped_enum should not be defined before c++23"2520#  endif2521 2522#  ifdef __cpp_lib_is_sufficiently_aligned2523#    error "__cpp_lib_is_sufficiently_aligned should not be defined before c++26"2524#  endif2525 2526#  ifndef __cpp_lib_is_swappable2527#    error "__cpp_lib_is_swappable should be defined in c++17"2528#  endif2529#  if __cpp_lib_is_swappable != 201603L2530#    error "__cpp_lib_is_swappable should have the value 201603L in c++17"2531#  endif2532 2533#  ifdef __cpp_lib_is_virtual_base_of2534#    error "__cpp_lib_is_virtual_base_of should not be defined before c++26"2535#  endif2536 2537#  ifdef __cpp_lib_is_within_lifetime2538#    error "__cpp_lib_is_within_lifetime should not be defined before c++26"2539#  endif2540 2541#  ifdef __cpp_lib_jthread2542#    error "__cpp_lib_jthread should not be defined before c++20"2543#  endif2544 2545#  ifdef __cpp_lib_latch2546#    error "__cpp_lib_latch should not be defined before c++20"2547#  endif2548 2549#  ifndef __cpp_lib_launder2550#    error "__cpp_lib_launder should be defined in c++17"2551#  endif2552#  if __cpp_lib_launder != 201606L2553#    error "__cpp_lib_launder should have the value 201606L in c++17"2554#  endif2555 2556#  ifdef __cpp_lib_linalg2557#    error "__cpp_lib_linalg should not be defined before c++26"2558#  endif2559 2560#  ifdef __cpp_lib_list_remove_return_type2561#    error "__cpp_lib_list_remove_return_type should not be defined before c++20"2562#  endif2563 2564#  ifndef __cpp_lib_logical_traits2565#    error "__cpp_lib_logical_traits should be defined in c++17"2566#  endif2567#  if __cpp_lib_logical_traits != 201510L2568#    error "__cpp_lib_logical_traits should have the value 201510L in c++17"2569#  endif2570 2571#  ifndef __cpp_lib_make_from_tuple2572#    error "__cpp_lib_make_from_tuple should be defined in c++17"2573#  endif2574#  if __cpp_lib_make_from_tuple != 201606L2575#    error "__cpp_lib_make_from_tuple should have the value 201606L in c++17"2576#  endif2577 2578#  ifndef __cpp_lib_make_reverse_iterator2579#    error "__cpp_lib_make_reverse_iterator should be defined in c++17"2580#  endif2581#  if __cpp_lib_make_reverse_iterator != 201402L2582#    error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17"2583#  endif2584 2585#  ifndef __cpp_lib_make_unique2586#    error "__cpp_lib_make_unique should be defined in c++17"2587#  endif2588#  if __cpp_lib_make_unique != 201304L2589#    error "__cpp_lib_make_unique should have the value 201304L in c++17"2590#  endif2591 2592#  ifndef __cpp_lib_map_try_emplace2593#    error "__cpp_lib_map_try_emplace should be defined in c++17"2594#  endif2595#  if __cpp_lib_map_try_emplace != 201411L2596#    error "__cpp_lib_map_try_emplace should have the value 201411L in c++17"2597#  endif2598 2599#  ifdef __cpp_lib_math_constants2600#    error "__cpp_lib_math_constants should not be defined before c++20"2601#  endif2602 2603#  if !defined(_LIBCPP_VERSION)2604#    ifndef __cpp_lib_math_special_functions2605#      error "__cpp_lib_math_special_functions should be defined in c++17"2606#    endif2607#    if __cpp_lib_math_special_functions != 201603L2608#      error "__cpp_lib_math_special_functions should have the value 201603L in c++17"2609#    endif2610#  else2611#    ifdef __cpp_lib_math_special_functions2612#      error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"2613#    endif2614#  endif2615 2616#  ifdef __cpp_lib_mdspan2617#    error "__cpp_lib_mdspan should not be defined before c++23"2618#  endif2619 2620#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR2621#    ifndef __cpp_lib_memory_resource2622#      error "__cpp_lib_memory_resource should be defined in c++17"2623#    endif2624#    if __cpp_lib_memory_resource != 201603L2625#      error "__cpp_lib_memory_resource should have the value 201603L in c++17"2626#    endif2627#  else2628#    ifdef __cpp_lib_memory_resource2629#      error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"2630#    endif2631#  endif2632 2633#  ifdef __cpp_lib_modules2634#    error "__cpp_lib_modules should not be defined before c++23"2635#  endif2636 2637#  ifdef __cpp_lib_move_iterator_concept2638#    error "__cpp_lib_move_iterator_concept should not be defined before c++20"2639#  endif2640 2641#  ifdef __cpp_lib_move_only_function2642#    error "__cpp_lib_move_only_function should not be defined before c++23"2643#  endif2644 2645#  ifndef __cpp_lib_node_extract2646#    error "__cpp_lib_node_extract should be defined in c++17"2647#  endif2648#  if __cpp_lib_node_extract != 201606L2649#    error "__cpp_lib_node_extract should have the value 201606L in c++17"2650#  endif2651 2652#  ifndef __cpp_lib_nonmember_container_access2653#    error "__cpp_lib_nonmember_container_access should be defined in c++17"2654#  endif2655#  if __cpp_lib_nonmember_container_access != 201411L2656#    error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17"2657#  endif2658 2659#  ifndef __cpp_lib_not_fn2660#    error "__cpp_lib_not_fn should be defined in c++17"2661#  endif2662#  if __cpp_lib_not_fn != 201603L2663#    error "__cpp_lib_not_fn should have the value 201603L in c++17"2664#  endif2665 2666#  ifndef __cpp_lib_null_iterators2667#    error "__cpp_lib_null_iterators should be defined in c++17"2668#  endif2669#  if __cpp_lib_null_iterators != 201304L2670#    error "__cpp_lib_null_iterators should have the value 201304L in c++17"2671#  endif2672 2673#  ifndef __cpp_lib_optional2674#    error "__cpp_lib_optional should be defined in c++17"2675#  endif2676#  if __cpp_lib_optional != 201606L2677#    error "__cpp_lib_optional should have the value 201606L in c++17"2678#  endif2679 2680#  ifdef __cpp_lib_optional_range_support2681#    error "__cpp_lib_optional_range_support should not be defined before c++26"2682#  endif2683 2684#  ifdef __cpp_lib_out_ptr2685#    error "__cpp_lib_out_ptr should not be defined before c++23"2686#  endif2687 2688#  if !defined(_LIBCPP_VERSION)2689#    ifndef __cpp_lib_parallel_algorithm2690#      error "__cpp_lib_parallel_algorithm should be defined in c++17"2691#    endif2692#    if __cpp_lib_parallel_algorithm != 201603L2693#      error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17"2694#    endif2695#  else2696#    ifdef __cpp_lib_parallel_algorithm2697#      error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"2698#    endif2699#  endif2700 2701#  ifdef __cpp_lib_philox_engine2702#    error "__cpp_lib_philox_engine should not be defined before c++26"2703#  endif2704 2705#  ifdef __cpp_lib_polymorphic_allocator2706#    error "__cpp_lib_polymorphic_allocator should not be defined before c++20"2707#  endif2708 2709#  ifdef __cpp_lib_print2710#    error "__cpp_lib_print should not be defined before c++23"2711#  endif2712 2713#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION2714#    ifndef __cpp_lib_quoted_string_io2715#      error "__cpp_lib_quoted_string_io should be defined in c++17"2716#    endif2717#    if __cpp_lib_quoted_string_io != 201304L2718#      error "__cpp_lib_quoted_string_io should have the value 201304L in c++17"2719#    endif2720#  else2721#    ifdef __cpp_lib_quoted_string_io2722#      error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!"2723#    endif2724#  endif2725 2726#  ifdef __cpp_lib_ranges2727#    error "__cpp_lib_ranges should not be defined before c++20"2728#  endif2729 2730#  ifdef __cpp_lib_ranges_as_const2731#    error "__cpp_lib_ranges_as_const should not be defined before c++23"2732#  endif2733 2734#  ifdef __cpp_lib_ranges_as_rvalue2735#    error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"2736#  endif2737 2738#  ifdef __cpp_lib_ranges_chunk2739#    error "__cpp_lib_ranges_chunk should not be defined before c++23"2740#  endif2741 2742#  ifdef __cpp_lib_ranges_chunk_by2743#    error "__cpp_lib_ranges_chunk_by should not be defined before c++23"2744#  endif2745 2746#  ifdef __cpp_lib_ranges_concat2747#    error "__cpp_lib_ranges_concat should not be defined before c++26"2748#  endif2749 2750#  ifdef __cpp_lib_ranges_contains2751#    error "__cpp_lib_ranges_contains should not be defined before c++23"2752#  endif2753 2754#  ifdef __cpp_lib_ranges_find_last2755#    error "__cpp_lib_ranges_find_last should not be defined before c++23"2756#  endif2757 2758#  ifdef __cpp_lib_ranges_indices2759#    error "__cpp_lib_ranges_indices should not be defined before c++26"2760#  endif2761 2762#  ifdef __cpp_lib_ranges_iota2763#    error "__cpp_lib_ranges_iota should not be defined before c++23"2764#  endif2765 2766#  ifdef __cpp_lib_ranges_join_with2767#    error "__cpp_lib_ranges_join_with should not be defined before c++23"2768#  endif2769 2770#  ifdef __cpp_lib_ranges_repeat2771#    error "__cpp_lib_ranges_repeat should not be defined before c++23"2772#  endif2773 2774#  ifdef __cpp_lib_ranges_slide2775#    error "__cpp_lib_ranges_slide should not be defined before c++23"2776#  endif2777 2778#  ifdef __cpp_lib_ranges_starts_ends_with2779#    error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"2780#  endif2781 2782#  ifdef __cpp_lib_ranges_to_container2783#    error "__cpp_lib_ranges_to_container should not be defined before c++23"2784#  endif2785 2786#  ifdef __cpp_lib_ranges_zip2787#    error "__cpp_lib_ranges_zip should not be defined before c++23"2788#  endif2789 2790#  ifdef __cpp_lib_ratio2791#    error "__cpp_lib_ratio should not be defined before c++26"2792#  endif2793 2794#  ifndef __cpp_lib_raw_memory_algorithms2795#    error "__cpp_lib_raw_memory_algorithms should be defined in c++17"2796#  endif2797#  if __cpp_lib_raw_memory_algorithms != 201606L2798#    error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"2799#  endif2800 2801#  ifdef __cpp_lib_rcu2802#    error "__cpp_lib_rcu should not be defined before c++26"2803#  endif2804 2805#  ifdef __cpp_lib_reference_from_temporary2806#    error "__cpp_lib_reference_from_temporary should not be defined before c++23"2807#  endif2808 2809#  ifdef __cpp_lib_reference_wrapper2810#    error "__cpp_lib_reference_wrapper should not be defined before c++26"2811#  endif2812 2813#  ifdef __cpp_lib_remove_cvref2814#    error "__cpp_lib_remove_cvref should not be defined before c++20"2815#  endif2816 2817#  ifndef __cpp_lib_result_of_sfinae2818#    error "__cpp_lib_result_of_sfinae should be defined in c++17"2819#  endif2820#  if __cpp_lib_result_of_sfinae != 201210L2821#    error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17"2822#  endif2823 2824#  ifndef __cpp_lib_robust_nonmodifying_seq_ops2825#    error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17"2826#  endif2827#  if __cpp_lib_robust_nonmodifying_seq_ops != 201304L2828#    error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17"2829#  endif2830 2831#  ifndef __cpp_lib_sample2832#    error "__cpp_lib_sample should be defined in c++17"2833#  endif2834#  if __cpp_lib_sample != 201603L2835#    error "__cpp_lib_sample should have the value 201603L in c++17"2836#  endif2837 2838#  ifdef __cpp_lib_saturation_arithmetic2839#    error "__cpp_lib_saturation_arithmetic should not be defined before c++26"2840#  endif2841 2842#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS2843#    ifndef __cpp_lib_scoped_lock2844#      error "__cpp_lib_scoped_lock should be defined in c++17"2845#    endif2846#    if __cpp_lib_scoped_lock != 201703L2847#      error "__cpp_lib_scoped_lock should have the value 201703L in c++17"2848#    endif2849#  else2850#    ifdef __cpp_lib_scoped_lock2851#      error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"2852#    endif2853#  endif2854 2855#  ifdef __cpp_lib_semaphore2856#    error "__cpp_lib_semaphore should not be defined before c++20"2857#  endif2858 2859#  ifdef __cpp_lib_senders2860#    error "__cpp_lib_senders should not be defined before c++26"2861#  endif2862 2863#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS2864#    ifndef __cpp_lib_shared_mutex2865#      error "__cpp_lib_shared_mutex should be defined in c++17"2866#    endif2867#    if __cpp_lib_shared_mutex != 201505L2868#      error "__cpp_lib_shared_mutex should have the value 201505L in c++17"2869#    endif2870#  else2871#    ifdef __cpp_lib_shared_mutex2872#      error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"2873#    endif2874#  endif2875 2876#  ifndef __cpp_lib_shared_ptr_arrays2877#    error "__cpp_lib_shared_ptr_arrays should be defined in c++17"2878#  endif2879#  if __cpp_lib_shared_ptr_arrays != 201611L2880#    error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"2881#  endif2882 2883#  ifndef __cpp_lib_shared_ptr_weak_type2884#    error "__cpp_lib_shared_ptr_weak_type should be defined in c++17"2885#  endif2886#  if __cpp_lib_shared_ptr_weak_type != 201606L2887#    error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17"2888#  endif2889 2890#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS2891#    ifndef __cpp_lib_shared_timed_mutex2892#      error "__cpp_lib_shared_timed_mutex should be defined in c++17"2893#    endif2894#    if __cpp_lib_shared_timed_mutex != 201402L2895#      error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17"2896#    endif2897#  else2898#    ifdef __cpp_lib_shared_timed_mutex2899#      error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"2900#    endif2901#  endif2902 2903#  ifdef __cpp_lib_shift2904#    error "__cpp_lib_shift should not be defined before c++20"2905#  endif2906 2907#  ifdef __cpp_lib_smart_ptr_for_overwrite2908#    error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"2909#  endif2910 2911#  ifdef __cpp_lib_smart_ptr_owner_equality2912#    error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"2913#  endif2914 2915#  ifdef __cpp_lib_source_location2916#    error "__cpp_lib_source_location should not be defined before c++20"2917#  endif2918 2919#  ifdef __cpp_lib_span2920#    error "__cpp_lib_span should not be defined before c++20"2921#  endif2922 2923#  ifdef __cpp_lib_span_at2924#    error "__cpp_lib_span_at should not be defined before c++26"2925#  endif2926 2927#  ifdef __cpp_lib_span_initializer_list2928#    error "__cpp_lib_span_initializer_list should not be defined before c++26"2929#  endif2930 2931#  ifdef __cpp_lib_spanstream2932#    error "__cpp_lib_spanstream should not be defined before c++23"2933#  endif2934 2935#  ifdef __cpp_lib_ssize2936#    error "__cpp_lib_ssize should not be defined before c++20"2937#  endif2938 2939#  ifdef __cpp_lib_sstream_from_string_view2940#    error "__cpp_lib_sstream_from_string_view should not be defined before c++26"2941#  endif2942 2943#  ifdef __cpp_lib_stacktrace2944#    error "__cpp_lib_stacktrace should not be defined before c++23"2945#  endif2946 2947#  ifdef __cpp_lib_starts_ends_with2948#    error "__cpp_lib_starts_ends_with should not be defined before c++20"2949#  endif2950 2951#  ifdef __cpp_lib_stdatomic_h2952#    error "__cpp_lib_stdatomic_h should not be defined before c++23"2953#  endif2954 2955#  ifdef __cpp_lib_string_contains2956#    error "__cpp_lib_string_contains should not be defined before c++23"2957#  endif2958 2959#  ifdef __cpp_lib_string_resize_and_overwrite2960#    error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"2961#  endif2962 2963#  ifdef __cpp_lib_string_subview2964#    error "__cpp_lib_string_subview should not be defined before c++26"2965#  endif2966 2967#  ifndef __cpp_lib_string_udls2968#    error "__cpp_lib_string_udls should be defined in c++17"2969#  endif2970#  if __cpp_lib_string_udls != 201304L2971#    error "__cpp_lib_string_udls should have the value 201304L in c++17"2972#  endif2973 2974#  ifndef __cpp_lib_string_view2975#    error "__cpp_lib_string_view should be defined in c++17"2976#  endif2977#  if __cpp_lib_string_view != 201606L2978#    error "__cpp_lib_string_view should have the value 201606L in c++17"2979#  endif2980 2981#  ifdef __cpp_lib_submdspan2982#    error "__cpp_lib_submdspan should not be defined before c++26"2983#  endif2984 2985#  ifdef __cpp_lib_syncbuf2986#    error "__cpp_lib_syncbuf should not be defined before c++20"2987#  endif2988 2989#  ifdef __cpp_lib_text_encoding2990#    error "__cpp_lib_text_encoding should not be defined before c++26"2991#  endif2992 2993#  ifdef __cpp_lib_three_way_comparison2994#    error "__cpp_lib_three_way_comparison should not be defined before c++20"2995#  endif2996 2997#  ifdef __cpp_lib_to_address2998#    error "__cpp_lib_to_address should not be defined before c++20"2999#  endif3000 3001#  ifdef __cpp_lib_to_array3002#    error "__cpp_lib_to_array should not be defined before c++20"3003#  endif3004 3005#  if !defined(_LIBCPP_VERSION)3006#    ifndef __cpp_lib_to_chars3007#      error "__cpp_lib_to_chars should be defined in c++17"3008#    endif3009#    if __cpp_lib_to_chars != 201611L3010#      error "__cpp_lib_to_chars should have the value 201611L in c++17"3011#    endif3012#  else3013#    ifdef __cpp_lib_to_chars3014#      error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"3015#    endif3016#  endif3017 3018#  ifdef __cpp_lib_to_string3019#    error "__cpp_lib_to_string should not be defined before c++26"3020#  endif3021 3022#  ifdef __cpp_lib_to_underlying3023#    error "__cpp_lib_to_underlying should not be defined before c++23"3024#  endif3025 3026#  ifndef __cpp_lib_transformation_trait_aliases3027#    error "__cpp_lib_transformation_trait_aliases should be defined in c++17"3028#  endif3029#  if __cpp_lib_transformation_trait_aliases != 201304L3030#    error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17"3031#  endif3032 3033#  ifndef __cpp_lib_transparent_operators3034#    error "__cpp_lib_transparent_operators should be defined in c++17"3035#  endif3036#  if __cpp_lib_transparent_operators != 201510L3037#    error "__cpp_lib_transparent_operators should have the value 201510L in c++17"3038#  endif3039 3040#  ifndef __cpp_lib_tuple_element_t3041#    error "__cpp_lib_tuple_element_t should be defined in c++17"3042#  endif3043#  if __cpp_lib_tuple_element_t != 201402L3044#    error "__cpp_lib_tuple_element_t should have the value 201402L in c++17"3045#  endif3046 3047#  ifdef __cpp_lib_tuple_like3048#    error "__cpp_lib_tuple_like should not be defined before c++23"3049#  endif3050 3051#  ifndef __cpp_lib_tuples_by_type3052#    error "__cpp_lib_tuples_by_type should be defined in c++17"3053#  endif3054#  if __cpp_lib_tuples_by_type != 201304L3055#    error "__cpp_lib_tuples_by_type should have the value 201304L in c++17"3056#  endif3057 3058#  ifdef __cpp_lib_type_identity3059#    error "__cpp_lib_type_identity should not be defined before c++20"3060#  endif3061 3062#  ifndef __cpp_lib_type_trait_variable_templates3063#    error "__cpp_lib_type_trait_variable_templates should be defined in c++17"3064#  endif3065#  if __cpp_lib_type_trait_variable_templates != 201510L3066#    error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17"3067#  endif3068 3069#  ifndef __cpp_lib_uncaught_exceptions3070#    error "__cpp_lib_uncaught_exceptions should be defined in c++17"3071#  endif3072#  if __cpp_lib_uncaught_exceptions != 201411L3073#    error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17"3074#  endif3075 3076#  ifndef __cpp_lib_unordered_map_try_emplace3077#    error "__cpp_lib_unordered_map_try_emplace should be defined in c++17"3078#  endif3079#  if __cpp_lib_unordered_map_try_emplace != 201411L3080#    error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17"3081#  endif3082 3083#  ifdef __cpp_lib_unreachable3084#    error "__cpp_lib_unreachable should not be defined before c++23"3085#  endif3086 3087#  ifdef __cpp_lib_unwrap_ref3088#    error "__cpp_lib_unwrap_ref should not be defined before c++20"3089#  endif3090 3091#  ifndef __cpp_lib_variant3092#    error "__cpp_lib_variant should be defined in c++17"3093#  endif3094#  if __cpp_lib_variant != 202102L3095#    error "__cpp_lib_variant should have the value 202102L in c++17"3096#  endif3097 3098#  ifndef __cpp_lib_void_t3099#    error "__cpp_lib_void_t should be defined in c++17"3100#  endif3101#  if __cpp_lib_void_t != 201411L3102#    error "__cpp_lib_void_t should have the value 201411L in c++17"3103#  endif3104 3105#elif TEST_STD_VER == 203106 3107#  ifdef __cpp_lib_adaptor_iterator_pair_constructor3108#    error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23"3109#  endif3110 3111#  ifndef __cpp_lib_addressof_constexpr3112#    error "__cpp_lib_addressof_constexpr should be defined in c++20"3113#  endif3114#  if __cpp_lib_addressof_constexpr != 201603L3115#    error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20"3116#  endif3117 3118#  ifdef __cpp_lib_aligned_accessor3119#    error "__cpp_lib_aligned_accessor should not be defined before c++26"3120#  endif3121 3122#  ifdef __cpp_lib_allocate_at_least3123#    error "__cpp_lib_allocate_at_least should not be defined before c++23"3124#  endif3125 3126#  ifndef __cpp_lib_allocator_traits_is_always_equal3127#    error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20"3128#  endif3129#  if __cpp_lib_allocator_traits_is_always_equal != 201411L3130#    error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20"3131#  endif3132 3133#  ifndef __cpp_lib_any3134#    error "__cpp_lib_any should be defined in c++20"3135#  endif3136#  if __cpp_lib_any != 201606L3137#    error "__cpp_lib_any should have the value 201606L in c++20"3138#  endif3139 3140#  ifndef __cpp_lib_apply3141#    error "__cpp_lib_apply should be defined in c++20"3142#  endif3143#  if __cpp_lib_apply != 201603L3144#    error "__cpp_lib_apply should have the value 201603L in c++20"3145#  endif3146 3147#  ifndef __cpp_lib_array_constexpr3148#    error "__cpp_lib_array_constexpr should be defined in c++20"3149#  endif3150#  if __cpp_lib_array_constexpr != 201811L3151#    error "__cpp_lib_array_constexpr should have the value 201811L in c++20"3152#  endif3153 3154#  ifndef __cpp_lib_as_const3155#    error "__cpp_lib_as_const should be defined in c++20"3156#  endif3157#  if __cpp_lib_as_const != 201510L3158#    error "__cpp_lib_as_const should have the value 201510L in c++20"3159#  endif3160 3161#  ifdef __cpp_lib_associative_heterogeneous_erasure3162#    error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23"3163#  endif3164 3165#  ifdef __cpp_lib_associative_heterogeneous_insertion3166#    error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"3167#  endif3168 3169#  ifndef __cpp_lib_assume_aligned3170#    error "__cpp_lib_assume_aligned should be defined in c++20"3171#  endif3172#  if __cpp_lib_assume_aligned != 201811L3173#    error "__cpp_lib_assume_aligned should have the value 201811L in c++20"3174#  endif3175 3176#  ifndef __cpp_lib_atomic_flag_test3177#    error "__cpp_lib_atomic_flag_test should be defined in c++20"3178#  endif3179#  if __cpp_lib_atomic_flag_test != 201907L3180#    error "__cpp_lib_atomic_flag_test should have the value 201907L in c++20"3181#  endif3182 3183#  ifndef __cpp_lib_atomic_float3184#    error "__cpp_lib_atomic_float should be defined in c++20"3185#  endif3186#  if __cpp_lib_atomic_float != 201711L3187#    error "__cpp_lib_atomic_float should have the value 201711L in c++20"3188#  endif3189 3190#  ifndef __cpp_lib_atomic_is_always_lock_free3191#    error "__cpp_lib_atomic_is_always_lock_free should be defined in c++20"3192#  endif3193#  if __cpp_lib_atomic_is_always_lock_free != 201603L3194#    error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++20"3195#  endif3196 3197#  ifndef __cpp_lib_atomic_lock_free_type_aliases3198#    error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++20"3199#  endif3200#  if __cpp_lib_atomic_lock_free_type_aliases != 201907L3201#    error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++20"3202#  endif3203 3204#  ifdef __cpp_lib_atomic_min_max3205#    error "__cpp_lib_atomic_min_max should not be defined before c++26"3206#  endif3207 3208#  ifndef __cpp_lib_atomic_ref3209#    error "__cpp_lib_atomic_ref should be defined in c++20"3210#  endif3211#  if __cpp_lib_atomic_ref != 201806L3212#    error "__cpp_lib_atomic_ref should have the value 201806L in c++20"3213#  endif3214 3215#  if !defined(_LIBCPP_VERSION)3216#    ifndef __cpp_lib_atomic_shared_ptr3217#      error "__cpp_lib_atomic_shared_ptr should be defined in c++20"3218#    endif3219#    if __cpp_lib_atomic_shared_ptr != 201711L3220#      error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++20"3221#    endif3222#  else3223#    ifdef __cpp_lib_atomic_shared_ptr3224#      error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"3225#    endif3226#  endif3227 3228#  ifndef __cpp_lib_atomic_value_initialization3229#    error "__cpp_lib_atomic_value_initialization should be defined in c++20"3230#  endif3231#  if __cpp_lib_atomic_value_initialization != 201911L3232#    error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20"3233#  endif3234 3235#  ifndef __cpp_lib_atomic_wait3236#    error "__cpp_lib_atomic_wait should be defined in c++20"3237#  endif3238#  if __cpp_lib_atomic_wait != 201907L3239#    error "__cpp_lib_atomic_wait should have the value 201907L in c++20"3240#  endif3241 3242#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS3243#    ifndef __cpp_lib_barrier3244#      error "__cpp_lib_barrier should be defined in c++20"3245#    endif3246#    if __cpp_lib_barrier != 201907L3247#      error "__cpp_lib_barrier should have the value 201907L in c++20"3248#    endif3249#  else3250#    ifdef __cpp_lib_barrier3251#      error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"3252#    endif3253#  endif3254 3255#  ifdef __cpp_lib_bind_back3256#    error "__cpp_lib_bind_back should not be defined before c++23"3257#  endif3258 3259#  ifndef __cpp_lib_bind_front3260#    error "__cpp_lib_bind_front should be defined in c++20"3261#  endif3262#  if __cpp_lib_bind_front != 201907L3263#    error "__cpp_lib_bind_front should have the value 201907L in c++20"3264#  endif3265 3266#  ifndef __cpp_lib_bit_cast3267#    error "__cpp_lib_bit_cast should be defined in c++20"3268#  endif3269#  if __cpp_lib_bit_cast != 201806L3270#    error "__cpp_lib_bit_cast should have the value 201806L in c++20"3271#  endif3272 3273#  ifndef __cpp_lib_bitops3274#    error "__cpp_lib_bitops should be defined in c++20"3275#  endif3276#  if __cpp_lib_bitops != 201907L3277#    error "__cpp_lib_bitops should have the value 201907L in c++20"3278#  endif3279 3280#  ifdef __cpp_lib_bitset3281#    error "__cpp_lib_bitset should not be defined before c++26"3282#  endif3283 3284#  ifndef __cpp_lib_bool_constant3285#    error "__cpp_lib_bool_constant should be defined in c++20"3286#  endif3287#  if __cpp_lib_bool_constant != 201505L3288#    error "__cpp_lib_bool_constant should have the value 201505L in c++20"3289#  endif3290 3291#  ifndef __cpp_lib_bounded_array_traits3292#    error "__cpp_lib_bounded_array_traits should be defined in c++20"3293#  endif3294#  if __cpp_lib_bounded_array_traits != 201902L3295#    error "__cpp_lib_bounded_array_traits should have the value 201902L in c++20"3296#  endif3297 3298#  ifndef __cpp_lib_boyer_moore_searcher3299#    error "__cpp_lib_boyer_moore_searcher should be defined in c++20"3300#  endif3301#  if __cpp_lib_boyer_moore_searcher != 201603L3302#    error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20"3303#  endif3304 3305#  ifndef __cpp_lib_byte3306#    error "__cpp_lib_byte should be defined in c++20"3307#  endif3308#  if __cpp_lib_byte != 201603L3309#    error "__cpp_lib_byte should have the value 201603L in c++20"3310#  endif3311 3312#  ifdef __cpp_lib_byteswap3313#    error "__cpp_lib_byteswap should not be defined before c++23"3314#  endif3315 3316#  if defined(__cpp_char8_t)3317#    ifndef __cpp_lib_char8_t3318#      error "__cpp_lib_char8_t should be defined in c++20"3319#    endif3320#    if __cpp_lib_char8_t != 201907L3321#      error "__cpp_lib_char8_t should have the value 201907L in c++20"3322#    endif3323#  else3324#    ifdef __cpp_lib_char8_t3325#      error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"3326#    endif3327#  endif3328 3329#  ifndef __cpp_lib_chrono3330#    error "__cpp_lib_chrono should be defined in c++20"3331#  endif3332#  if __cpp_lib_chrono != 201611L3333#    error "__cpp_lib_chrono should have the value 201611L in c++20"3334#  endif3335 3336#  ifndef __cpp_lib_chrono_udls3337#    error "__cpp_lib_chrono_udls should be defined in c++20"3338#  endif3339#  if __cpp_lib_chrono_udls != 201304L3340#    error "__cpp_lib_chrono_udls should have the value 201304L in c++20"3341#  endif3342 3343#  ifndef __cpp_lib_clamp3344#    error "__cpp_lib_clamp should be defined in c++20"3345#  endif3346#  if __cpp_lib_clamp != 201603L3347#    error "__cpp_lib_clamp should have the value 201603L in c++20"3348#  endif3349 3350#  ifndef __cpp_lib_common_reference3351#    error "__cpp_lib_common_reference should be defined in c++20"3352#  endif3353#  if __cpp_lib_common_reference != 202302L3354#    error "__cpp_lib_common_reference should have the value 202302L in c++20"3355#  endif3356 3357#  ifndef __cpp_lib_common_reference_wrapper3358#    error "__cpp_lib_common_reference_wrapper should be defined in c++20"3359#  endif3360#  if __cpp_lib_common_reference_wrapper != 202302L3361#    error "__cpp_lib_common_reference_wrapper should have the value 202302L in c++20"3362#  endif3363 3364#  ifndef __cpp_lib_complex_udls3365#    error "__cpp_lib_complex_udls should be defined in c++20"3366#  endif3367#  if __cpp_lib_complex_udls != 201309L3368#    error "__cpp_lib_complex_udls should have the value 201309L in c++20"3369#  endif3370 3371#  ifndef __cpp_lib_concepts3372#    error "__cpp_lib_concepts should be defined in c++20"3373#  endif3374#  if __cpp_lib_concepts != 202002L3375#    error "__cpp_lib_concepts should have the value 202002L in c++20"3376#  endif3377 3378#  ifndef __cpp_lib_constexpr_algorithms3379#    error "__cpp_lib_constexpr_algorithms should be defined in c++20"3380#  endif3381#  if __cpp_lib_constexpr_algorithms != 201806L3382#    error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20"3383#  endif3384 3385#  ifdef __cpp_lib_constexpr_bitset3386#    error "__cpp_lib_constexpr_bitset should not be defined before c++23"3387#  endif3388 3389#  ifdef __cpp_lib_constexpr_charconv3390#    error "__cpp_lib_constexpr_charconv should not be defined before c++23"3391#  endif3392 3393#  ifdef __cpp_lib_constexpr_cmath3394#    error "__cpp_lib_constexpr_cmath should not be defined before c++23"3395#  endif3396 3397#  ifndef __cpp_lib_constexpr_complex3398#    error "__cpp_lib_constexpr_complex should be defined in c++20"3399#  endif3400#  if __cpp_lib_constexpr_complex != 201711L3401#    error "__cpp_lib_constexpr_complex should have the value 201711L in c++20"3402#  endif3403 3404#  ifndef __cpp_lib_constexpr_dynamic_alloc3405#    error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20"3406#  endif3407#  if __cpp_lib_constexpr_dynamic_alloc != 201907L3408#    error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"3409#  endif3410 3411#  ifdef __cpp_lib_constexpr_flat_map3412#    error "__cpp_lib_constexpr_flat_map should not be defined before c++26"3413#  endif3414 3415#  ifdef __cpp_lib_constexpr_flat_set3416#    error "__cpp_lib_constexpr_flat_set should not be defined before c++26"3417#  endif3418 3419#  ifdef __cpp_lib_constexpr_forward_list3420#    error "__cpp_lib_constexpr_forward_list should not be defined before c++26"3421#  endif3422 3423#  ifndef __cpp_lib_constexpr_functional3424#    error "__cpp_lib_constexpr_functional should be defined in c++20"3425#  endif3426#  if __cpp_lib_constexpr_functional != 201907L3427#    error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"3428#  endif3429 3430#  ifndef __cpp_lib_constexpr_iterator3431#    error "__cpp_lib_constexpr_iterator should be defined in c++20"3432#  endif3433#  if __cpp_lib_constexpr_iterator != 201811L3434#    error "__cpp_lib_constexpr_iterator should have the value 201811L in c++20"3435#  endif3436 3437#  ifdef __cpp_lib_constexpr_list3438#    error "__cpp_lib_constexpr_list should not be defined before c++26"3439#  endif3440 3441#  ifndef __cpp_lib_constexpr_memory3442#    error "__cpp_lib_constexpr_memory should be defined in c++20"3443#  endif3444#  if __cpp_lib_constexpr_memory != 201811L3445#    error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"3446#  endif3447 3448#  ifdef __cpp_lib_constexpr_new3449#    error "__cpp_lib_constexpr_new should not be defined before c++26"3450#  endif3451 3452#  ifndef __cpp_lib_constexpr_numeric3453#    error "__cpp_lib_constexpr_numeric should be defined in c++20"3454#  endif3455#  if __cpp_lib_constexpr_numeric != 201911L3456#    error "__cpp_lib_constexpr_numeric should have the value 201911L in c++20"3457#  endif3458 3459#  ifdef __cpp_lib_constexpr_queue3460#    error "__cpp_lib_constexpr_queue should not be defined before c++26"3461#  endif3462 3463#  ifndef __cpp_lib_constexpr_string3464#    error "__cpp_lib_constexpr_string should be defined in c++20"3465#  endif3466#  if __cpp_lib_constexpr_string != 201907L3467#    error "__cpp_lib_constexpr_string should have the value 201907L in c++20"3468#  endif3469 3470#  ifndef __cpp_lib_constexpr_string_view3471#    error "__cpp_lib_constexpr_string_view should be defined in c++20"3472#  endif3473#  if __cpp_lib_constexpr_string_view != 201811L3474#    error "__cpp_lib_constexpr_string_view should have the value 201811L in c++20"3475#  endif3476 3477#  ifndef __cpp_lib_constexpr_tuple3478#    error "__cpp_lib_constexpr_tuple should be defined in c++20"3479#  endif3480#  if __cpp_lib_constexpr_tuple != 201811L3481#    error "__cpp_lib_constexpr_tuple should have the value 201811L in c++20"3482#  endif3483 3484#  ifdef __cpp_lib_constexpr_typeinfo3485#    error "__cpp_lib_constexpr_typeinfo should not be defined before c++23"3486#  endif3487 3488#  ifndef __cpp_lib_constexpr_utility3489#    error "__cpp_lib_constexpr_utility should be defined in c++20"3490#  endif3491#  if __cpp_lib_constexpr_utility != 201811L3492#    error "__cpp_lib_constexpr_utility should have the value 201811L in c++20"3493#  endif3494 3495#  ifndef __cpp_lib_constexpr_vector3496#    error "__cpp_lib_constexpr_vector should be defined in c++20"3497#  endif3498#  if __cpp_lib_constexpr_vector != 201907L3499#    error "__cpp_lib_constexpr_vector should have the value 201907L in c++20"3500#  endif3501 3502#  ifdef __cpp_lib_constrained_equality3503#    error "__cpp_lib_constrained_equality should not be defined before c++26"3504#  endif3505 3506#  ifdef __cpp_lib_containers_ranges3507#    error "__cpp_lib_containers_ranges should not be defined before c++23"3508#  endif3509 3510#  ifdef __cpp_lib_copyable_function3511#    error "__cpp_lib_copyable_function should not be defined before c++26"3512#  endif3513 3514#  ifndef __cpp_lib_coroutine3515#    error "__cpp_lib_coroutine should be defined in c++20"3516#  endif3517#  if __cpp_lib_coroutine != 201902L3518#    error "__cpp_lib_coroutine should have the value 201902L in c++20"3519#  endif3520 3521#  ifdef __cpp_lib_debugging3522#    error "__cpp_lib_debugging should not be defined before c++26"3523#  endif3524 3525#  ifdef __cpp_lib_default_template_type_for_algorithm_values3526#    error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"3527#  endif3528 3529#  if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L3530#    ifndef __cpp_lib_destroying_delete3531#      error "__cpp_lib_destroying_delete should be defined in c++20"3532#    endif3533#    if __cpp_lib_destroying_delete != 201806L3534#      error "__cpp_lib_destroying_delete should have the value 201806L in c++20"3535#    endif3536#  else3537#    ifdef __cpp_lib_destroying_delete3538#      error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"3539#    endif3540#  endif3541 3542#  ifndef __cpp_lib_enable_shared_from_this3543#    error "__cpp_lib_enable_shared_from_this should be defined in c++20"3544#  endif3545#  if __cpp_lib_enable_shared_from_this != 201603L3546#    error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20"3547#  endif3548 3549#  ifndef __cpp_lib_endian3550#    error "__cpp_lib_endian should be defined in c++20"3551#  endif3552#  if __cpp_lib_endian != 201907L3553#    error "__cpp_lib_endian should have the value 201907L in c++20"3554#  endif3555 3556#  ifndef __cpp_lib_erase_if3557#    error "__cpp_lib_erase_if should be defined in c++20"3558#  endif3559#  if __cpp_lib_erase_if != 202002L3560#    error "__cpp_lib_erase_if should have the value 202002L in c++20"3561#  endif3562 3563#  ifndef __cpp_lib_exchange_function3564#    error "__cpp_lib_exchange_function should be defined in c++20"3565#  endif3566#  if __cpp_lib_exchange_function != 201304L3567#    error "__cpp_lib_exchange_function should have the value 201304L in c++20"3568#  endif3569 3570#  if !defined(_LIBCPP_VERSION)3571#    ifndef __cpp_lib_execution3572#      error "__cpp_lib_execution should be defined in c++20"3573#    endif3574#    if __cpp_lib_execution != 201902L3575#      error "__cpp_lib_execution should have the value 201902L in c++20"3576#    endif3577#  else3578#    ifdef __cpp_lib_execution3579#      error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"3580#    endif3581#  endif3582 3583#  ifdef __cpp_lib_expected3584#    error "__cpp_lib_expected should not be defined before c++23"3585#  endif3586 3587#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM3588#    ifndef __cpp_lib_filesystem3589#      error "__cpp_lib_filesystem should be defined in c++20"3590#    endif3591#    if __cpp_lib_filesystem != 201703L3592#      error "__cpp_lib_filesystem should have the value 201703L in c++20"3593#    endif3594#  else3595#    ifdef __cpp_lib_filesystem3596#      error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM' is not met!"3597#    endif3598#  endif3599 3600#  ifdef __cpp_lib_flat_map3601#    error "__cpp_lib_flat_map should not be defined before c++23"3602#  endif3603 3604#  ifdef __cpp_lib_flat_set3605#    error "__cpp_lib_flat_set should not be defined before c++23"3606#  endif3607 3608#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT3609#    ifndef __cpp_lib_format3610#      error "__cpp_lib_format should be defined in c++20"3611#    endif3612#    if __cpp_lib_format != 202110L3613#      error "__cpp_lib_format should have the value 202110L in c++20"3614#    endif3615#  else3616#    ifdef __cpp_lib_format3617#      error "__cpp_lib_format should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT' is not met!"3618#    endif3619#  endif3620 3621#  ifdef __cpp_lib_format_path3622#    error "__cpp_lib_format_path should not be defined before c++26"3623#  endif3624 3625#  ifdef __cpp_lib_format_ranges3626#    error "__cpp_lib_format_ranges should not be defined before c++23"3627#  endif3628 3629#  ifndef __cpp_lib_format_uchar3630#    error "__cpp_lib_format_uchar should be defined in c++20"3631#  endif3632#  if __cpp_lib_format_uchar != 202311L3633#    error "__cpp_lib_format_uchar should have the value 202311L in c++20"3634#  endif3635 3636#  ifdef __cpp_lib_formatters3637#    error "__cpp_lib_formatters should not be defined before c++23"3638#  endif3639 3640#  ifdef __cpp_lib_forward_like3641#    error "__cpp_lib_forward_like should not be defined before c++23"3642#  endif3643 3644#  ifdef __cpp_lib_freestanding_algorithm3645#    error "__cpp_lib_freestanding_algorithm should not be defined before c++26"3646#  endif3647 3648#  ifdef __cpp_lib_freestanding_array3649#    error "__cpp_lib_freestanding_array should not be defined before c++26"3650#  endif3651 3652#  ifdef __cpp_lib_freestanding_cstring3653#    error "__cpp_lib_freestanding_cstring should not be defined before c++26"3654#  endif3655 3656#  ifdef __cpp_lib_freestanding_expected3657#    error "__cpp_lib_freestanding_expected should not be defined before c++26"3658#  endif3659 3660#  ifdef __cpp_lib_freestanding_mdspan3661#    error "__cpp_lib_freestanding_mdspan should not be defined before c++26"3662#  endif3663 3664#  ifdef __cpp_lib_freestanding_optional3665#    error "__cpp_lib_freestanding_optional should not be defined before c++26"3666#  endif3667 3668#  ifdef __cpp_lib_freestanding_string_view3669#    error "__cpp_lib_freestanding_string_view should not be defined before c++26"3670#  endif3671 3672#  ifdef __cpp_lib_freestanding_variant3673#    error "__cpp_lib_freestanding_variant should not be defined before c++26"3674#  endif3675 3676#  ifdef __cpp_lib_fstream_native_handle3677#    error "__cpp_lib_fstream_native_handle should not be defined before c++26"3678#  endif3679 3680#  ifdef __cpp_lib_function_ref3681#    error "__cpp_lib_function_ref should not be defined before c++26"3682#  endif3683 3684#  ifndef __cpp_lib_gcd_lcm3685#    error "__cpp_lib_gcd_lcm should be defined in c++20"3686#  endif3687#  if __cpp_lib_gcd_lcm != 201606L3688#    error "__cpp_lib_gcd_lcm should have the value 201606L in c++20"3689#  endif3690 3691#  ifdef __cpp_lib_generate_random3692#    error "__cpp_lib_generate_random should not be defined before c++26"3693#  endif3694 3695#  ifndef __cpp_lib_generic_associative_lookup3696#    error "__cpp_lib_generic_associative_lookup should be defined in c++20"3697#  endif3698#  if __cpp_lib_generic_associative_lookup != 201304L3699#    error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++20"3700#  endif3701 3702#  ifndef __cpp_lib_generic_unordered_lookup3703#    error "__cpp_lib_generic_unordered_lookup should be defined in c++20"3704#  endif3705#  if __cpp_lib_generic_unordered_lookup != 201811L3706#    error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++20"3707#  endif3708 3709#  if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))3710#    ifndef __cpp_lib_hardware_interference_size3711#      error "__cpp_lib_hardware_interference_size should be defined in c++20"3712#    endif3713#    if __cpp_lib_hardware_interference_size != 201703L3714#      error "__cpp_lib_hardware_interference_size should have the value 201703L in c++20"3715#    endif3716#  else3717#    ifdef __cpp_lib_hardware_interference_size3718#      error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"3719#    endif3720#  endif3721 3722#  ifndef __cpp_lib_has_unique_object_representations3723#    error "__cpp_lib_has_unique_object_representations should be defined in c++20"3724#  endif3725#  if __cpp_lib_has_unique_object_representations != 201606L3726#    error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20"3727#  endif3728 3729#  ifdef __cpp_lib_hazard_pointer3730#    error "__cpp_lib_hazard_pointer should not be defined before c++26"3731#  endif3732 3733#  ifndef __cpp_lib_hypot3734#    error "__cpp_lib_hypot should be defined in c++20"3735#  endif3736#  if __cpp_lib_hypot != 201603L3737#    error "__cpp_lib_hypot should have the value 201603L in c++20"3738#  endif3739 3740#  ifndef __cpp_lib_incomplete_container_elements3741#    error "__cpp_lib_incomplete_container_elements should be defined in c++20"3742#  endif3743#  if __cpp_lib_incomplete_container_elements != 201505L3744#    error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++20"3745#  endif3746 3747#  ifdef __cpp_lib_inplace_vector3748#    error "__cpp_lib_inplace_vector should not be defined before c++26"3749#  endif3750 3751#  ifndef __cpp_lib_int_pow23752#    error "__cpp_lib_int_pow2 should be defined in c++20"3753#  endif3754#  if __cpp_lib_int_pow2 != 202002L3755#    error "__cpp_lib_int_pow2 should have the value 202002L in c++20"3756#  endif3757 3758#  ifndef __cpp_lib_integer_comparison_functions3759#    error "__cpp_lib_integer_comparison_functions should be defined in c++20"3760#  endif3761#  if __cpp_lib_integer_comparison_functions != 202002L3762#    error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++20"3763#  endif3764 3765#  ifndef __cpp_lib_integer_sequence3766#    error "__cpp_lib_integer_sequence should be defined in c++20"3767#  endif3768#  if __cpp_lib_integer_sequence != 201304L3769#    error "__cpp_lib_integer_sequence should have the value 201304L in c++20"3770#  endif3771 3772#  ifndef __cpp_lib_integral_constant_callable3773#    error "__cpp_lib_integral_constant_callable should be defined in c++20"3774#  endif3775#  if __cpp_lib_integral_constant_callable != 201304L3776#    error "__cpp_lib_integral_constant_callable should have the value 201304L in c++20"3777#  endif3778 3779#  ifndef __cpp_lib_interpolate3780#    error "__cpp_lib_interpolate should be defined in c++20"3781#  endif3782#  if __cpp_lib_interpolate != 201902L3783#    error "__cpp_lib_interpolate should have the value 201902L in c++20"3784#  endif3785 3786#  ifndef __cpp_lib_invoke3787#    error "__cpp_lib_invoke should be defined in c++20"3788#  endif3789#  if __cpp_lib_invoke != 201411L3790#    error "__cpp_lib_invoke should have the value 201411L in c++20"3791#  endif3792 3793#  ifdef __cpp_lib_invoke_r3794#    error "__cpp_lib_invoke_r should not be defined before c++23"3795#  endif3796 3797#  ifdef __cpp_lib_ios_noreplace3798#    error "__cpp_lib_ios_noreplace should not be defined before c++23"3799#  endif3800 3801#  ifndef __cpp_lib_is_aggregate3802#    error "__cpp_lib_is_aggregate should be defined in c++20"3803#  endif3804#  if __cpp_lib_is_aggregate != 201703L3805#    error "__cpp_lib_is_aggregate should have the value 201703L in c++20"3806#  endif3807 3808#  ifndef __cpp_lib_is_constant_evaluated3809#    error "__cpp_lib_is_constant_evaluated should be defined in c++20"3810#  endif3811#  if __cpp_lib_is_constant_evaluated != 201811L3812#    error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++20"3813#  endif3814 3815#  ifndef __cpp_lib_is_final3816#    error "__cpp_lib_is_final should be defined in c++20"3817#  endif3818#  if __cpp_lib_is_final != 201402L3819#    error "__cpp_lib_is_final should have the value 201402L in c++20"3820#  endif3821 3822#  ifdef __cpp_lib_is_implicit_lifetime3823#    error "__cpp_lib_is_implicit_lifetime should not be defined before c++23"3824#  endif3825 3826#  ifndef __cpp_lib_is_invocable3827#    error "__cpp_lib_is_invocable should be defined in c++20"3828#  endif3829#  if __cpp_lib_is_invocable != 201703L3830#    error "__cpp_lib_is_invocable should have the value 201703L in c++20"3831#  endif3832 3833#  if !defined(_LIBCPP_VERSION)3834#    ifndef __cpp_lib_is_layout_compatible3835#      error "__cpp_lib_is_layout_compatible should be defined in c++20"3836#    endif3837#    if __cpp_lib_is_layout_compatible != 201907L3838#      error "__cpp_lib_is_layout_compatible should have the value 201907L in c++20"3839#    endif3840#  else3841#    ifdef __cpp_lib_is_layout_compatible3842#      error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"3843#    endif3844#  endif3845 3846#  ifndef __cpp_lib_is_nothrow_convertible3847#    error "__cpp_lib_is_nothrow_convertible should be defined in c++20"3848#  endif3849#  if __cpp_lib_is_nothrow_convertible != 201806L3850#    error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++20"3851#  endif3852 3853#  ifndef __cpp_lib_is_null_pointer3854#    error "__cpp_lib_is_null_pointer should be defined in c++20"3855#  endif3856#  if __cpp_lib_is_null_pointer != 201309L3857#    error "__cpp_lib_is_null_pointer should have the value 201309L in c++20"3858#  endif3859 3860#  if !defined(_LIBCPP_VERSION)3861#    ifndef __cpp_lib_is_pointer_interconvertible3862#      error "__cpp_lib_is_pointer_interconvertible should be defined in c++20"3863#    endif3864#    if __cpp_lib_is_pointer_interconvertible != 201907L3865#      error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++20"3866#    endif3867#  else3868#    ifdef __cpp_lib_is_pointer_interconvertible3869#      error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"3870#    endif3871#  endif3872 3873#  ifdef __cpp_lib_is_scoped_enum3874#    error "__cpp_lib_is_scoped_enum should not be defined before c++23"3875#  endif3876 3877#  ifdef __cpp_lib_is_sufficiently_aligned3878#    error "__cpp_lib_is_sufficiently_aligned should not be defined before c++26"3879#  endif3880 3881#  ifndef __cpp_lib_is_swappable3882#    error "__cpp_lib_is_swappable should be defined in c++20"3883#  endif3884#  if __cpp_lib_is_swappable != 201603L3885#    error "__cpp_lib_is_swappable should have the value 201603L in c++20"3886#  endif3887 3888#  ifdef __cpp_lib_is_virtual_base_of3889#    error "__cpp_lib_is_virtual_base_of should not be defined before c++26"3890#  endif3891 3892#  ifdef __cpp_lib_is_within_lifetime3893#    error "__cpp_lib_is_within_lifetime should not be defined before c++26"3894#  endif3895 3896#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS3897#    ifndef __cpp_lib_jthread3898#      error "__cpp_lib_jthread should be defined in c++20"3899#    endif3900#    if __cpp_lib_jthread != 201911L3901#      error "__cpp_lib_jthread should have the value 201911L in c++20"3902#    endif3903#  else3904#    ifdef __cpp_lib_jthread3905#      error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"3906#    endif3907#  endif3908 3909#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS3910#    ifndef __cpp_lib_latch3911#      error "__cpp_lib_latch should be defined in c++20"3912#    endif3913#    if __cpp_lib_latch != 201907L3914#      error "__cpp_lib_latch should have the value 201907L in c++20"3915#    endif3916#  else3917#    ifdef __cpp_lib_latch3918#      error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"3919#    endif3920#  endif3921 3922#  ifndef __cpp_lib_launder3923#    error "__cpp_lib_launder should be defined in c++20"3924#  endif3925#  if __cpp_lib_launder != 201606L3926#    error "__cpp_lib_launder should have the value 201606L in c++20"3927#  endif3928 3929#  ifdef __cpp_lib_linalg3930#    error "__cpp_lib_linalg should not be defined before c++26"3931#  endif3932 3933#  ifndef __cpp_lib_list_remove_return_type3934#    error "__cpp_lib_list_remove_return_type should be defined in c++20"3935#  endif3936#  if __cpp_lib_list_remove_return_type != 201806L3937#    error "__cpp_lib_list_remove_return_type should have the value 201806L in c++20"3938#  endif3939 3940#  ifndef __cpp_lib_logical_traits3941#    error "__cpp_lib_logical_traits should be defined in c++20"3942#  endif3943#  if __cpp_lib_logical_traits != 201510L3944#    error "__cpp_lib_logical_traits should have the value 201510L in c++20"3945#  endif3946 3947#  ifndef __cpp_lib_make_from_tuple3948#    error "__cpp_lib_make_from_tuple should be defined in c++20"3949#  endif3950#  if __cpp_lib_make_from_tuple != 201606L3951#    error "__cpp_lib_make_from_tuple should have the value 201606L in c++20"3952#  endif3953 3954#  ifndef __cpp_lib_make_reverse_iterator3955#    error "__cpp_lib_make_reverse_iterator should be defined in c++20"3956#  endif3957#  if __cpp_lib_make_reverse_iterator != 201402L3958#    error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++20"3959#  endif3960 3961#  ifndef __cpp_lib_make_unique3962#    error "__cpp_lib_make_unique should be defined in c++20"3963#  endif3964#  if __cpp_lib_make_unique != 201304L3965#    error "__cpp_lib_make_unique should have the value 201304L in c++20"3966#  endif3967 3968#  ifndef __cpp_lib_map_try_emplace3969#    error "__cpp_lib_map_try_emplace should be defined in c++20"3970#  endif3971#  if __cpp_lib_map_try_emplace != 201411L3972#    error "__cpp_lib_map_try_emplace should have the value 201411L in c++20"3973#  endif3974 3975#  ifndef __cpp_lib_math_constants3976#    error "__cpp_lib_math_constants should be defined in c++20"3977#  endif3978#  if __cpp_lib_math_constants != 201907L3979#    error "__cpp_lib_math_constants should have the value 201907L in c++20"3980#  endif3981 3982#  if !defined(_LIBCPP_VERSION)3983#    ifndef __cpp_lib_math_special_functions3984#      error "__cpp_lib_math_special_functions should be defined in c++20"3985#    endif3986#    if __cpp_lib_math_special_functions != 201603L3987#      error "__cpp_lib_math_special_functions should have the value 201603L in c++20"3988#    endif3989#  else3990#    ifdef __cpp_lib_math_special_functions3991#      error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"3992#    endif3993#  endif3994 3995#  ifdef __cpp_lib_mdspan3996#    error "__cpp_lib_mdspan should not be defined before c++23"3997#  endif3998 3999#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR4000#    ifndef __cpp_lib_memory_resource4001#      error "__cpp_lib_memory_resource should be defined in c++20"4002#    endif4003#    if __cpp_lib_memory_resource != 201603L4004#      error "__cpp_lib_memory_resource should have the value 201603L in c++20"4005#    endif4006#  else4007#    ifdef __cpp_lib_memory_resource4008#      error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"4009#    endif4010#  endif4011 4012#  ifdef __cpp_lib_modules4013#    error "__cpp_lib_modules should not be defined before c++23"4014#  endif4015 4016#  ifndef __cpp_lib_move_iterator_concept4017#    error "__cpp_lib_move_iterator_concept should be defined in c++20"4018#  endif4019#  if __cpp_lib_move_iterator_concept != 202207L4020#    error "__cpp_lib_move_iterator_concept should have the value 202207L in c++20"4021#  endif4022 4023#  ifdef __cpp_lib_move_only_function4024#    error "__cpp_lib_move_only_function should not be defined before c++23"4025#  endif4026 4027#  ifndef __cpp_lib_node_extract4028#    error "__cpp_lib_node_extract should be defined in c++20"4029#  endif4030#  if __cpp_lib_node_extract != 201606L4031#    error "__cpp_lib_node_extract should have the value 201606L in c++20"4032#  endif4033 4034#  ifndef __cpp_lib_nonmember_container_access4035#    error "__cpp_lib_nonmember_container_access should be defined in c++20"4036#  endif4037#  if __cpp_lib_nonmember_container_access != 201411L4038#    error "__cpp_lib_nonmember_container_access should have the value 201411L in c++20"4039#  endif4040 4041#  ifndef __cpp_lib_not_fn4042#    error "__cpp_lib_not_fn should be defined in c++20"4043#  endif4044#  if __cpp_lib_not_fn != 201603L4045#    error "__cpp_lib_not_fn should have the value 201603L in c++20"4046#  endif4047 4048#  ifndef __cpp_lib_null_iterators4049#    error "__cpp_lib_null_iterators should be defined in c++20"4050#  endif4051#  if __cpp_lib_null_iterators != 201304L4052#    error "__cpp_lib_null_iterators should have the value 201304L in c++20"4053#  endif4054 4055#  ifndef __cpp_lib_optional4056#    error "__cpp_lib_optional should be defined in c++20"4057#  endif4058#  if __cpp_lib_optional != 202106L4059#    error "__cpp_lib_optional should have the value 202106L in c++20"4060#  endif4061 4062#  ifdef __cpp_lib_optional_range_support4063#    error "__cpp_lib_optional_range_support should not be defined before c++26"4064#  endif4065 4066#  ifdef __cpp_lib_out_ptr4067#    error "__cpp_lib_out_ptr should not be defined before c++23"4068#  endif4069 4070#  if !defined(_LIBCPP_VERSION)4071#    ifndef __cpp_lib_parallel_algorithm4072#      error "__cpp_lib_parallel_algorithm should be defined in c++20"4073#    endif4074#    if __cpp_lib_parallel_algorithm != 201603L4075#      error "__cpp_lib_parallel_algorithm should have the value 201603L in c++20"4076#    endif4077#  else4078#    ifdef __cpp_lib_parallel_algorithm4079#      error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"4080#    endif4081#  endif4082 4083#  ifdef __cpp_lib_philox_engine4084#    error "__cpp_lib_philox_engine should not be defined before c++26"4085#  endif4086 4087#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR4088#    ifndef __cpp_lib_polymorphic_allocator4089#      error "__cpp_lib_polymorphic_allocator should be defined in c++20"4090#    endif4091#    if __cpp_lib_polymorphic_allocator != 201902L4092#      error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++20"4093#    endif4094#  else4095#    ifdef __cpp_lib_polymorphic_allocator4096#      error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"4097#    endif4098#  endif4099 4100#  ifdef __cpp_lib_print4101#    error "__cpp_lib_print should not be defined before c++23"4102#  endif4103 4104#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION4105#    ifndef __cpp_lib_quoted_string_io4106#      error "__cpp_lib_quoted_string_io should be defined in c++20"4107#    endif4108#    if __cpp_lib_quoted_string_io != 201304L4109#      error "__cpp_lib_quoted_string_io should have the value 201304L in c++20"4110#    endif4111#  else4112#    ifdef __cpp_lib_quoted_string_io4113#      error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!"4114#    endif4115#  endif4116 4117#  ifndef __cpp_lib_ranges4118#    error "__cpp_lib_ranges should be defined in c++20"4119#  endif4120#  if __cpp_lib_ranges != 202110L4121#    error "__cpp_lib_ranges should have the value 202110L in c++20"4122#  endif4123 4124#  ifdef __cpp_lib_ranges_as_const4125#    error "__cpp_lib_ranges_as_const should not be defined before c++23"4126#  endif4127 4128#  ifdef __cpp_lib_ranges_as_rvalue4129#    error "__cpp_lib_ranges_as_rvalue should not be defined before c++23"4130#  endif4131 4132#  ifdef __cpp_lib_ranges_chunk4133#    error "__cpp_lib_ranges_chunk should not be defined before c++23"4134#  endif4135 4136#  ifdef __cpp_lib_ranges_chunk_by4137#    error "__cpp_lib_ranges_chunk_by should not be defined before c++23"4138#  endif4139 4140#  ifdef __cpp_lib_ranges_concat4141#    error "__cpp_lib_ranges_concat should not be defined before c++26"4142#  endif4143 4144#  ifdef __cpp_lib_ranges_contains4145#    error "__cpp_lib_ranges_contains should not be defined before c++23"4146#  endif4147 4148#  ifdef __cpp_lib_ranges_find_last4149#    error "__cpp_lib_ranges_find_last should not be defined before c++23"4150#  endif4151 4152#  ifdef __cpp_lib_ranges_indices4153#    error "__cpp_lib_ranges_indices should not be defined before c++26"4154#  endif4155 4156#  ifdef __cpp_lib_ranges_iota4157#    error "__cpp_lib_ranges_iota should not be defined before c++23"4158#  endif4159 4160#  ifdef __cpp_lib_ranges_join_with4161#    error "__cpp_lib_ranges_join_with should not be defined before c++23"4162#  endif4163 4164#  ifdef __cpp_lib_ranges_repeat4165#    error "__cpp_lib_ranges_repeat should not be defined before c++23"4166#  endif4167 4168#  ifdef __cpp_lib_ranges_slide4169#    error "__cpp_lib_ranges_slide should not be defined before c++23"4170#  endif4171 4172#  ifdef __cpp_lib_ranges_starts_ends_with4173#    error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23"4174#  endif4175 4176#  ifdef __cpp_lib_ranges_to_container4177#    error "__cpp_lib_ranges_to_container should not be defined before c++23"4178#  endif4179 4180#  ifdef __cpp_lib_ranges_zip4181#    error "__cpp_lib_ranges_zip should not be defined before c++23"4182#  endif4183 4184#  ifdef __cpp_lib_ratio4185#    error "__cpp_lib_ratio should not be defined before c++26"4186#  endif4187 4188#  ifndef __cpp_lib_raw_memory_algorithms4189#    error "__cpp_lib_raw_memory_algorithms should be defined in c++20"4190#  endif4191#  if __cpp_lib_raw_memory_algorithms != 201606L4192#    error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20"4193#  endif4194 4195#  ifdef __cpp_lib_rcu4196#    error "__cpp_lib_rcu should not be defined before c++26"4197#  endif4198 4199#  ifdef __cpp_lib_reference_from_temporary4200#    error "__cpp_lib_reference_from_temporary should not be defined before c++23"4201#  endif4202 4203#  ifdef __cpp_lib_reference_wrapper4204#    error "__cpp_lib_reference_wrapper should not be defined before c++26"4205#  endif4206 4207#  ifndef __cpp_lib_remove_cvref4208#    error "__cpp_lib_remove_cvref should be defined in c++20"4209#  endif4210#  if __cpp_lib_remove_cvref != 201711L4211#    error "__cpp_lib_remove_cvref should have the value 201711L in c++20"4212#  endif4213 4214#  ifndef __cpp_lib_result_of_sfinae4215#    error "__cpp_lib_result_of_sfinae should be defined in c++20"4216#  endif4217#  if __cpp_lib_result_of_sfinae != 201210L4218#    error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20"4219#  endif4220 4221#  ifndef __cpp_lib_robust_nonmodifying_seq_ops4222#    error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++20"4223#  endif4224#  if __cpp_lib_robust_nonmodifying_seq_ops != 201304L4225#    error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++20"4226#  endif4227 4228#  ifndef __cpp_lib_sample4229#    error "__cpp_lib_sample should be defined in c++20"4230#  endif4231#  if __cpp_lib_sample != 201603L4232#    error "__cpp_lib_sample should have the value 201603L in c++20"4233#  endif4234 4235#  ifdef __cpp_lib_saturation_arithmetic4236#    error "__cpp_lib_saturation_arithmetic should not be defined before c++26"4237#  endif4238 4239#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS4240#    ifndef __cpp_lib_scoped_lock4241#      error "__cpp_lib_scoped_lock should be defined in c++20"4242#    endif4243#    if __cpp_lib_scoped_lock != 201703L4244#      error "__cpp_lib_scoped_lock should have the value 201703L in c++20"4245#    endif4246#  else4247#    ifdef __cpp_lib_scoped_lock4248#      error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"4249#    endif4250#  endif4251 4252#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS4253#    ifndef __cpp_lib_semaphore4254#      error "__cpp_lib_semaphore should be defined in c++20"4255#    endif4256#    if __cpp_lib_semaphore != 201907L4257#      error "__cpp_lib_semaphore should have the value 201907L in c++20"4258#    endif4259#  else4260#    ifdef __cpp_lib_semaphore4261#      error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"4262#    endif4263#  endif4264 4265#  ifdef __cpp_lib_senders4266#    error "__cpp_lib_senders should not be defined before c++26"4267#  endif4268 4269#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS4270#    ifndef __cpp_lib_shared_mutex4271#      error "__cpp_lib_shared_mutex should be defined in c++20"4272#    endif4273#    if __cpp_lib_shared_mutex != 201505L4274#      error "__cpp_lib_shared_mutex should have the value 201505L in c++20"4275#    endif4276#  else4277#    ifdef __cpp_lib_shared_mutex4278#      error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"4279#    endif4280#  endif4281 4282#  ifndef __cpp_lib_shared_ptr_arrays4283#    error "__cpp_lib_shared_ptr_arrays should be defined in c++20"4284#  endif4285#  if __cpp_lib_shared_ptr_arrays != 201707L4286#    error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++20"4287#  endif4288 4289#  ifndef __cpp_lib_shared_ptr_weak_type4290#    error "__cpp_lib_shared_ptr_weak_type should be defined in c++20"4291#  endif4292#  if __cpp_lib_shared_ptr_weak_type != 201606L4293#    error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20"4294#  endif4295 4296#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS4297#    ifndef __cpp_lib_shared_timed_mutex4298#      error "__cpp_lib_shared_timed_mutex should be defined in c++20"4299#    endif4300#    if __cpp_lib_shared_timed_mutex != 201402L4301#      error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++20"4302#    endif4303#  else4304#    ifdef __cpp_lib_shared_timed_mutex4305#      error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"4306#    endif4307#  endif4308 4309#  ifndef __cpp_lib_shift4310#    error "__cpp_lib_shift should be defined in c++20"4311#  endif4312#  if __cpp_lib_shift != 201806L4313#    error "__cpp_lib_shift should have the value 201806L in c++20"4314#  endif4315 4316#  ifndef __cpp_lib_smart_ptr_for_overwrite4317#    error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20"4318#  endif4319#  if __cpp_lib_smart_ptr_for_overwrite != 202002L4320#    error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20"4321#  endif4322 4323#  ifdef __cpp_lib_smart_ptr_owner_equality4324#    error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"4325#  endif4326 4327#  ifndef __cpp_lib_source_location4328#    error "__cpp_lib_source_location should be defined in c++20"4329#  endif4330#  if __cpp_lib_source_location != 201907L4331#    error "__cpp_lib_source_location should have the value 201907L in c++20"4332#  endif4333 4334#  ifndef __cpp_lib_span4335#    error "__cpp_lib_span should be defined in c++20"4336#  endif4337#  if __cpp_lib_span != 202002L4338#    error "__cpp_lib_span should have the value 202002L in c++20"4339#  endif4340 4341#  ifdef __cpp_lib_span_at4342#    error "__cpp_lib_span_at should not be defined before c++26"4343#  endif4344 4345#  ifdef __cpp_lib_span_initializer_list4346#    error "__cpp_lib_span_initializer_list should not be defined before c++26"4347#  endif4348 4349#  ifdef __cpp_lib_spanstream4350#    error "__cpp_lib_spanstream should not be defined before c++23"4351#  endif4352 4353#  ifndef __cpp_lib_ssize4354#    error "__cpp_lib_ssize should be defined in c++20"4355#  endif4356#  if __cpp_lib_ssize != 201902L4357#    error "__cpp_lib_ssize should have the value 201902L in c++20"4358#  endif4359 4360#  ifdef __cpp_lib_sstream_from_string_view4361#    error "__cpp_lib_sstream_from_string_view should not be defined before c++26"4362#  endif4363 4364#  ifdef __cpp_lib_stacktrace4365#    error "__cpp_lib_stacktrace should not be defined before c++23"4366#  endif4367 4368#  ifndef __cpp_lib_starts_ends_with4369#    error "__cpp_lib_starts_ends_with should be defined in c++20"4370#  endif4371#  if __cpp_lib_starts_ends_with != 201711L4372#    error "__cpp_lib_starts_ends_with should have the value 201711L in c++20"4373#  endif4374 4375#  ifdef __cpp_lib_stdatomic_h4376#    error "__cpp_lib_stdatomic_h should not be defined before c++23"4377#  endif4378 4379#  ifdef __cpp_lib_string_contains4380#    error "__cpp_lib_string_contains should not be defined before c++23"4381#  endif4382 4383#  ifdef __cpp_lib_string_resize_and_overwrite4384#    error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23"4385#  endif4386 4387#  ifdef __cpp_lib_string_subview4388#    error "__cpp_lib_string_subview should not be defined before c++26"4389#  endif4390 4391#  ifndef __cpp_lib_string_udls4392#    error "__cpp_lib_string_udls should be defined in c++20"4393#  endif4394#  if __cpp_lib_string_udls != 201304L4395#    error "__cpp_lib_string_udls should have the value 201304L in c++20"4396#  endif4397 4398#  ifndef __cpp_lib_string_view4399#    error "__cpp_lib_string_view should be defined in c++20"4400#  endif4401#  if __cpp_lib_string_view != 201803L4402#    error "__cpp_lib_string_view should have the value 201803L in c++20"4403#  endif4404 4405#  ifdef __cpp_lib_submdspan4406#    error "__cpp_lib_submdspan should not be defined before c++26"4407#  endif4408 4409#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM4410#    ifndef __cpp_lib_syncbuf4411#      error "__cpp_lib_syncbuf should be defined in c++20"4412#    endif4413#    if __cpp_lib_syncbuf != 201803L4414#      error "__cpp_lib_syncbuf should have the value 201803L in c++20"4415#    endif4416#  else4417#    ifdef __cpp_lib_syncbuf4418#      error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM' is not met!"4419#    endif4420#  endif4421 4422#  ifdef __cpp_lib_text_encoding4423#    error "__cpp_lib_text_encoding should not be defined before c++26"4424#  endif4425 4426#  ifndef __cpp_lib_three_way_comparison4427#    error "__cpp_lib_three_way_comparison should be defined in c++20"4428#  endif4429#  if __cpp_lib_three_way_comparison != 201907L4430#    error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"4431#  endif4432 4433#  ifndef __cpp_lib_to_address4434#    error "__cpp_lib_to_address should be defined in c++20"4435#  endif4436#  if __cpp_lib_to_address != 201711L4437#    error "__cpp_lib_to_address should have the value 201711L in c++20"4438#  endif4439 4440#  ifndef __cpp_lib_to_array4441#    error "__cpp_lib_to_array should be defined in c++20"4442#  endif4443#  if __cpp_lib_to_array != 201907L4444#    error "__cpp_lib_to_array should have the value 201907L in c++20"4445#  endif4446 4447#  if !defined(_LIBCPP_VERSION)4448#    ifndef __cpp_lib_to_chars4449#      error "__cpp_lib_to_chars should be defined in c++20"4450#    endif4451#    if __cpp_lib_to_chars != 201611L4452#      error "__cpp_lib_to_chars should have the value 201611L in c++20"4453#    endif4454#  else4455#    ifdef __cpp_lib_to_chars4456#      error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"4457#    endif4458#  endif4459 4460#  ifdef __cpp_lib_to_string4461#    error "__cpp_lib_to_string should not be defined before c++26"4462#  endif4463 4464#  ifdef __cpp_lib_to_underlying4465#    error "__cpp_lib_to_underlying should not be defined before c++23"4466#  endif4467 4468#  ifndef __cpp_lib_transformation_trait_aliases4469#    error "__cpp_lib_transformation_trait_aliases should be defined in c++20"4470#  endif4471#  if __cpp_lib_transformation_trait_aliases != 201304L4472#    error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++20"4473#  endif4474 4475#  ifndef __cpp_lib_transparent_operators4476#    error "__cpp_lib_transparent_operators should be defined in c++20"4477#  endif4478#  if __cpp_lib_transparent_operators != 201510L4479#    error "__cpp_lib_transparent_operators should have the value 201510L in c++20"4480#  endif4481 4482#  ifndef __cpp_lib_tuple_element_t4483#    error "__cpp_lib_tuple_element_t should be defined in c++20"4484#  endif4485#  if __cpp_lib_tuple_element_t != 201402L4486#    error "__cpp_lib_tuple_element_t should have the value 201402L in c++20"4487#  endif4488 4489#  ifdef __cpp_lib_tuple_like4490#    error "__cpp_lib_tuple_like should not be defined before c++23"4491#  endif4492 4493#  ifndef __cpp_lib_tuples_by_type4494#    error "__cpp_lib_tuples_by_type should be defined in c++20"4495#  endif4496#  if __cpp_lib_tuples_by_type != 201304L4497#    error "__cpp_lib_tuples_by_type should have the value 201304L in c++20"4498#  endif4499 4500#  ifndef __cpp_lib_type_identity4501#    error "__cpp_lib_type_identity should be defined in c++20"4502#  endif4503#  if __cpp_lib_type_identity != 201806L4504#    error "__cpp_lib_type_identity should have the value 201806L in c++20"4505#  endif4506 4507#  ifndef __cpp_lib_type_trait_variable_templates4508#    error "__cpp_lib_type_trait_variable_templates should be defined in c++20"4509#  endif4510#  if __cpp_lib_type_trait_variable_templates != 201510L4511#    error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++20"4512#  endif4513 4514#  ifndef __cpp_lib_uncaught_exceptions4515#    error "__cpp_lib_uncaught_exceptions should be defined in c++20"4516#  endif4517#  if __cpp_lib_uncaught_exceptions != 201411L4518#    error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++20"4519#  endif4520 4521#  ifndef __cpp_lib_unordered_map_try_emplace4522#    error "__cpp_lib_unordered_map_try_emplace should be defined in c++20"4523#  endif4524#  if __cpp_lib_unordered_map_try_emplace != 201411L4525#    error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++20"4526#  endif4527 4528#  ifdef __cpp_lib_unreachable4529#    error "__cpp_lib_unreachable should not be defined before c++23"4530#  endif4531 4532#  ifndef __cpp_lib_unwrap_ref4533#    error "__cpp_lib_unwrap_ref should be defined in c++20"4534#  endif4535#  if __cpp_lib_unwrap_ref != 201811L4536#    error "__cpp_lib_unwrap_ref should have the value 201811L in c++20"4537#  endif4538 4539#  ifndef __cpp_lib_variant4540#    error "__cpp_lib_variant should be defined in c++20"4541#  endif4542#  if __cpp_lib_variant != 202106L4543#    error "__cpp_lib_variant should have the value 202106L in c++20"4544#  endif4545 4546#  ifndef __cpp_lib_void_t4547#    error "__cpp_lib_void_t should be defined in c++20"4548#  endif4549#  if __cpp_lib_void_t != 201411L4550#    error "__cpp_lib_void_t should have the value 201411L in c++20"4551#  endif4552 4553#elif TEST_STD_VER == 234554 4555#  ifndef __cpp_lib_adaptor_iterator_pair_constructor4556#    error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++23"4557#  endif4558#  if __cpp_lib_adaptor_iterator_pair_constructor != 202106L4559#    error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++23"4560#  endif4561 4562#  ifndef __cpp_lib_addressof_constexpr4563#    error "__cpp_lib_addressof_constexpr should be defined in c++23"4564#  endif4565#  if __cpp_lib_addressof_constexpr != 201603L4566#    error "__cpp_lib_addressof_constexpr should have the value 201603L in c++23"4567#  endif4568 4569#  ifdef __cpp_lib_aligned_accessor4570#    error "__cpp_lib_aligned_accessor should not be defined before c++26"4571#  endif4572 4573#  ifndef __cpp_lib_allocate_at_least4574#    error "__cpp_lib_allocate_at_least should be defined in c++23"4575#  endif4576#  if __cpp_lib_allocate_at_least != 202302L4577#    error "__cpp_lib_allocate_at_least should have the value 202302L in c++23"4578#  endif4579 4580#  ifndef __cpp_lib_allocator_traits_is_always_equal4581#    error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++23"4582#  endif4583#  if __cpp_lib_allocator_traits_is_always_equal != 201411L4584#    error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++23"4585#  endif4586 4587#  ifndef __cpp_lib_any4588#    error "__cpp_lib_any should be defined in c++23"4589#  endif4590#  if __cpp_lib_any != 201606L4591#    error "__cpp_lib_any should have the value 201606L in c++23"4592#  endif4593 4594#  ifndef __cpp_lib_apply4595#    error "__cpp_lib_apply should be defined in c++23"4596#  endif4597#  if __cpp_lib_apply != 201603L4598#    error "__cpp_lib_apply should have the value 201603L in c++23"4599#  endif4600 4601#  ifndef __cpp_lib_array_constexpr4602#    error "__cpp_lib_array_constexpr should be defined in c++23"4603#  endif4604#  if __cpp_lib_array_constexpr != 201811L4605#    error "__cpp_lib_array_constexpr should have the value 201811L in c++23"4606#  endif4607 4608#  ifndef __cpp_lib_as_const4609#    error "__cpp_lib_as_const should be defined in c++23"4610#  endif4611#  if __cpp_lib_as_const != 201510L4612#    error "__cpp_lib_as_const should have the value 201510L in c++23"4613#  endif4614 4615#  if !defined(_LIBCPP_VERSION)4616#    ifndef __cpp_lib_associative_heterogeneous_erasure4617#      error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++23"4618#    endif4619#    if __cpp_lib_associative_heterogeneous_erasure != 202110L4620#      error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++23"4621#    endif4622#  else4623#    ifdef __cpp_lib_associative_heterogeneous_erasure4624#      error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"4625#    endif4626#  endif4627 4628#  ifdef __cpp_lib_associative_heterogeneous_insertion4629#    error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26"4630#  endif4631 4632#  ifndef __cpp_lib_assume_aligned4633#    error "__cpp_lib_assume_aligned should be defined in c++23"4634#  endif4635#  if __cpp_lib_assume_aligned != 201811L4636#    error "__cpp_lib_assume_aligned should have the value 201811L in c++23"4637#  endif4638 4639#  ifndef __cpp_lib_atomic_flag_test4640#    error "__cpp_lib_atomic_flag_test should be defined in c++23"4641#  endif4642#  if __cpp_lib_atomic_flag_test != 201907L4643#    error "__cpp_lib_atomic_flag_test should have the value 201907L in c++23"4644#  endif4645 4646#  ifndef __cpp_lib_atomic_float4647#    error "__cpp_lib_atomic_float should be defined in c++23"4648#  endif4649#  if __cpp_lib_atomic_float != 201711L4650#    error "__cpp_lib_atomic_float should have the value 201711L in c++23"4651#  endif4652 4653#  ifndef __cpp_lib_atomic_is_always_lock_free4654#    error "__cpp_lib_atomic_is_always_lock_free should be defined in c++23"4655#  endif4656#  if __cpp_lib_atomic_is_always_lock_free != 201603L4657#    error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++23"4658#  endif4659 4660#  ifndef __cpp_lib_atomic_lock_free_type_aliases4661#    error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++23"4662#  endif4663#  if __cpp_lib_atomic_lock_free_type_aliases != 201907L4664#    error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++23"4665#  endif4666 4667#  ifdef __cpp_lib_atomic_min_max4668#    error "__cpp_lib_atomic_min_max should not be defined before c++26"4669#  endif4670 4671#  ifndef __cpp_lib_atomic_ref4672#    error "__cpp_lib_atomic_ref should be defined in c++23"4673#  endif4674#  if __cpp_lib_atomic_ref != 201806L4675#    error "__cpp_lib_atomic_ref should have the value 201806L in c++23"4676#  endif4677 4678#  if !defined(_LIBCPP_VERSION)4679#    ifndef __cpp_lib_atomic_shared_ptr4680#      error "__cpp_lib_atomic_shared_ptr should be defined in c++23"4681#    endif4682#    if __cpp_lib_atomic_shared_ptr != 201711L4683#      error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++23"4684#    endif4685#  else4686#    ifdef __cpp_lib_atomic_shared_ptr4687#      error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"4688#    endif4689#  endif4690 4691#  ifndef __cpp_lib_atomic_value_initialization4692#    error "__cpp_lib_atomic_value_initialization should be defined in c++23"4693#  endif4694#  if __cpp_lib_atomic_value_initialization != 201911L4695#    error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++23"4696#  endif4697 4698#  ifndef __cpp_lib_atomic_wait4699#    error "__cpp_lib_atomic_wait should be defined in c++23"4700#  endif4701#  if __cpp_lib_atomic_wait != 201907L4702#    error "__cpp_lib_atomic_wait should have the value 201907L in c++23"4703#  endif4704 4705#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS4706#    ifndef __cpp_lib_barrier4707#      error "__cpp_lib_barrier should be defined in c++23"4708#    endif4709#    if __cpp_lib_barrier != 201907L4710#      error "__cpp_lib_barrier should have the value 201907L in c++23"4711#    endif4712#  else4713#    ifdef __cpp_lib_barrier4714#      error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"4715#    endif4716#  endif4717 4718#  ifndef __cpp_lib_bind_back4719#    error "__cpp_lib_bind_back should be defined in c++23"4720#  endif4721#  if __cpp_lib_bind_back != 202202L4722#    error "__cpp_lib_bind_back should have the value 202202L in c++23"4723#  endif4724 4725#  ifndef __cpp_lib_bind_front4726#    error "__cpp_lib_bind_front should be defined in c++23"4727#  endif4728#  if __cpp_lib_bind_front != 201907L4729#    error "__cpp_lib_bind_front should have the value 201907L in c++23"4730#  endif4731 4732#  ifndef __cpp_lib_bit_cast4733#    error "__cpp_lib_bit_cast should be defined in c++23"4734#  endif4735#  if __cpp_lib_bit_cast != 201806L4736#    error "__cpp_lib_bit_cast should have the value 201806L in c++23"4737#  endif4738 4739#  ifndef __cpp_lib_bitops4740#    error "__cpp_lib_bitops should be defined in c++23"4741#  endif4742#  if __cpp_lib_bitops != 201907L4743#    error "__cpp_lib_bitops should have the value 201907L in c++23"4744#  endif4745 4746#  ifdef __cpp_lib_bitset4747#    error "__cpp_lib_bitset should not be defined before c++26"4748#  endif4749 4750#  ifndef __cpp_lib_bool_constant4751#    error "__cpp_lib_bool_constant should be defined in c++23"4752#  endif4753#  if __cpp_lib_bool_constant != 201505L4754#    error "__cpp_lib_bool_constant should have the value 201505L in c++23"4755#  endif4756 4757#  ifndef __cpp_lib_bounded_array_traits4758#    error "__cpp_lib_bounded_array_traits should be defined in c++23"4759#  endif4760#  if __cpp_lib_bounded_array_traits != 201902L4761#    error "__cpp_lib_bounded_array_traits should have the value 201902L in c++23"4762#  endif4763 4764#  ifndef __cpp_lib_boyer_moore_searcher4765#    error "__cpp_lib_boyer_moore_searcher should be defined in c++23"4766#  endif4767#  if __cpp_lib_boyer_moore_searcher != 201603L4768#    error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++23"4769#  endif4770 4771#  ifndef __cpp_lib_byte4772#    error "__cpp_lib_byte should be defined in c++23"4773#  endif4774#  if __cpp_lib_byte != 201603L4775#    error "__cpp_lib_byte should have the value 201603L in c++23"4776#  endif4777 4778#  ifndef __cpp_lib_byteswap4779#    error "__cpp_lib_byteswap should be defined in c++23"4780#  endif4781#  if __cpp_lib_byteswap != 202110L4782#    error "__cpp_lib_byteswap should have the value 202110L in c++23"4783#  endif4784 4785#  if defined(__cpp_char8_t)4786#    ifndef __cpp_lib_char8_t4787#      error "__cpp_lib_char8_t should be defined in c++23"4788#    endif4789#    if __cpp_lib_char8_t != 201907L4790#      error "__cpp_lib_char8_t should have the value 201907L in c++23"4791#    endif4792#  else4793#    ifdef __cpp_lib_char8_t4794#      error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"4795#    endif4796#  endif4797 4798#  ifndef __cpp_lib_chrono4799#    error "__cpp_lib_chrono should be defined in c++23"4800#  endif4801#  if __cpp_lib_chrono != 201611L4802#    error "__cpp_lib_chrono should have the value 201611L in c++23"4803#  endif4804 4805#  ifndef __cpp_lib_chrono_udls4806#    error "__cpp_lib_chrono_udls should be defined in c++23"4807#  endif4808#  if __cpp_lib_chrono_udls != 201304L4809#    error "__cpp_lib_chrono_udls should have the value 201304L in c++23"4810#  endif4811 4812#  ifndef __cpp_lib_clamp4813#    error "__cpp_lib_clamp should be defined in c++23"4814#  endif4815#  if __cpp_lib_clamp != 201603L4816#    error "__cpp_lib_clamp should have the value 201603L in c++23"4817#  endif4818 4819#  ifndef __cpp_lib_common_reference4820#    error "__cpp_lib_common_reference should be defined in c++23"4821#  endif4822#  if __cpp_lib_common_reference != 202302L4823#    error "__cpp_lib_common_reference should have the value 202302L in c++23"4824#  endif4825 4826#  ifndef __cpp_lib_common_reference_wrapper4827#    error "__cpp_lib_common_reference_wrapper should be defined in c++23"4828#  endif4829#  if __cpp_lib_common_reference_wrapper != 202302L4830#    error "__cpp_lib_common_reference_wrapper should have the value 202302L in c++23"4831#  endif4832 4833#  ifndef __cpp_lib_complex_udls4834#    error "__cpp_lib_complex_udls should be defined in c++23"4835#  endif4836#  if __cpp_lib_complex_udls != 201309L4837#    error "__cpp_lib_complex_udls should have the value 201309L in c++23"4838#  endif4839 4840#  ifndef __cpp_lib_concepts4841#    error "__cpp_lib_concepts should be defined in c++23"4842#  endif4843#  if __cpp_lib_concepts != 202002L4844#    error "__cpp_lib_concepts should have the value 202002L in c++23"4845#  endif4846 4847#  ifndef __cpp_lib_constexpr_algorithms4848#    error "__cpp_lib_constexpr_algorithms should be defined in c++23"4849#  endif4850#  if __cpp_lib_constexpr_algorithms != 201806L4851#    error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++23"4852#  endif4853 4854#  ifndef __cpp_lib_constexpr_bitset4855#    error "__cpp_lib_constexpr_bitset should be defined in c++23"4856#  endif4857#  if __cpp_lib_constexpr_bitset != 202207L4858#    error "__cpp_lib_constexpr_bitset should have the value 202207L in c++23"4859#  endif4860 4861#  ifndef __cpp_lib_constexpr_charconv4862#    error "__cpp_lib_constexpr_charconv should be defined in c++23"4863#  endif4864#  if __cpp_lib_constexpr_charconv != 202207L4865#    error "__cpp_lib_constexpr_charconv should have the value 202207L in c++23"4866#  endif4867 4868#  if !defined(_LIBCPP_VERSION)4869#    ifndef __cpp_lib_constexpr_cmath4870#      error "__cpp_lib_constexpr_cmath should be defined in c++23"4871#    endif4872#    if __cpp_lib_constexpr_cmath != 202202L4873#      error "__cpp_lib_constexpr_cmath should have the value 202202L in c++23"4874#    endif4875#  else4876#    ifdef __cpp_lib_constexpr_cmath4877#      error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"4878#    endif4879#  endif4880 4881#  ifndef __cpp_lib_constexpr_complex4882#    error "__cpp_lib_constexpr_complex should be defined in c++23"4883#  endif4884#  if __cpp_lib_constexpr_complex != 201711L4885#    error "__cpp_lib_constexpr_complex should have the value 201711L in c++23"4886#  endif4887 4888#  ifndef __cpp_lib_constexpr_dynamic_alloc4889#    error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++23"4890#  endif4891#  if __cpp_lib_constexpr_dynamic_alloc != 201907L4892#    error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++23"4893#  endif4894 4895#  ifdef __cpp_lib_constexpr_flat_map4896#    error "__cpp_lib_constexpr_flat_map should not be defined before c++26"4897#  endif4898 4899#  ifdef __cpp_lib_constexpr_flat_set4900#    error "__cpp_lib_constexpr_flat_set should not be defined before c++26"4901#  endif4902 4903#  ifdef __cpp_lib_constexpr_forward_list4904#    error "__cpp_lib_constexpr_forward_list should not be defined before c++26"4905#  endif4906 4907#  ifndef __cpp_lib_constexpr_functional4908#    error "__cpp_lib_constexpr_functional should be defined in c++23"4909#  endif4910#  if __cpp_lib_constexpr_functional != 201907L4911#    error "__cpp_lib_constexpr_functional should have the value 201907L in c++23"4912#  endif4913 4914#  ifndef __cpp_lib_constexpr_iterator4915#    error "__cpp_lib_constexpr_iterator should be defined in c++23"4916#  endif4917#  if __cpp_lib_constexpr_iterator != 201811L4918#    error "__cpp_lib_constexpr_iterator should have the value 201811L in c++23"4919#  endif4920 4921#  ifdef __cpp_lib_constexpr_list4922#    error "__cpp_lib_constexpr_list should not be defined before c++26"4923#  endif4924 4925#  ifndef __cpp_lib_constexpr_memory4926#    error "__cpp_lib_constexpr_memory should be defined in c++23"4927#  endif4928#  if __cpp_lib_constexpr_memory != 202202L4929#    error "__cpp_lib_constexpr_memory should have the value 202202L in c++23"4930#  endif4931 4932#  ifdef __cpp_lib_constexpr_new4933#    error "__cpp_lib_constexpr_new should not be defined before c++26"4934#  endif4935 4936#  ifndef __cpp_lib_constexpr_numeric4937#    error "__cpp_lib_constexpr_numeric should be defined in c++23"4938#  endif4939#  if __cpp_lib_constexpr_numeric != 201911L4940#    error "__cpp_lib_constexpr_numeric should have the value 201911L in c++23"4941#  endif4942 4943#  ifdef __cpp_lib_constexpr_queue4944#    error "__cpp_lib_constexpr_queue should not be defined before c++26"4945#  endif4946 4947#  ifndef __cpp_lib_constexpr_string4948#    error "__cpp_lib_constexpr_string should be defined in c++23"4949#  endif4950#  if __cpp_lib_constexpr_string != 201907L4951#    error "__cpp_lib_constexpr_string should have the value 201907L in c++23"4952#  endif4953 4954#  ifndef __cpp_lib_constexpr_string_view4955#    error "__cpp_lib_constexpr_string_view should be defined in c++23"4956#  endif4957#  if __cpp_lib_constexpr_string_view != 201811L4958#    error "__cpp_lib_constexpr_string_view should have the value 201811L in c++23"4959#  endif4960 4961#  ifndef __cpp_lib_constexpr_tuple4962#    error "__cpp_lib_constexpr_tuple should be defined in c++23"4963#  endif4964#  if __cpp_lib_constexpr_tuple != 201811L4965#    error "__cpp_lib_constexpr_tuple should have the value 201811L in c++23"4966#  endif4967 4968#  ifndef __cpp_lib_constexpr_typeinfo4969#    error "__cpp_lib_constexpr_typeinfo should be defined in c++23"4970#  endif4971#  if __cpp_lib_constexpr_typeinfo != 202106L4972#    error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++23"4973#  endif4974 4975#  ifndef __cpp_lib_constexpr_utility4976#    error "__cpp_lib_constexpr_utility should be defined in c++23"4977#  endif4978#  if __cpp_lib_constexpr_utility != 201811L4979#    error "__cpp_lib_constexpr_utility should have the value 201811L in c++23"4980#  endif4981 4982#  ifndef __cpp_lib_constexpr_vector4983#    error "__cpp_lib_constexpr_vector should be defined in c++23"4984#  endif4985#  if __cpp_lib_constexpr_vector != 201907L4986#    error "__cpp_lib_constexpr_vector should have the value 201907L in c++23"4987#  endif4988 4989#  ifdef __cpp_lib_constrained_equality4990#    error "__cpp_lib_constrained_equality should not be defined before c++26"4991#  endif4992 4993#  ifndef __cpp_lib_containers_ranges4994#    error "__cpp_lib_containers_ranges should be defined in c++23"4995#  endif4996#  if __cpp_lib_containers_ranges != 202202L4997#    error "__cpp_lib_containers_ranges should have the value 202202L in c++23"4998#  endif4999 5000#  ifdef __cpp_lib_copyable_function5001#    error "__cpp_lib_copyable_function should not be defined before c++26"5002#  endif5003 5004#  ifndef __cpp_lib_coroutine5005#    error "__cpp_lib_coroutine should be defined in c++23"5006#  endif5007#  if __cpp_lib_coroutine != 201902L5008#    error "__cpp_lib_coroutine should have the value 201902L in c++23"5009#  endif5010 5011#  ifdef __cpp_lib_debugging5012#    error "__cpp_lib_debugging should not be defined before c++26"5013#  endif5014 5015#  ifdef __cpp_lib_default_template_type_for_algorithm_values5016#    error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26"5017#  endif5018 5019#  if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L5020#    ifndef __cpp_lib_destroying_delete5021#      error "__cpp_lib_destroying_delete should be defined in c++23"5022#    endif5023#    if __cpp_lib_destroying_delete != 201806L5024#      error "__cpp_lib_destroying_delete should have the value 201806L in c++23"5025#    endif5026#  else5027#    ifdef __cpp_lib_destroying_delete5028#      error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"5029#    endif5030#  endif5031 5032#  ifndef __cpp_lib_enable_shared_from_this5033#    error "__cpp_lib_enable_shared_from_this should be defined in c++23"5034#  endif5035#  if __cpp_lib_enable_shared_from_this != 201603L5036#    error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++23"5037#  endif5038 5039#  ifndef __cpp_lib_endian5040#    error "__cpp_lib_endian should be defined in c++23"5041#  endif5042#  if __cpp_lib_endian != 201907L5043#    error "__cpp_lib_endian should have the value 201907L in c++23"5044#  endif5045 5046#  ifndef __cpp_lib_erase_if5047#    error "__cpp_lib_erase_if should be defined in c++23"5048#  endif5049#  if __cpp_lib_erase_if != 202002L5050#    error "__cpp_lib_erase_if should have the value 202002L in c++23"5051#  endif5052 5053#  ifndef __cpp_lib_exchange_function5054#    error "__cpp_lib_exchange_function should be defined in c++23"5055#  endif5056#  if __cpp_lib_exchange_function != 201304L5057#    error "__cpp_lib_exchange_function should have the value 201304L in c++23"5058#  endif5059 5060#  if !defined(_LIBCPP_VERSION)5061#    ifndef __cpp_lib_execution5062#      error "__cpp_lib_execution should be defined in c++23"5063#    endif5064#    if __cpp_lib_execution != 201902L5065#      error "__cpp_lib_execution should have the value 201902L in c++23"5066#    endif5067#  else5068#    ifdef __cpp_lib_execution5069#      error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"5070#    endif5071#  endif5072 5073#  ifndef __cpp_lib_expected5074#    error "__cpp_lib_expected should be defined in c++23"5075#  endif5076#  if __cpp_lib_expected != 202211L5077#    error "__cpp_lib_expected should have the value 202211L in c++23"5078#  endif5079 5080#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM5081#    ifndef __cpp_lib_filesystem5082#      error "__cpp_lib_filesystem should be defined in c++23"5083#    endif5084#    if __cpp_lib_filesystem != 201703L5085#      error "__cpp_lib_filesystem should have the value 201703L in c++23"5086#    endif5087#  else5088#    ifdef __cpp_lib_filesystem5089#      error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM' is not met!"5090#    endif5091#  endif5092 5093#  ifndef __cpp_lib_flat_map5094#    error "__cpp_lib_flat_map should be defined in c++23"5095#  endif5096#  if __cpp_lib_flat_map != 202207L5097#    error "__cpp_lib_flat_map should have the value 202207L in c++23"5098#  endif5099 5100#  ifndef __cpp_lib_flat_set5101#    error "__cpp_lib_flat_set should be defined in c++23"5102#  endif5103#  if __cpp_lib_flat_set != 202207L5104#    error "__cpp_lib_flat_set should have the value 202207L in c++23"5105#  endif5106 5107#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT5108#    ifndef __cpp_lib_format5109#      error "__cpp_lib_format should be defined in c++23"5110#    endif5111#    if __cpp_lib_format != 202110L5112#      error "__cpp_lib_format should have the value 202110L in c++23"5113#    endif5114#  else5115#    ifdef __cpp_lib_format5116#      error "__cpp_lib_format should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT' is not met!"5117#    endif5118#  endif5119 5120#  ifdef __cpp_lib_format_path5121#    error "__cpp_lib_format_path should not be defined before c++26"5122#  endif5123 5124#  ifndef __cpp_lib_format_ranges5125#    error "__cpp_lib_format_ranges should be defined in c++23"5126#  endif5127#  if __cpp_lib_format_ranges != 202207L5128#    error "__cpp_lib_format_ranges should have the value 202207L in c++23"5129#  endif5130 5131#  ifndef __cpp_lib_format_uchar5132#    error "__cpp_lib_format_uchar should be defined in c++23"5133#  endif5134#  if __cpp_lib_format_uchar != 202311L5135#    error "__cpp_lib_format_uchar should have the value 202311L in c++23"5136#  endif5137 5138#  if !defined(_LIBCPP_VERSION)5139#    ifndef __cpp_lib_formatters5140#      error "__cpp_lib_formatters should be defined in c++23"5141#    endif5142#    if __cpp_lib_formatters != 202302L5143#      error "__cpp_lib_formatters should have the value 202302L in c++23"5144#    endif5145#  else5146#    ifdef __cpp_lib_formatters5147#      error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"5148#    endif5149#  endif5150 5151#  ifndef __cpp_lib_forward_like5152#    error "__cpp_lib_forward_like should be defined in c++23"5153#  endif5154#  if __cpp_lib_forward_like != 202207L5155#    error "__cpp_lib_forward_like should have the value 202207L in c++23"5156#  endif5157 5158#  ifdef __cpp_lib_freestanding_algorithm5159#    error "__cpp_lib_freestanding_algorithm should not be defined before c++26"5160#  endif5161 5162#  ifdef __cpp_lib_freestanding_array5163#    error "__cpp_lib_freestanding_array should not be defined before c++26"5164#  endif5165 5166#  ifdef __cpp_lib_freestanding_cstring5167#    error "__cpp_lib_freestanding_cstring should not be defined before c++26"5168#  endif5169 5170#  ifdef __cpp_lib_freestanding_expected5171#    error "__cpp_lib_freestanding_expected should not be defined before c++26"5172#  endif5173 5174#  ifdef __cpp_lib_freestanding_mdspan5175#    error "__cpp_lib_freestanding_mdspan should not be defined before c++26"5176#  endif5177 5178#  ifdef __cpp_lib_freestanding_optional5179#    error "__cpp_lib_freestanding_optional should not be defined before c++26"5180#  endif5181 5182#  ifdef __cpp_lib_freestanding_string_view5183#    error "__cpp_lib_freestanding_string_view should not be defined before c++26"5184#  endif5185 5186#  ifdef __cpp_lib_freestanding_variant5187#    error "__cpp_lib_freestanding_variant should not be defined before c++26"5188#  endif5189 5190#  ifdef __cpp_lib_fstream_native_handle5191#    error "__cpp_lib_fstream_native_handle should not be defined before c++26"5192#  endif5193 5194#  ifdef __cpp_lib_function_ref5195#    error "__cpp_lib_function_ref should not be defined before c++26"5196#  endif5197 5198#  ifndef __cpp_lib_gcd_lcm5199#    error "__cpp_lib_gcd_lcm should be defined in c++23"5200#  endif5201#  if __cpp_lib_gcd_lcm != 201606L5202#    error "__cpp_lib_gcd_lcm should have the value 201606L in c++23"5203#  endif5204 5205#  ifdef __cpp_lib_generate_random5206#    error "__cpp_lib_generate_random should not be defined before c++26"5207#  endif5208 5209#  ifndef __cpp_lib_generic_associative_lookup5210#    error "__cpp_lib_generic_associative_lookup should be defined in c++23"5211#  endif5212#  if __cpp_lib_generic_associative_lookup != 201304L5213#    error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++23"5214#  endif5215 5216#  ifndef __cpp_lib_generic_unordered_lookup5217#    error "__cpp_lib_generic_unordered_lookup should be defined in c++23"5218#  endif5219#  if __cpp_lib_generic_unordered_lookup != 201811L5220#    error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++23"5221#  endif5222 5223#  if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))5224#    ifndef __cpp_lib_hardware_interference_size5225#      error "__cpp_lib_hardware_interference_size should be defined in c++23"5226#    endif5227#    if __cpp_lib_hardware_interference_size != 201703L5228#      error "__cpp_lib_hardware_interference_size should have the value 201703L in c++23"5229#    endif5230#  else5231#    ifdef __cpp_lib_hardware_interference_size5232#      error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"5233#    endif5234#  endif5235 5236#  ifndef __cpp_lib_has_unique_object_representations5237#    error "__cpp_lib_has_unique_object_representations should be defined in c++23"5238#  endif5239#  if __cpp_lib_has_unique_object_representations != 201606L5240#    error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++23"5241#  endif5242 5243#  ifdef __cpp_lib_hazard_pointer5244#    error "__cpp_lib_hazard_pointer should not be defined before c++26"5245#  endif5246 5247#  ifndef __cpp_lib_hypot5248#    error "__cpp_lib_hypot should be defined in c++23"5249#  endif5250#  if __cpp_lib_hypot != 201603L5251#    error "__cpp_lib_hypot should have the value 201603L in c++23"5252#  endif5253 5254#  ifndef __cpp_lib_incomplete_container_elements5255#    error "__cpp_lib_incomplete_container_elements should be defined in c++23"5256#  endif5257#  if __cpp_lib_incomplete_container_elements != 201505L5258#    error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++23"5259#  endif5260 5261#  ifdef __cpp_lib_inplace_vector5262#    error "__cpp_lib_inplace_vector should not be defined before c++26"5263#  endif5264 5265#  ifndef __cpp_lib_int_pow25266#    error "__cpp_lib_int_pow2 should be defined in c++23"5267#  endif5268#  if __cpp_lib_int_pow2 != 202002L5269#    error "__cpp_lib_int_pow2 should have the value 202002L in c++23"5270#  endif5271 5272#  ifndef __cpp_lib_integer_comparison_functions5273#    error "__cpp_lib_integer_comparison_functions should be defined in c++23"5274#  endif5275#  if __cpp_lib_integer_comparison_functions != 202002L5276#    error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++23"5277#  endif5278 5279#  ifndef __cpp_lib_integer_sequence5280#    error "__cpp_lib_integer_sequence should be defined in c++23"5281#  endif5282#  if __cpp_lib_integer_sequence != 201304L5283#    error "__cpp_lib_integer_sequence should have the value 201304L in c++23"5284#  endif5285 5286#  ifndef __cpp_lib_integral_constant_callable5287#    error "__cpp_lib_integral_constant_callable should be defined in c++23"5288#  endif5289#  if __cpp_lib_integral_constant_callable != 201304L5290#    error "__cpp_lib_integral_constant_callable should have the value 201304L in c++23"5291#  endif5292 5293#  ifndef __cpp_lib_interpolate5294#    error "__cpp_lib_interpolate should be defined in c++23"5295#  endif5296#  if __cpp_lib_interpolate != 201902L5297#    error "__cpp_lib_interpolate should have the value 201902L in c++23"5298#  endif5299 5300#  ifndef __cpp_lib_invoke5301#    error "__cpp_lib_invoke should be defined in c++23"5302#  endif5303#  if __cpp_lib_invoke != 201411L5304#    error "__cpp_lib_invoke should have the value 201411L in c++23"5305#  endif5306 5307#  ifndef __cpp_lib_invoke_r5308#    error "__cpp_lib_invoke_r should be defined in c++23"5309#  endif5310#  if __cpp_lib_invoke_r != 202106L5311#    error "__cpp_lib_invoke_r should have the value 202106L in c++23"5312#  endif5313 5314#  ifndef __cpp_lib_ios_noreplace5315#    error "__cpp_lib_ios_noreplace should be defined in c++23"5316#  endif5317#  if __cpp_lib_ios_noreplace != 202207L5318#    error "__cpp_lib_ios_noreplace should have the value 202207L in c++23"5319#  endif5320 5321#  ifndef __cpp_lib_is_aggregate5322#    error "__cpp_lib_is_aggregate should be defined in c++23"5323#  endif5324#  if __cpp_lib_is_aggregate != 201703L5325#    error "__cpp_lib_is_aggregate should have the value 201703L in c++23"5326#  endif5327 5328#  ifndef __cpp_lib_is_constant_evaluated5329#    error "__cpp_lib_is_constant_evaluated should be defined in c++23"5330#  endif5331#  if __cpp_lib_is_constant_evaluated != 201811L5332#    error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++23"5333#  endif5334 5335#  ifndef __cpp_lib_is_final5336#    error "__cpp_lib_is_final should be defined in c++23"5337#  endif5338#  if __cpp_lib_is_final != 201402L5339#    error "__cpp_lib_is_final should have the value 201402L in c++23"5340#  endif5341 5342#  if __has_builtin(__builtin_is_implicit_lifetime)5343#    ifndef __cpp_lib_is_implicit_lifetime5344#      error "__cpp_lib_is_implicit_lifetime should be defined in c++23"5345#    endif5346#    if __cpp_lib_is_implicit_lifetime != 202302L5347#      error "__cpp_lib_is_implicit_lifetime should have the value 202302L in c++23"5348#    endif5349#  else5350#    ifdef __cpp_lib_is_implicit_lifetime5351#      error "__cpp_lib_is_implicit_lifetime should not be defined when the requirement '__has_builtin(__builtin_is_implicit_lifetime)' is not met!"5352#    endif5353#  endif5354 5355#  ifndef __cpp_lib_is_invocable5356#    error "__cpp_lib_is_invocable should be defined in c++23"5357#  endif5358#  if __cpp_lib_is_invocable != 201703L5359#    error "__cpp_lib_is_invocable should have the value 201703L in c++23"5360#  endif5361 5362#  if !defined(_LIBCPP_VERSION)5363#    ifndef __cpp_lib_is_layout_compatible5364#      error "__cpp_lib_is_layout_compatible should be defined in c++23"5365#    endif5366#    if __cpp_lib_is_layout_compatible != 201907L5367#      error "__cpp_lib_is_layout_compatible should have the value 201907L in c++23"5368#    endif5369#  else5370#    ifdef __cpp_lib_is_layout_compatible5371#      error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"5372#    endif5373#  endif5374 5375#  ifndef __cpp_lib_is_nothrow_convertible5376#    error "__cpp_lib_is_nothrow_convertible should be defined in c++23"5377#  endif5378#  if __cpp_lib_is_nothrow_convertible != 201806L5379#    error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++23"5380#  endif5381 5382#  ifndef __cpp_lib_is_null_pointer5383#    error "__cpp_lib_is_null_pointer should be defined in c++23"5384#  endif5385#  if __cpp_lib_is_null_pointer != 201309L5386#    error "__cpp_lib_is_null_pointer should have the value 201309L in c++23"5387#  endif5388 5389#  if !defined(_LIBCPP_VERSION)5390#    ifndef __cpp_lib_is_pointer_interconvertible5391#      error "__cpp_lib_is_pointer_interconvertible should be defined in c++23"5392#    endif5393#    if __cpp_lib_is_pointer_interconvertible != 201907L5394#      error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++23"5395#    endif5396#  else5397#    ifdef __cpp_lib_is_pointer_interconvertible5398#      error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"5399#    endif5400#  endif5401 5402#  ifndef __cpp_lib_is_scoped_enum5403#    error "__cpp_lib_is_scoped_enum should be defined in c++23"5404#  endif5405#  if __cpp_lib_is_scoped_enum != 202011L5406#    error "__cpp_lib_is_scoped_enum should have the value 202011L in c++23"5407#  endif5408 5409#  ifdef __cpp_lib_is_sufficiently_aligned5410#    error "__cpp_lib_is_sufficiently_aligned should not be defined before c++26"5411#  endif5412 5413#  ifndef __cpp_lib_is_swappable5414#    error "__cpp_lib_is_swappable should be defined in c++23"5415#  endif5416#  if __cpp_lib_is_swappable != 201603L5417#    error "__cpp_lib_is_swappable should have the value 201603L in c++23"5418#  endif5419 5420#  ifdef __cpp_lib_is_virtual_base_of5421#    error "__cpp_lib_is_virtual_base_of should not be defined before c++26"5422#  endif5423 5424#  ifdef __cpp_lib_is_within_lifetime5425#    error "__cpp_lib_is_within_lifetime should not be defined before c++26"5426#  endif5427 5428#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS5429#    ifndef __cpp_lib_jthread5430#      error "__cpp_lib_jthread should be defined in c++23"5431#    endif5432#    if __cpp_lib_jthread != 201911L5433#      error "__cpp_lib_jthread should have the value 201911L in c++23"5434#    endif5435#  else5436#    ifdef __cpp_lib_jthread5437#      error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"5438#    endif5439#  endif5440 5441#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS5442#    ifndef __cpp_lib_latch5443#      error "__cpp_lib_latch should be defined in c++23"5444#    endif5445#    if __cpp_lib_latch != 201907L5446#      error "__cpp_lib_latch should have the value 201907L in c++23"5447#    endif5448#  else5449#    ifdef __cpp_lib_latch5450#      error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"5451#    endif5452#  endif5453 5454#  ifndef __cpp_lib_launder5455#    error "__cpp_lib_launder should be defined in c++23"5456#  endif5457#  if __cpp_lib_launder != 201606L5458#    error "__cpp_lib_launder should have the value 201606L in c++23"5459#  endif5460 5461#  ifdef __cpp_lib_linalg5462#    error "__cpp_lib_linalg should not be defined before c++26"5463#  endif5464 5465#  ifndef __cpp_lib_list_remove_return_type5466#    error "__cpp_lib_list_remove_return_type should be defined in c++23"5467#  endif5468#  if __cpp_lib_list_remove_return_type != 201806L5469#    error "__cpp_lib_list_remove_return_type should have the value 201806L in c++23"5470#  endif5471 5472#  ifndef __cpp_lib_logical_traits5473#    error "__cpp_lib_logical_traits should be defined in c++23"5474#  endif5475#  if __cpp_lib_logical_traits != 201510L5476#    error "__cpp_lib_logical_traits should have the value 201510L in c++23"5477#  endif5478 5479#  ifndef __cpp_lib_make_from_tuple5480#    error "__cpp_lib_make_from_tuple should be defined in c++23"5481#  endif5482#  if __cpp_lib_make_from_tuple != 201606L5483#    error "__cpp_lib_make_from_tuple should have the value 201606L in c++23"5484#  endif5485 5486#  ifndef __cpp_lib_make_reverse_iterator5487#    error "__cpp_lib_make_reverse_iterator should be defined in c++23"5488#  endif5489#  if __cpp_lib_make_reverse_iterator != 201402L5490#    error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++23"5491#  endif5492 5493#  ifndef __cpp_lib_make_unique5494#    error "__cpp_lib_make_unique should be defined in c++23"5495#  endif5496#  if __cpp_lib_make_unique != 201304L5497#    error "__cpp_lib_make_unique should have the value 201304L in c++23"5498#  endif5499 5500#  ifndef __cpp_lib_map_try_emplace5501#    error "__cpp_lib_map_try_emplace should be defined in c++23"5502#  endif5503#  if __cpp_lib_map_try_emplace != 201411L5504#    error "__cpp_lib_map_try_emplace should have the value 201411L in c++23"5505#  endif5506 5507#  ifndef __cpp_lib_math_constants5508#    error "__cpp_lib_math_constants should be defined in c++23"5509#  endif5510#  if __cpp_lib_math_constants != 201907L5511#    error "__cpp_lib_math_constants should have the value 201907L in c++23"5512#  endif5513 5514#  if !defined(_LIBCPP_VERSION)5515#    ifndef __cpp_lib_math_special_functions5516#      error "__cpp_lib_math_special_functions should be defined in c++23"5517#    endif5518#    if __cpp_lib_math_special_functions != 201603L5519#      error "__cpp_lib_math_special_functions should have the value 201603L in c++23"5520#    endif5521#  else5522#    ifdef __cpp_lib_math_special_functions5523#      error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"5524#    endif5525#  endif5526 5527#  ifndef __cpp_lib_mdspan5528#    error "__cpp_lib_mdspan should be defined in c++23"5529#  endif5530#  if __cpp_lib_mdspan != 202207L5531#    error "__cpp_lib_mdspan should have the value 202207L in c++23"5532#  endif5533 5534#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR5535#    ifndef __cpp_lib_memory_resource5536#      error "__cpp_lib_memory_resource should be defined in c++23"5537#    endif5538#    if __cpp_lib_memory_resource != 201603L5539#      error "__cpp_lib_memory_resource should have the value 201603L in c++23"5540#    endif5541#  else5542#    ifdef __cpp_lib_memory_resource5543#      error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"5544#    endif5545#  endif5546 5547#  ifndef __cpp_lib_modules5548#    error "__cpp_lib_modules should be defined in c++23"5549#  endif5550#  if __cpp_lib_modules != 202207L5551#    error "__cpp_lib_modules should have the value 202207L in c++23"5552#  endif5553 5554#  ifndef __cpp_lib_move_iterator_concept5555#    error "__cpp_lib_move_iterator_concept should be defined in c++23"5556#  endif5557#  if __cpp_lib_move_iterator_concept != 202207L5558#    error "__cpp_lib_move_iterator_concept should have the value 202207L in c++23"5559#  endif5560 5561#  if !defined(_LIBCPP_VERSION)5562#    ifndef __cpp_lib_move_only_function5563#      error "__cpp_lib_move_only_function should be defined in c++23"5564#    endif5565#    if __cpp_lib_move_only_function != 202110L5566#      error "__cpp_lib_move_only_function should have the value 202110L in c++23"5567#    endif5568#  else5569#    ifdef __cpp_lib_move_only_function5570#      error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"5571#    endif5572#  endif5573 5574#  ifndef __cpp_lib_node_extract5575#    error "__cpp_lib_node_extract should be defined in c++23"5576#  endif5577#  if __cpp_lib_node_extract != 201606L5578#    error "__cpp_lib_node_extract should have the value 201606L in c++23"5579#  endif5580 5581#  ifndef __cpp_lib_nonmember_container_access5582#    error "__cpp_lib_nonmember_container_access should be defined in c++23"5583#  endif5584#  if __cpp_lib_nonmember_container_access != 201411L5585#    error "__cpp_lib_nonmember_container_access should have the value 201411L in c++23"5586#  endif5587 5588#  ifndef __cpp_lib_not_fn5589#    error "__cpp_lib_not_fn should be defined in c++23"5590#  endif5591#  if __cpp_lib_not_fn != 201603L5592#    error "__cpp_lib_not_fn should have the value 201603L in c++23"5593#  endif5594 5595#  ifndef __cpp_lib_null_iterators5596#    error "__cpp_lib_null_iterators should be defined in c++23"5597#  endif5598#  if __cpp_lib_null_iterators != 201304L5599#    error "__cpp_lib_null_iterators should have the value 201304L in c++23"5600#  endif5601 5602#  ifndef __cpp_lib_optional5603#    error "__cpp_lib_optional should be defined in c++23"5604#  endif5605#  if __cpp_lib_optional != 202110L5606#    error "__cpp_lib_optional should have the value 202110L in c++23"5607#  endif5608 5609#  ifdef __cpp_lib_optional_range_support5610#    error "__cpp_lib_optional_range_support should not be defined before c++26"5611#  endif5612 5613#  ifndef __cpp_lib_out_ptr5614#    error "__cpp_lib_out_ptr should be defined in c++23"5615#  endif5616#  if __cpp_lib_out_ptr != 202106L5617#    error "__cpp_lib_out_ptr should have the value 202106L in c++23"5618#  endif5619 5620#  if !defined(_LIBCPP_VERSION)5621#    ifndef __cpp_lib_parallel_algorithm5622#      error "__cpp_lib_parallel_algorithm should be defined in c++23"5623#    endif5624#    if __cpp_lib_parallel_algorithm != 201603L5625#      error "__cpp_lib_parallel_algorithm should have the value 201603L in c++23"5626#    endif5627#  else5628#    ifdef __cpp_lib_parallel_algorithm5629#      error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"5630#    endif5631#  endif5632 5633#  ifdef __cpp_lib_philox_engine5634#    error "__cpp_lib_philox_engine should not be defined before c++26"5635#  endif5636 5637#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR5638#    ifndef __cpp_lib_polymorphic_allocator5639#      error "__cpp_lib_polymorphic_allocator should be defined in c++23"5640#    endif5641#    if __cpp_lib_polymorphic_allocator != 201902L5642#      error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++23"5643#    endif5644#  else5645#    ifdef __cpp_lib_polymorphic_allocator5646#      error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"5647#    endif5648#  endif5649 5650#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT5651#    ifndef __cpp_lib_print5652#      error "__cpp_lib_print should be defined in c++23"5653#    endif5654#    if __cpp_lib_print != 202207L5655#      error "__cpp_lib_print should have the value 202207L in c++23"5656#    endif5657#  else5658#    ifdef __cpp_lib_print5659#      error "__cpp_lib_print should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT' is not met!"5660#    endif5661#  endif5662 5663#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION5664#    ifndef __cpp_lib_quoted_string_io5665#      error "__cpp_lib_quoted_string_io should be defined in c++23"5666#    endif5667#    if __cpp_lib_quoted_string_io != 201304L5668#      error "__cpp_lib_quoted_string_io should have the value 201304L in c++23"5669#    endif5670#  else5671#    ifdef __cpp_lib_quoted_string_io5672#      error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!"5673#    endif5674#  endif5675 5676#  ifndef __cpp_lib_ranges5677#    error "__cpp_lib_ranges should be defined in c++23"5678#  endif5679#  if __cpp_lib_ranges != 202406L5680#    error "__cpp_lib_ranges should have the value 202406L in c++23"5681#  endif5682 5683#  if !defined(_LIBCPP_VERSION)5684#    ifndef __cpp_lib_ranges_as_const5685#      error "__cpp_lib_ranges_as_const should be defined in c++23"5686#    endif5687#    if __cpp_lib_ranges_as_const != 202207L5688#      error "__cpp_lib_ranges_as_const should have the value 202207L in c++23"5689#    endif5690#  else5691#    ifdef __cpp_lib_ranges_as_const5692#      error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"5693#    endif5694#  endif5695 5696#  ifndef __cpp_lib_ranges_as_rvalue5697#    error "__cpp_lib_ranges_as_rvalue should be defined in c++23"5698#  endif5699#  if __cpp_lib_ranges_as_rvalue != 202207L5700#    error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++23"5701#  endif5702 5703#  if !defined(_LIBCPP_VERSION)5704#    ifndef __cpp_lib_ranges_chunk5705#      error "__cpp_lib_ranges_chunk should be defined in c++23"5706#    endif5707#    if __cpp_lib_ranges_chunk != 202202L5708#      error "__cpp_lib_ranges_chunk should have the value 202202L in c++23"5709#    endif5710#  else5711#    ifdef __cpp_lib_ranges_chunk5712#      error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"5713#    endif5714#  endif5715 5716#  ifndef __cpp_lib_ranges_chunk_by5717#    error "__cpp_lib_ranges_chunk_by should be defined in c++23"5718#  endif5719#  if __cpp_lib_ranges_chunk_by != 202202L5720#    error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++23"5721#  endif5722 5723#  ifdef __cpp_lib_ranges_concat5724#    error "__cpp_lib_ranges_concat should not be defined before c++26"5725#  endif5726 5727#  ifndef __cpp_lib_ranges_contains5728#    error "__cpp_lib_ranges_contains should be defined in c++23"5729#  endif5730#  if __cpp_lib_ranges_contains != 202207L5731#    error "__cpp_lib_ranges_contains should have the value 202207L in c++23"5732#  endif5733 5734#  ifndef __cpp_lib_ranges_find_last5735#    error "__cpp_lib_ranges_find_last should be defined in c++23"5736#  endif5737#  if __cpp_lib_ranges_find_last != 202207L5738#    error "__cpp_lib_ranges_find_last should have the value 202207L in c++23"5739#  endif5740 5741#  ifdef __cpp_lib_ranges_indices5742#    error "__cpp_lib_ranges_indices should not be defined before c++26"5743#  endif5744 5745#  ifndef __cpp_lib_ranges_iota5746#    error "__cpp_lib_ranges_iota should be defined in c++23"5747#  endif5748#  if __cpp_lib_ranges_iota != 202202L5749#    error "__cpp_lib_ranges_iota should have the value 202202L in c++23"5750#  endif5751 5752#  ifndef __cpp_lib_ranges_join_with5753#    error "__cpp_lib_ranges_join_with should be defined in c++23"5754#  endif5755#  if __cpp_lib_ranges_join_with != 202202L5756#    error "__cpp_lib_ranges_join_with should have the value 202202L in c++23"5757#  endif5758 5759#  ifndef __cpp_lib_ranges_repeat5760#    error "__cpp_lib_ranges_repeat should be defined in c++23"5761#  endif5762#  if __cpp_lib_ranges_repeat != 202207L5763#    error "__cpp_lib_ranges_repeat should have the value 202207L in c++23"5764#  endif5765 5766#  if !defined(_LIBCPP_VERSION)5767#    ifndef __cpp_lib_ranges_slide5768#      error "__cpp_lib_ranges_slide should be defined in c++23"5769#    endif5770#    if __cpp_lib_ranges_slide != 202202L5771#      error "__cpp_lib_ranges_slide should have the value 202202L in c++23"5772#    endif5773#  else5774#    ifdef __cpp_lib_ranges_slide5775#      error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"5776#    endif5777#  endif5778 5779#  ifndef __cpp_lib_ranges_starts_ends_with5780#    error "__cpp_lib_ranges_starts_ends_with should be defined in c++23"5781#  endif5782#  if __cpp_lib_ranges_starts_ends_with != 202106L5783#    error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++23"5784#  endif5785 5786#  ifndef __cpp_lib_ranges_to_container5787#    error "__cpp_lib_ranges_to_container should be defined in c++23"5788#  endif5789#  if __cpp_lib_ranges_to_container != 202202L5790#    error "__cpp_lib_ranges_to_container should have the value 202202L in c++23"5791#  endif5792 5793#  if !defined(_LIBCPP_VERSION)5794#    ifndef __cpp_lib_ranges_zip5795#      error "__cpp_lib_ranges_zip should be defined in c++23"5796#    endif5797#    if __cpp_lib_ranges_zip != 202110L5798#      error "__cpp_lib_ranges_zip should have the value 202110L in c++23"5799#    endif5800#  else5801#    ifdef __cpp_lib_ranges_zip5802#      error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"5803#    endif5804#  endif5805 5806#  ifdef __cpp_lib_ratio5807#    error "__cpp_lib_ratio should not be defined before c++26"5808#  endif5809 5810#  ifndef __cpp_lib_raw_memory_algorithms5811#    error "__cpp_lib_raw_memory_algorithms should be defined in c++23"5812#  endif5813#  if __cpp_lib_raw_memory_algorithms != 201606L5814#    error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++23"5815#  endif5816 5817#  ifdef __cpp_lib_rcu5818#    error "__cpp_lib_rcu should not be defined before c++26"5819#  endif5820 5821#  if !defined(_LIBCPP_VERSION)5822#    ifndef __cpp_lib_reference_from_temporary5823#      error "__cpp_lib_reference_from_temporary should be defined in c++23"5824#    endif5825#    if __cpp_lib_reference_from_temporary != 202202L5826#      error "__cpp_lib_reference_from_temporary should have the value 202202L in c++23"5827#    endif5828#  else5829#    ifdef __cpp_lib_reference_from_temporary5830#      error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"5831#    endif5832#  endif5833 5834#  ifdef __cpp_lib_reference_wrapper5835#    error "__cpp_lib_reference_wrapper should not be defined before c++26"5836#  endif5837 5838#  ifndef __cpp_lib_remove_cvref5839#    error "__cpp_lib_remove_cvref should be defined in c++23"5840#  endif5841#  if __cpp_lib_remove_cvref != 201711L5842#    error "__cpp_lib_remove_cvref should have the value 201711L in c++23"5843#  endif5844 5845#  ifndef __cpp_lib_result_of_sfinae5846#    error "__cpp_lib_result_of_sfinae should be defined in c++23"5847#  endif5848#  if __cpp_lib_result_of_sfinae != 201210L5849#    error "__cpp_lib_result_of_sfinae should have the value 201210L in c++23"5850#  endif5851 5852#  ifndef __cpp_lib_robust_nonmodifying_seq_ops5853#    error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++23"5854#  endif5855#  if __cpp_lib_robust_nonmodifying_seq_ops != 201304L5856#    error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++23"5857#  endif5858 5859#  ifndef __cpp_lib_sample5860#    error "__cpp_lib_sample should be defined in c++23"5861#  endif5862#  if __cpp_lib_sample != 201603L5863#    error "__cpp_lib_sample should have the value 201603L in c++23"5864#  endif5865 5866#  ifdef __cpp_lib_saturation_arithmetic5867#    error "__cpp_lib_saturation_arithmetic should not be defined before c++26"5868#  endif5869 5870#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS5871#    ifndef __cpp_lib_scoped_lock5872#      error "__cpp_lib_scoped_lock should be defined in c++23"5873#    endif5874#    if __cpp_lib_scoped_lock != 201703L5875#      error "__cpp_lib_scoped_lock should have the value 201703L in c++23"5876#    endif5877#  else5878#    ifdef __cpp_lib_scoped_lock5879#      error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"5880#    endif5881#  endif5882 5883#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS5884#    ifndef __cpp_lib_semaphore5885#      error "__cpp_lib_semaphore should be defined in c++23"5886#    endif5887#    if __cpp_lib_semaphore != 201907L5888#      error "__cpp_lib_semaphore should have the value 201907L in c++23"5889#    endif5890#  else5891#    ifdef __cpp_lib_semaphore5892#      error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"5893#    endif5894#  endif5895 5896#  ifdef __cpp_lib_senders5897#    error "__cpp_lib_senders should not be defined before c++26"5898#  endif5899 5900#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS5901#    ifndef __cpp_lib_shared_mutex5902#      error "__cpp_lib_shared_mutex should be defined in c++23"5903#    endif5904#    if __cpp_lib_shared_mutex != 201505L5905#      error "__cpp_lib_shared_mutex should have the value 201505L in c++23"5906#    endif5907#  else5908#    ifdef __cpp_lib_shared_mutex5909#      error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"5910#    endif5911#  endif5912 5913#  ifndef __cpp_lib_shared_ptr_arrays5914#    error "__cpp_lib_shared_ptr_arrays should be defined in c++23"5915#  endif5916#  if __cpp_lib_shared_ptr_arrays != 201707L5917#    error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++23"5918#  endif5919 5920#  ifndef __cpp_lib_shared_ptr_weak_type5921#    error "__cpp_lib_shared_ptr_weak_type should be defined in c++23"5922#  endif5923#  if __cpp_lib_shared_ptr_weak_type != 201606L5924#    error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++23"5925#  endif5926 5927#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS5928#    ifndef __cpp_lib_shared_timed_mutex5929#      error "__cpp_lib_shared_timed_mutex should be defined in c++23"5930#    endif5931#    if __cpp_lib_shared_timed_mutex != 201402L5932#      error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++23"5933#    endif5934#  else5935#    ifdef __cpp_lib_shared_timed_mutex5936#      error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"5937#    endif5938#  endif5939 5940#  ifndef __cpp_lib_shift5941#    error "__cpp_lib_shift should be defined in c++23"5942#  endif5943#  if __cpp_lib_shift != 201806L5944#    error "__cpp_lib_shift should have the value 201806L in c++23"5945#  endif5946 5947#  ifndef __cpp_lib_smart_ptr_for_overwrite5948#    error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++23"5949#  endif5950#  if __cpp_lib_smart_ptr_for_overwrite != 202002L5951#    error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++23"5952#  endif5953 5954#  ifdef __cpp_lib_smart_ptr_owner_equality5955#    error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26"5956#  endif5957 5958#  ifndef __cpp_lib_source_location5959#    error "__cpp_lib_source_location should be defined in c++23"5960#  endif5961#  if __cpp_lib_source_location != 201907L5962#    error "__cpp_lib_source_location should have the value 201907L in c++23"5963#  endif5964 5965#  ifndef __cpp_lib_span5966#    error "__cpp_lib_span should be defined in c++23"5967#  endif5968#  if __cpp_lib_span != 202002L5969#    error "__cpp_lib_span should have the value 202002L in c++23"5970#  endif5971 5972#  ifdef __cpp_lib_span_at5973#    error "__cpp_lib_span_at should not be defined before c++26"5974#  endif5975 5976#  ifdef __cpp_lib_span_initializer_list5977#    error "__cpp_lib_span_initializer_list should not be defined before c++26"5978#  endif5979 5980#  if !defined(_LIBCPP_VERSION)5981#    ifndef __cpp_lib_spanstream5982#      error "__cpp_lib_spanstream should be defined in c++23"5983#    endif5984#    if __cpp_lib_spanstream != 202106L5985#      error "__cpp_lib_spanstream should have the value 202106L in c++23"5986#    endif5987#  else5988#    ifdef __cpp_lib_spanstream5989#      error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"5990#    endif5991#  endif5992 5993#  ifndef __cpp_lib_ssize5994#    error "__cpp_lib_ssize should be defined in c++23"5995#  endif5996#  if __cpp_lib_ssize != 201902L5997#    error "__cpp_lib_ssize should have the value 201902L in c++23"5998#  endif5999 6000#  ifdef __cpp_lib_sstream_from_string_view6001#    error "__cpp_lib_sstream_from_string_view should not be defined before c++26"6002#  endif6003 6004#  if !defined(_LIBCPP_VERSION)6005#    ifndef __cpp_lib_stacktrace6006#      error "__cpp_lib_stacktrace should be defined in c++23"6007#    endif6008#    if __cpp_lib_stacktrace != 202011L6009#      error "__cpp_lib_stacktrace should have the value 202011L in c++23"6010#    endif6011#  else6012#    ifdef __cpp_lib_stacktrace6013#      error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"6014#    endif6015#  endif6016 6017#  ifndef __cpp_lib_starts_ends_with6018#    error "__cpp_lib_starts_ends_with should be defined in c++23"6019#  endif6020#  if __cpp_lib_starts_ends_with != 201711L6021#    error "__cpp_lib_starts_ends_with should have the value 201711L in c++23"6022#  endif6023 6024#  ifndef __cpp_lib_stdatomic_h6025#    error "__cpp_lib_stdatomic_h should be defined in c++23"6026#  endif6027#  if __cpp_lib_stdatomic_h != 202011L6028#    error "__cpp_lib_stdatomic_h should have the value 202011L in c++23"6029#  endif6030 6031#  ifndef __cpp_lib_string_contains6032#    error "__cpp_lib_string_contains should be defined in c++23"6033#  endif6034#  if __cpp_lib_string_contains != 202011L6035#    error "__cpp_lib_string_contains should have the value 202011L in c++23"6036#  endif6037 6038#  ifndef __cpp_lib_string_resize_and_overwrite6039#    error "__cpp_lib_string_resize_and_overwrite should be defined in c++23"6040#  endif6041#  if __cpp_lib_string_resize_and_overwrite != 202110L6042#    error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++23"6043#  endif6044 6045#  ifdef __cpp_lib_string_subview6046#    error "__cpp_lib_string_subview should not be defined before c++26"6047#  endif6048 6049#  ifndef __cpp_lib_string_udls6050#    error "__cpp_lib_string_udls should be defined in c++23"6051#  endif6052#  if __cpp_lib_string_udls != 201304L6053#    error "__cpp_lib_string_udls should have the value 201304L in c++23"6054#  endif6055 6056#  ifndef __cpp_lib_string_view6057#    error "__cpp_lib_string_view should be defined in c++23"6058#  endif6059#  if __cpp_lib_string_view != 201803L6060#    error "__cpp_lib_string_view should have the value 201803L in c++23"6061#  endif6062 6063#  ifdef __cpp_lib_submdspan6064#    error "__cpp_lib_submdspan should not be defined before c++26"6065#  endif6066 6067#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM6068#    ifndef __cpp_lib_syncbuf6069#      error "__cpp_lib_syncbuf should be defined in c++23"6070#    endif6071#    if __cpp_lib_syncbuf != 201803L6072#      error "__cpp_lib_syncbuf should have the value 201803L in c++23"6073#    endif6074#  else6075#    ifdef __cpp_lib_syncbuf6076#      error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM' is not met!"6077#    endif6078#  endif6079 6080#  ifdef __cpp_lib_text_encoding6081#    error "__cpp_lib_text_encoding should not be defined before c++26"6082#  endif6083 6084#  ifndef __cpp_lib_three_way_comparison6085#    error "__cpp_lib_three_way_comparison should be defined in c++23"6086#  endif6087#  if __cpp_lib_three_way_comparison != 201907L6088#    error "__cpp_lib_three_way_comparison should have the value 201907L in c++23"6089#  endif6090 6091#  ifndef __cpp_lib_to_address6092#    error "__cpp_lib_to_address should be defined in c++23"6093#  endif6094#  if __cpp_lib_to_address != 201711L6095#    error "__cpp_lib_to_address should have the value 201711L in c++23"6096#  endif6097 6098#  ifndef __cpp_lib_to_array6099#    error "__cpp_lib_to_array should be defined in c++23"6100#  endif6101#  if __cpp_lib_to_array != 201907L6102#    error "__cpp_lib_to_array should have the value 201907L in c++23"6103#  endif6104 6105#  if !defined(_LIBCPP_VERSION)6106#    ifndef __cpp_lib_to_chars6107#      error "__cpp_lib_to_chars should be defined in c++23"6108#    endif6109#    if __cpp_lib_to_chars != 201611L6110#      error "__cpp_lib_to_chars should have the value 201611L in c++23"6111#    endif6112#  else6113#    ifdef __cpp_lib_to_chars6114#      error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"6115#    endif6116#  endif6117 6118#  ifdef __cpp_lib_to_string6119#    error "__cpp_lib_to_string should not be defined before c++26"6120#  endif6121 6122#  ifndef __cpp_lib_to_underlying6123#    error "__cpp_lib_to_underlying should be defined in c++23"6124#  endif6125#  if __cpp_lib_to_underlying != 202102L6126#    error "__cpp_lib_to_underlying should have the value 202102L in c++23"6127#  endif6128 6129#  ifndef __cpp_lib_transformation_trait_aliases6130#    error "__cpp_lib_transformation_trait_aliases should be defined in c++23"6131#  endif6132#  if __cpp_lib_transformation_trait_aliases != 201304L6133#    error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++23"6134#  endif6135 6136#  ifndef __cpp_lib_transparent_operators6137#    error "__cpp_lib_transparent_operators should be defined in c++23"6138#  endif6139#  if __cpp_lib_transparent_operators != 201510L6140#    error "__cpp_lib_transparent_operators should have the value 201510L in c++23"6141#  endif6142 6143#  ifndef __cpp_lib_tuple_element_t6144#    error "__cpp_lib_tuple_element_t should be defined in c++23"6145#  endif6146#  if __cpp_lib_tuple_element_t != 201402L6147#    error "__cpp_lib_tuple_element_t should have the value 201402L in c++23"6148#  endif6149 6150#  if !defined(_LIBCPP_VERSION)6151#    ifndef __cpp_lib_tuple_like6152#      error "__cpp_lib_tuple_like should be defined in c++23"6153#    endif6154#    if __cpp_lib_tuple_like != 202207L6155#      error "__cpp_lib_tuple_like should have the value 202207L in c++23"6156#    endif6157#  else6158#    ifdef __cpp_lib_tuple_like6159#      error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"6160#    endif6161#  endif6162 6163#  ifndef __cpp_lib_tuples_by_type6164#    error "__cpp_lib_tuples_by_type should be defined in c++23"6165#  endif6166#  if __cpp_lib_tuples_by_type != 201304L6167#    error "__cpp_lib_tuples_by_type should have the value 201304L in c++23"6168#  endif6169 6170#  ifndef __cpp_lib_type_identity6171#    error "__cpp_lib_type_identity should be defined in c++23"6172#  endif6173#  if __cpp_lib_type_identity != 201806L6174#    error "__cpp_lib_type_identity should have the value 201806L in c++23"6175#  endif6176 6177#  ifndef __cpp_lib_type_trait_variable_templates6178#    error "__cpp_lib_type_trait_variable_templates should be defined in c++23"6179#  endif6180#  if __cpp_lib_type_trait_variable_templates != 201510L6181#    error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++23"6182#  endif6183 6184#  ifndef __cpp_lib_uncaught_exceptions6185#    error "__cpp_lib_uncaught_exceptions should be defined in c++23"6186#  endif6187#  if __cpp_lib_uncaught_exceptions != 201411L6188#    error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++23"6189#  endif6190 6191#  ifndef __cpp_lib_unordered_map_try_emplace6192#    error "__cpp_lib_unordered_map_try_emplace should be defined in c++23"6193#  endif6194#  if __cpp_lib_unordered_map_try_emplace != 201411L6195#    error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++23"6196#  endif6197 6198#  ifndef __cpp_lib_unreachable6199#    error "__cpp_lib_unreachable should be defined in c++23"6200#  endif6201#  if __cpp_lib_unreachable != 202202L6202#    error "__cpp_lib_unreachable should have the value 202202L in c++23"6203#  endif6204 6205#  ifndef __cpp_lib_unwrap_ref6206#    error "__cpp_lib_unwrap_ref should be defined in c++23"6207#  endif6208#  if __cpp_lib_unwrap_ref != 201811L6209#    error "__cpp_lib_unwrap_ref should have the value 201811L in c++23"6210#  endif6211 6212#  ifndef __cpp_lib_variant6213#    error "__cpp_lib_variant should be defined in c++23"6214#  endif6215#  if __cpp_lib_variant != 202106L6216#    error "__cpp_lib_variant should have the value 202106L in c++23"6217#  endif6218 6219#  ifndef __cpp_lib_void_t6220#    error "__cpp_lib_void_t should be defined in c++23"6221#  endif6222#  if __cpp_lib_void_t != 201411L6223#    error "__cpp_lib_void_t should have the value 201411L in c++23"6224#  endif6225 6226#elif TEST_STD_VER > 236227 6228#  ifndef __cpp_lib_adaptor_iterator_pair_constructor6229#    error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++26"6230#  endif6231#  if __cpp_lib_adaptor_iterator_pair_constructor != 202106L6232#    error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++26"6233#  endif6234 6235#  ifndef __cpp_lib_addressof_constexpr6236#    error "__cpp_lib_addressof_constexpr should be defined in c++26"6237#  endif6238#  if __cpp_lib_addressof_constexpr != 201603L6239#    error "__cpp_lib_addressof_constexpr should have the value 201603L in c++26"6240#  endif6241 6242#  ifndef __cpp_lib_aligned_accessor6243#    error "__cpp_lib_aligned_accessor should be defined in c++26"6244#  endif6245#  if __cpp_lib_aligned_accessor != 202411L6246#    error "__cpp_lib_aligned_accessor should have the value 202411L in c++26"6247#  endif6248 6249#  ifndef __cpp_lib_allocate_at_least6250#    error "__cpp_lib_allocate_at_least should be defined in c++26"6251#  endif6252#  if __cpp_lib_allocate_at_least != 202302L6253#    error "__cpp_lib_allocate_at_least should have the value 202302L in c++26"6254#  endif6255 6256#  ifndef __cpp_lib_allocator_traits_is_always_equal6257#    error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++26"6258#  endif6259#  if __cpp_lib_allocator_traits_is_always_equal != 201411L6260#    error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++26"6261#  endif6262 6263#  ifndef __cpp_lib_any6264#    error "__cpp_lib_any should be defined in c++26"6265#  endif6266#  if __cpp_lib_any != 201606L6267#    error "__cpp_lib_any should have the value 201606L in c++26"6268#  endif6269 6270#  ifndef __cpp_lib_apply6271#    error "__cpp_lib_apply should be defined in c++26"6272#  endif6273#  if __cpp_lib_apply != 201603L6274#    error "__cpp_lib_apply should have the value 201603L in c++26"6275#  endif6276 6277#  ifndef __cpp_lib_array_constexpr6278#    error "__cpp_lib_array_constexpr should be defined in c++26"6279#  endif6280#  if __cpp_lib_array_constexpr != 201811L6281#    error "__cpp_lib_array_constexpr should have the value 201811L in c++26"6282#  endif6283 6284#  ifndef __cpp_lib_as_const6285#    error "__cpp_lib_as_const should be defined in c++26"6286#  endif6287#  if __cpp_lib_as_const != 201510L6288#    error "__cpp_lib_as_const should have the value 201510L in c++26"6289#  endif6290 6291#  if !defined(_LIBCPP_VERSION)6292#    ifndef __cpp_lib_associative_heterogeneous_erasure6293#      error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++26"6294#    endif6295#    if __cpp_lib_associative_heterogeneous_erasure != 202110L6296#      error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++26"6297#    endif6298#  else6299#    ifdef __cpp_lib_associative_heterogeneous_erasure6300#      error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"6301#    endif6302#  endif6303 6304#  if !defined(_LIBCPP_VERSION)6305#    ifndef __cpp_lib_associative_heterogeneous_insertion6306#      error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26"6307#    endif6308#    if __cpp_lib_associative_heterogeneous_insertion != 202306L6309#      error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26"6310#    endif6311#  else6312#    ifdef __cpp_lib_associative_heterogeneous_insertion6313#      error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!"6314#    endif6315#  endif6316 6317#  ifndef __cpp_lib_assume_aligned6318#    error "__cpp_lib_assume_aligned should be defined in c++26"6319#  endif6320#  if __cpp_lib_assume_aligned != 201811L6321#    error "__cpp_lib_assume_aligned should have the value 201811L in c++26"6322#  endif6323 6324#  ifndef __cpp_lib_atomic_flag_test6325#    error "__cpp_lib_atomic_flag_test should be defined in c++26"6326#  endif6327#  if __cpp_lib_atomic_flag_test != 201907L6328#    error "__cpp_lib_atomic_flag_test should have the value 201907L in c++26"6329#  endif6330 6331#  ifndef __cpp_lib_atomic_float6332#    error "__cpp_lib_atomic_float should be defined in c++26"6333#  endif6334#  if __cpp_lib_atomic_float != 201711L6335#    error "__cpp_lib_atomic_float should have the value 201711L in c++26"6336#  endif6337 6338#  ifndef __cpp_lib_atomic_is_always_lock_free6339#    error "__cpp_lib_atomic_is_always_lock_free should be defined in c++26"6340#  endif6341#  if __cpp_lib_atomic_is_always_lock_free != 201603L6342#    error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++26"6343#  endif6344 6345#  ifndef __cpp_lib_atomic_lock_free_type_aliases6346#    error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++26"6347#  endif6348#  if __cpp_lib_atomic_lock_free_type_aliases != 201907L6349#    error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++26"6350#  endif6351 6352#  if !defined(_LIBCPP_VERSION)6353#    ifndef __cpp_lib_atomic_min_max6354#      error "__cpp_lib_atomic_min_max should be defined in c++26"6355#    endif6356#    if __cpp_lib_atomic_min_max != 202403L6357#      error "__cpp_lib_atomic_min_max should have the value 202403L in c++26"6358#    endif6359#  else6360#    ifdef __cpp_lib_atomic_min_max6361#      error "__cpp_lib_atomic_min_max should not be defined because it is unimplemented in libc++!"6362#    endif6363#  endif6364 6365#  ifndef __cpp_lib_atomic_ref6366#    error "__cpp_lib_atomic_ref should be defined in c++26"6367#  endif6368#  if __cpp_lib_atomic_ref != 202411L6369#    error "__cpp_lib_atomic_ref should have the value 202411L in c++26"6370#  endif6371 6372#  if !defined(_LIBCPP_VERSION)6373#    ifndef __cpp_lib_atomic_shared_ptr6374#      error "__cpp_lib_atomic_shared_ptr should be defined in c++26"6375#    endif6376#    if __cpp_lib_atomic_shared_ptr != 201711L6377#      error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++26"6378#    endif6379#  else6380#    ifdef __cpp_lib_atomic_shared_ptr6381#      error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"6382#    endif6383#  endif6384 6385#  ifndef __cpp_lib_atomic_value_initialization6386#    error "__cpp_lib_atomic_value_initialization should be defined in c++26"6387#  endif6388#  if __cpp_lib_atomic_value_initialization != 201911L6389#    error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++26"6390#  endif6391 6392#  ifndef __cpp_lib_atomic_wait6393#    error "__cpp_lib_atomic_wait should be defined in c++26"6394#  endif6395#  if __cpp_lib_atomic_wait != 201907L6396#    error "__cpp_lib_atomic_wait should have the value 201907L in c++26"6397#  endif6398 6399#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS6400#    ifndef __cpp_lib_barrier6401#      error "__cpp_lib_barrier should be defined in c++26"6402#    endif6403#    if __cpp_lib_barrier != 201907L6404#      error "__cpp_lib_barrier should have the value 201907L in c++26"6405#    endif6406#  else6407#    ifdef __cpp_lib_barrier6408#      error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"6409#    endif6410#  endif6411 6412#  ifndef __cpp_lib_bind_back6413#    error "__cpp_lib_bind_back should be defined in c++26"6414#  endif6415#  if __cpp_lib_bind_back != 202202L6416#    error "__cpp_lib_bind_back should have the value 202202L in c++26"6417#  endif6418 6419#  ifndef __cpp_lib_bind_front6420#    error "__cpp_lib_bind_front should be defined in c++26"6421#  endif6422#  if __cpp_lib_bind_front != 202306L6423#    error "__cpp_lib_bind_front should have the value 202306L in c++26"6424#  endif6425 6426#  ifndef __cpp_lib_bit_cast6427#    error "__cpp_lib_bit_cast should be defined in c++26"6428#  endif6429#  if __cpp_lib_bit_cast != 201806L6430#    error "__cpp_lib_bit_cast should have the value 201806L in c++26"6431#  endif6432 6433#  ifndef __cpp_lib_bitops6434#    error "__cpp_lib_bitops should be defined in c++26"6435#  endif6436#  if __cpp_lib_bitops != 201907L6437#    error "__cpp_lib_bitops should have the value 201907L in c++26"6438#  endif6439 6440#  ifndef __cpp_lib_bitset6441#    error "__cpp_lib_bitset should be defined in c++26"6442#  endif6443#  if __cpp_lib_bitset != 202306L6444#    error "__cpp_lib_bitset should have the value 202306L in c++26"6445#  endif6446 6447#  ifndef __cpp_lib_bool_constant6448#    error "__cpp_lib_bool_constant should be defined in c++26"6449#  endif6450#  if __cpp_lib_bool_constant != 201505L6451#    error "__cpp_lib_bool_constant should have the value 201505L in c++26"6452#  endif6453 6454#  ifndef __cpp_lib_bounded_array_traits6455#    error "__cpp_lib_bounded_array_traits should be defined in c++26"6456#  endif6457#  if __cpp_lib_bounded_array_traits != 201902L6458#    error "__cpp_lib_bounded_array_traits should have the value 201902L in c++26"6459#  endif6460 6461#  ifndef __cpp_lib_boyer_moore_searcher6462#    error "__cpp_lib_boyer_moore_searcher should be defined in c++26"6463#  endif6464#  if __cpp_lib_boyer_moore_searcher != 201603L6465#    error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++26"6466#  endif6467 6468#  ifndef __cpp_lib_byte6469#    error "__cpp_lib_byte should be defined in c++26"6470#  endif6471#  if __cpp_lib_byte != 201603L6472#    error "__cpp_lib_byte should have the value 201603L in c++26"6473#  endif6474 6475#  ifndef __cpp_lib_byteswap6476#    error "__cpp_lib_byteswap should be defined in c++26"6477#  endif6478#  if __cpp_lib_byteswap != 202110L6479#    error "__cpp_lib_byteswap should have the value 202110L in c++26"6480#  endif6481 6482#  if defined(__cpp_char8_t)6483#    ifndef __cpp_lib_char8_t6484#      error "__cpp_lib_char8_t should be defined in c++26"6485#    endif6486#    if __cpp_lib_char8_t != 201907L6487#      error "__cpp_lib_char8_t should have the value 201907L in c++26"6488#    endif6489#  else6490#    ifdef __cpp_lib_char8_t6491#      error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"6492#    endif6493#  endif6494 6495#  ifndef __cpp_lib_chrono6496#    error "__cpp_lib_chrono should be defined in c++26"6497#  endif6498#  if __cpp_lib_chrono != 201611L6499#    error "__cpp_lib_chrono should have the value 201611L in c++26"6500#  endif6501 6502#  ifndef __cpp_lib_chrono_udls6503#    error "__cpp_lib_chrono_udls should be defined in c++26"6504#  endif6505#  if __cpp_lib_chrono_udls != 201304L6506#    error "__cpp_lib_chrono_udls should have the value 201304L in c++26"6507#  endif6508 6509#  ifndef __cpp_lib_clamp6510#    error "__cpp_lib_clamp should be defined in c++26"6511#  endif6512#  if __cpp_lib_clamp != 201603L6513#    error "__cpp_lib_clamp should have the value 201603L in c++26"6514#  endif6515 6516#  ifndef __cpp_lib_common_reference6517#    error "__cpp_lib_common_reference should be defined in c++26"6518#  endif6519#  if __cpp_lib_common_reference != 202302L6520#    error "__cpp_lib_common_reference should have the value 202302L in c++26"6521#  endif6522 6523#  ifndef __cpp_lib_common_reference_wrapper6524#    error "__cpp_lib_common_reference_wrapper should be defined in c++26"6525#  endif6526#  if __cpp_lib_common_reference_wrapper != 202302L6527#    error "__cpp_lib_common_reference_wrapper should have the value 202302L in c++26"6528#  endif6529 6530#  ifndef __cpp_lib_complex_udls6531#    error "__cpp_lib_complex_udls should be defined in c++26"6532#  endif6533#  if __cpp_lib_complex_udls != 201309L6534#    error "__cpp_lib_complex_udls should have the value 201309L in c++26"6535#  endif6536 6537#  ifndef __cpp_lib_concepts6538#    error "__cpp_lib_concepts should be defined in c++26"6539#  endif6540#  if __cpp_lib_concepts != 202002L6541#    error "__cpp_lib_concepts should have the value 202002L in c++26"6542#  endif6543 6544#  ifndef __cpp_lib_constexpr_algorithms6545#    error "__cpp_lib_constexpr_algorithms should be defined in c++26"6546#  endif6547#  if __cpp_lib_constexpr_algorithms != 202306L6548#    error "__cpp_lib_constexpr_algorithms should have the value 202306L in c++26"6549#  endif6550 6551#  ifndef __cpp_lib_constexpr_bitset6552#    error "__cpp_lib_constexpr_bitset should be defined in c++26"6553#  endif6554#  if __cpp_lib_constexpr_bitset != 202207L6555#    error "__cpp_lib_constexpr_bitset should have the value 202207L in c++26"6556#  endif6557 6558#  ifndef __cpp_lib_constexpr_charconv6559#    error "__cpp_lib_constexpr_charconv should be defined in c++26"6560#  endif6561#  if __cpp_lib_constexpr_charconv != 202207L6562#    error "__cpp_lib_constexpr_charconv should have the value 202207L in c++26"6563#  endif6564 6565#  if !defined(_LIBCPP_VERSION)6566#    ifndef __cpp_lib_constexpr_cmath6567#      error "__cpp_lib_constexpr_cmath should be defined in c++26"6568#    endif6569#    if __cpp_lib_constexpr_cmath != 202202L6570#      error "__cpp_lib_constexpr_cmath should have the value 202202L in c++26"6571#    endif6572#  else6573#    ifdef __cpp_lib_constexpr_cmath6574#      error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"6575#    endif6576#  endif6577 6578#  ifndef __cpp_lib_constexpr_complex6579#    error "__cpp_lib_constexpr_complex should be defined in c++26"6580#  endif6581#  if __cpp_lib_constexpr_complex != 201711L6582#    error "__cpp_lib_constexpr_complex should have the value 201711L in c++26"6583#  endif6584 6585#  ifndef __cpp_lib_constexpr_dynamic_alloc6586#    error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++26"6587#  endif6588#  if __cpp_lib_constexpr_dynamic_alloc != 201907L6589#    error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++26"6590#  endif6591 6592#  ifndef __cpp_lib_constexpr_flat_map6593#    error "__cpp_lib_constexpr_flat_map should be defined in c++26"6594#  endif6595#  if __cpp_lib_constexpr_flat_map != 202502L6596#    error "__cpp_lib_constexpr_flat_map should have the value 202502L in c++26"6597#  endif6598 6599#  ifndef __cpp_lib_constexpr_flat_set6600#    error "__cpp_lib_constexpr_flat_set should be defined in c++26"6601#  endif6602#  if __cpp_lib_constexpr_flat_set != 202502L6603#    error "__cpp_lib_constexpr_flat_set should have the value 202502L in c++26"6604#  endif6605 6606#  ifndef __cpp_lib_constexpr_forward_list6607#    error "__cpp_lib_constexpr_forward_list should be defined in c++26"6608#  endif6609#  if __cpp_lib_constexpr_forward_list != 202502L6610#    error "__cpp_lib_constexpr_forward_list should have the value 202502L in c++26"6611#  endif6612 6613#  ifndef __cpp_lib_constexpr_functional6614#    error "__cpp_lib_constexpr_functional should be defined in c++26"6615#  endif6616#  if __cpp_lib_constexpr_functional != 201907L6617#    error "__cpp_lib_constexpr_functional should have the value 201907L in c++26"6618#  endif6619 6620#  ifndef __cpp_lib_constexpr_iterator6621#    error "__cpp_lib_constexpr_iterator should be defined in c++26"6622#  endif6623#  if __cpp_lib_constexpr_iterator != 201811L6624#    error "__cpp_lib_constexpr_iterator should have the value 201811L in c++26"6625#  endif6626 6627#  ifndef __cpp_lib_constexpr_list6628#    error "__cpp_lib_constexpr_list should be defined in c++26"6629#  endif6630#  if __cpp_lib_constexpr_list != 202502L6631#    error "__cpp_lib_constexpr_list should have the value 202502L in c++26"6632#  endif6633 6634#  ifndef __cpp_lib_constexpr_memory6635#    error "__cpp_lib_constexpr_memory should be defined in c++26"6636#  endif6637#  if __cpp_lib_constexpr_memory != 202202L6638#    error "__cpp_lib_constexpr_memory should have the value 202202L in c++26"6639#  endif6640 6641#  if !defined(_LIBCPP_ABI_VCRUNTIME)6642#    ifndef __cpp_lib_constexpr_new6643#      error "__cpp_lib_constexpr_new should be defined in c++26"6644#    endif6645#    if __cpp_lib_constexpr_new != 202406L6646#      error "__cpp_lib_constexpr_new should have the value 202406L in c++26"6647#    endif6648#  else6649#    ifdef __cpp_lib_constexpr_new6650#      error "__cpp_lib_constexpr_new should not be defined when the requirement '!defined(_LIBCPP_ABI_VCRUNTIME)' is not met!"6651#    endif6652#  endif6653 6654#  ifndef __cpp_lib_constexpr_numeric6655#    error "__cpp_lib_constexpr_numeric should be defined in c++26"6656#  endif6657#  if __cpp_lib_constexpr_numeric != 201911L6658#    error "__cpp_lib_constexpr_numeric should have the value 201911L in c++26"6659#  endif6660 6661#  ifndef __cpp_lib_constexpr_queue6662#    error "__cpp_lib_constexpr_queue should be defined in c++26"6663#  endif6664#  if __cpp_lib_constexpr_queue != 202502L6665#    error "__cpp_lib_constexpr_queue should have the value 202502L in c++26"6666#  endif6667 6668#  ifndef __cpp_lib_constexpr_string6669#    error "__cpp_lib_constexpr_string should be defined in c++26"6670#  endif6671#  if __cpp_lib_constexpr_string != 201907L6672#    error "__cpp_lib_constexpr_string should have the value 201907L in c++26"6673#  endif6674 6675#  ifndef __cpp_lib_constexpr_string_view6676#    error "__cpp_lib_constexpr_string_view should be defined in c++26"6677#  endif6678#  if __cpp_lib_constexpr_string_view != 201811L6679#    error "__cpp_lib_constexpr_string_view should have the value 201811L in c++26"6680#  endif6681 6682#  ifndef __cpp_lib_constexpr_tuple6683#    error "__cpp_lib_constexpr_tuple should be defined in c++26"6684#  endif6685#  if __cpp_lib_constexpr_tuple != 201811L6686#    error "__cpp_lib_constexpr_tuple should have the value 201811L in c++26"6687#  endif6688 6689#  ifndef __cpp_lib_constexpr_typeinfo6690#    error "__cpp_lib_constexpr_typeinfo should be defined in c++26"6691#  endif6692#  if __cpp_lib_constexpr_typeinfo != 202106L6693#    error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++26"6694#  endif6695 6696#  ifndef __cpp_lib_constexpr_utility6697#    error "__cpp_lib_constexpr_utility should be defined in c++26"6698#  endif6699#  if __cpp_lib_constexpr_utility != 201811L6700#    error "__cpp_lib_constexpr_utility should have the value 201811L in c++26"6701#  endif6702 6703#  ifndef __cpp_lib_constexpr_vector6704#    error "__cpp_lib_constexpr_vector should be defined in c++26"6705#  endif6706#  if __cpp_lib_constexpr_vector != 201907L6707#    error "__cpp_lib_constexpr_vector should have the value 201907L in c++26"6708#  endif6709 6710#  ifndef __cpp_lib_constrained_equality6711#    error "__cpp_lib_constrained_equality should be defined in c++26"6712#  endif6713#  if __cpp_lib_constrained_equality != 202411L6714#    error "__cpp_lib_constrained_equality should have the value 202411L in c++26"6715#  endif6716 6717#  ifndef __cpp_lib_containers_ranges6718#    error "__cpp_lib_containers_ranges should be defined in c++26"6719#  endif6720#  if __cpp_lib_containers_ranges != 202202L6721#    error "__cpp_lib_containers_ranges should have the value 202202L in c++26"6722#  endif6723 6724#  if !defined(_LIBCPP_VERSION)6725#    ifndef __cpp_lib_copyable_function6726#      error "__cpp_lib_copyable_function should be defined in c++26"6727#    endif6728#    if __cpp_lib_copyable_function != 202306L6729#      error "__cpp_lib_copyable_function should have the value 202306L in c++26"6730#    endif6731#  else6732#    ifdef __cpp_lib_copyable_function6733#      error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!"6734#    endif6735#  endif6736 6737#  ifndef __cpp_lib_coroutine6738#    error "__cpp_lib_coroutine should be defined in c++26"6739#  endif6740#  if __cpp_lib_coroutine != 201902L6741#    error "__cpp_lib_coroutine should have the value 201902L in c++26"6742#  endif6743 6744#  if !defined(_LIBCPP_VERSION)6745#    ifndef __cpp_lib_debugging6746#      error "__cpp_lib_debugging should be defined in c++26"6747#    endif6748#    if __cpp_lib_debugging != 202311L6749#      error "__cpp_lib_debugging should have the value 202311L in c++26"6750#    endif6751#  else6752#    ifdef __cpp_lib_debugging6753#      error "__cpp_lib_debugging should not be defined because it is unimplemented in libc++!"6754#    endif6755#  endif6756 6757#  if !defined(_LIBCPP_VERSION)6758#    ifndef __cpp_lib_default_template_type_for_algorithm_values6759#      error "__cpp_lib_default_template_type_for_algorithm_values should be defined in c++26"6760#    endif6761#    if __cpp_lib_default_template_type_for_algorithm_values != 202403L6762#      error "__cpp_lib_default_template_type_for_algorithm_values should have the value 202403L in c++26"6763#    endif6764#  else6765#    ifdef __cpp_lib_default_template_type_for_algorithm_values6766#      error "__cpp_lib_default_template_type_for_algorithm_values should not be defined because it is unimplemented in libc++!"6767#    endif6768#  endif6769 6770#  if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L6771#    ifndef __cpp_lib_destroying_delete6772#      error "__cpp_lib_destroying_delete should be defined in c++26"6773#    endif6774#    if __cpp_lib_destroying_delete != 201806L6775#      error "__cpp_lib_destroying_delete should have the value 201806L in c++26"6776#    endif6777#  else6778#    ifdef __cpp_lib_destroying_delete6779#      error "__cpp_lib_destroying_delete should not be defined when the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"6780#    endif6781#  endif6782 6783#  ifndef __cpp_lib_enable_shared_from_this6784#    error "__cpp_lib_enable_shared_from_this should be defined in c++26"6785#  endif6786#  if __cpp_lib_enable_shared_from_this != 201603L6787#    error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++26"6788#  endif6789 6790#  ifndef __cpp_lib_endian6791#    error "__cpp_lib_endian should be defined in c++26"6792#  endif6793#  if __cpp_lib_endian != 201907L6794#    error "__cpp_lib_endian should have the value 201907L in c++26"6795#  endif6796 6797#  ifndef __cpp_lib_erase_if6798#    error "__cpp_lib_erase_if should be defined in c++26"6799#  endif6800#  if __cpp_lib_erase_if != 202002L6801#    error "__cpp_lib_erase_if should have the value 202002L in c++26"6802#  endif6803 6804#  ifndef __cpp_lib_exchange_function6805#    error "__cpp_lib_exchange_function should be defined in c++26"6806#  endif6807#  if __cpp_lib_exchange_function != 201304L6808#    error "__cpp_lib_exchange_function should have the value 201304L in c++26"6809#  endif6810 6811#  if !defined(_LIBCPP_VERSION)6812#    ifndef __cpp_lib_execution6813#      error "__cpp_lib_execution should be defined in c++26"6814#    endif6815#    if __cpp_lib_execution != 201902L6816#      error "__cpp_lib_execution should have the value 201902L in c++26"6817#    endif6818#  else6819#    ifdef __cpp_lib_execution6820#      error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"6821#    endif6822#  endif6823 6824#  ifndef __cpp_lib_expected6825#    error "__cpp_lib_expected should be defined in c++26"6826#  endif6827#  if __cpp_lib_expected != 202211L6828#    error "__cpp_lib_expected should have the value 202211L in c++26"6829#  endif6830 6831#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM6832#    ifndef __cpp_lib_filesystem6833#      error "__cpp_lib_filesystem should be defined in c++26"6834#    endif6835#    if __cpp_lib_filesystem != 201703L6836#      error "__cpp_lib_filesystem should have the value 201703L in c++26"6837#    endif6838#  else6839#    ifdef __cpp_lib_filesystem6840#      error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_FILESYSTEM' is not met!"6841#    endif6842#  endif6843 6844#  ifndef __cpp_lib_flat_map6845#    error "__cpp_lib_flat_map should be defined in c++26"6846#  endif6847#  if __cpp_lib_flat_map != 202207L6848#    error "__cpp_lib_flat_map should have the value 202207L in c++26"6849#  endif6850 6851#  ifndef __cpp_lib_flat_set6852#    error "__cpp_lib_flat_set should be defined in c++26"6853#  endif6854#  if __cpp_lib_flat_set != 202207L6855#    error "__cpp_lib_flat_set should have the value 202207L in c++26"6856#  endif6857 6858#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT6859#    ifndef __cpp_lib_format6860#      error "__cpp_lib_format should be defined in c++26"6861#    endif6862#    if __cpp_lib_format != 202110L6863#      error "__cpp_lib_format should have the value 202110L in c++26"6864#    endif6865#  else6866#    ifdef __cpp_lib_format6867#      error "__cpp_lib_format should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT' is not met!"6868#    endif6869#  endif6870 6871#  if !defined(_LIBCPP_VERSION)6872#    ifndef __cpp_lib_format_path6873#      error "__cpp_lib_format_path should be defined in c++26"6874#    endif6875#    if __cpp_lib_format_path != 202403L6876#      error "__cpp_lib_format_path should have the value 202403L in c++26"6877#    endif6878#  else6879#    ifdef __cpp_lib_format_path6880#      error "__cpp_lib_format_path should not be defined because it is unimplemented in libc++!"6881#    endif6882#  endif6883 6884#  ifndef __cpp_lib_format_ranges6885#    error "__cpp_lib_format_ranges should be defined in c++26"6886#  endif6887#  if __cpp_lib_format_ranges != 202207L6888#    error "__cpp_lib_format_ranges should have the value 202207L in c++26"6889#  endif6890 6891#  ifndef __cpp_lib_format_uchar6892#    error "__cpp_lib_format_uchar should be defined in c++26"6893#  endif6894#  if __cpp_lib_format_uchar != 202311L6895#    error "__cpp_lib_format_uchar should have the value 202311L in c++26"6896#  endif6897 6898#  if !defined(_LIBCPP_VERSION)6899#    ifndef __cpp_lib_formatters6900#      error "__cpp_lib_formatters should be defined in c++26"6901#    endif6902#    if __cpp_lib_formatters != 202302L6903#      error "__cpp_lib_formatters should have the value 202302L in c++26"6904#    endif6905#  else6906#    ifdef __cpp_lib_formatters6907#      error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!"6908#    endif6909#  endif6910 6911#  ifndef __cpp_lib_forward_like6912#    error "__cpp_lib_forward_like should be defined in c++26"6913#  endif6914#  if __cpp_lib_forward_like != 202207L6915#    error "__cpp_lib_forward_like should have the value 202207L in c++26"6916#  endif6917 6918#  if !defined(_LIBCPP_VERSION)6919#    ifndef __cpp_lib_freestanding_algorithm6920#      error "__cpp_lib_freestanding_algorithm should be defined in c++26"6921#    endif6922#    if __cpp_lib_freestanding_algorithm != 202311L6923#      error "__cpp_lib_freestanding_algorithm should have the value 202311L in c++26"6924#    endif6925#  else6926#    ifdef __cpp_lib_freestanding_algorithm6927#      error "__cpp_lib_freestanding_algorithm should not be defined because it is unimplemented in libc++!"6928#    endif6929#  endif6930 6931#  if !defined(_LIBCPP_VERSION)6932#    ifndef __cpp_lib_freestanding_array6933#      error "__cpp_lib_freestanding_array should be defined in c++26"6934#    endif6935#    if __cpp_lib_freestanding_array != 202311L6936#      error "__cpp_lib_freestanding_array should have the value 202311L in c++26"6937#    endif6938#  else6939#    ifdef __cpp_lib_freestanding_array6940#      error "__cpp_lib_freestanding_array should not be defined because it is unimplemented in libc++!"6941#    endif6942#  endif6943 6944#  if !defined(_LIBCPP_VERSION)6945#    ifndef __cpp_lib_freestanding_cstring6946#      error "__cpp_lib_freestanding_cstring should be defined in c++26"6947#    endif6948#    if __cpp_lib_freestanding_cstring != 202306L6949#      error "__cpp_lib_freestanding_cstring should have the value 202306L in c++26"6950#    endif6951#  else6952#    ifdef __cpp_lib_freestanding_cstring6953#      error "__cpp_lib_freestanding_cstring should not be defined because it is unimplemented in libc++!"6954#    endif6955#  endif6956 6957#  if !defined(_LIBCPP_VERSION)6958#    ifndef __cpp_lib_freestanding_expected6959#      error "__cpp_lib_freestanding_expected should be defined in c++26"6960#    endif6961#    if __cpp_lib_freestanding_expected != 202311L6962#      error "__cpp_lib_freestanding_expected should have the value 202311L in c++26"6963#    endif6964#  else6965#    ifdef __cpp_lib_freestanding_expected6966#      error "__cpp_lib_freestanding_expected should not be defined because it is unimplemented in libc++!"6967#    endif6968#  endif6969 6970#  if !defined(_LIBCPP_VERSION)6971#    ifndef __cpp_lib_freestanding_mdspan6972#      error "__cpp_lib_freestanding_mdspan should be defined in c++26"6973#    endif6974#    if __cpp_lib_freestanding_mdspan != 202311L6975#      error "__cpp_lib_freestanding_mdspan should have the value 202311L in c++26"6976#    endif6977#  else6978#    ifdef __cpp_lib_freestanding_mdspan6979#      error "__cpp_lib_freestanding_mdspan should not be defined because it is unimplemented in libc++!"6980#    endif6981#  endif6982 6983#  if !defined(_LIBCPP_VERSION)6984#    ifndef __cpp_lib_freestanding_optional6985#      error "__cpp_lib_freestanding_optional should be defined in c++26"6986#    endif6987#    if __cpp_lib_freestanding_optional != 202311L6988#      error "__cpp_lib_freestanding_optional should have the value 202311L in c++26"6989#    endif6990#  else6991#    ifdef __cpp_lib_freestanding_optional6992#      error "__cpp_lib_freestanding_optional should not be defined because it is unimplemented in libc++!"6993#    endif6994#  endif6995 6996#  if !defined(_LIBCPP_VERSION)6997#    ifndef __cpp_lib_freestanding_string_view6998#      error "__cpp_lib_freestanding_string_view should be defined in c++26"6999#    endif7000#    if __cpp_lib_freestanding_string_view != 202311L7001#      error "__cpp_lib_freestanding_string_view should have the value 202311L in c++26"7002#    endif7003#  else7004#    ifdef __cpp_lib_freestanding_string_view7005#      error "__cpp_lib_freestanding_string_view should not be defined because it is unimplemented in libc++!"7006#    endif7007#  endif7008 7009#  if !defined(_LIBCPP_VERSION)7010#    ifndef __cpp_lib_freestanding_variant7011#      error "__cpp_lib_freestanding_variant should be defined in c++26"7012#    endif7013#    if __cpp_lib_freestanding_variant != 202311L7014#      error "__cpp_lib_freestanding_variant should have the value 202311L in c++26"7015#    endif7016#  else7017#    ifdef __cpp_lib_freestanding_variant7018#      error "__cpp_lib_freestanding_variant should not be defined because it is unimplemented in libc++!"7019#    endif7020#  endif7021 7022#  if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION)7023#    ifndef __cpp_lib_fstream_native_handle7024#      error "__cpp_lib_fstream_native_handle should be defined in c++26"7025#    endif7026#    if __cpp_lib_fstream_native_handle != 202306L7027#      error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26"7028#    endif7029#  else7030#    ifdef __cpp_lib_fstream_native_handle7031#      error "__cpp_lib_fstream_native_handle should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION)' is not met!"7032#    endif7033#  endif7034 7035#  if !defined(_LIBCPP_VERSION)7036#    ifndef __cpp_lib_function_ref7037#      error "__cpp_lib_function_ref should be defined in c++26"7038#    endif7039#    if __cpp_lib_function_ref != 202306L7040#      error "__cpp_lib_function_ref should have the value 202306L in c++26"7041#    endif7042#  else7043#    ifdef __cpp_lib_function_ref7044#      error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!"7045#    endif7046#  endif7047 7048#  ifndef __cpp_lib_gcd_lcm7049#    error "__cpp_lib_gcd_lcm should be defined in c++26"7050#  endif7051#  if __cpp_lib_gcd_lcm != 201606L7052#    error "__cpp_lib_gcd_lcm should have the value 201606L in c++26"7053#  endif7054 7055#  if !defined(_LIBCPP_VERSION)7056#    ifndef __cpp_lib_generate_random7057#      error "__cpp_lib_generate_random should be defined in c++26"7058#    endif7059#    if __cpp_lib_generate_random != 202403L7060#      error "__cpp_lib_generate_random should have the value 202403L in c++26"7061#    endif7062#  else7063#    ifdef __cpp_lib_generate_random7064#      error "__cpp_lib_generate_random should not be defined because it is unimplemented in libc++!"7065#    endif7066#  endif7067 7068#  ifndef __cpp_lib_generic_associative_lookup7069#    error "__cpp_lib_generic_associative_lookup should be defined in c++26"7070#  endif7071#  if __cpp_lib_generic_associative_lookup != 201304L7072#    error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++26"7073#  endif7074 7075#  ifndef __cpp_lib_generic_unordered_lookup7076#    error "__cpp_lib_generic_unordered_lookup should be defined in c++26"7077#  endif7078#  if __cpp_lib_generic_unordered_lookup != 201811L7079#    error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++26"7080#  endif7081 7082#  if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))7083#    ifndef __cpp_lib_hardware_interference_size7084#      error "__cpp_lib_hardware_interference_size should be defined in c++26"7085#    endif7086#    if __cpp_lib_hardware_interference_size != 201703L7087#      error "__cpp_lib_hardware_interference_size should have the value 201703L in c++26"7088#    endif7089#  else7090#    ifdef __cpp_lib_hardware_interference_size7091#      error "__cpp_lib_hardware_interference_size should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE))' is not met!"7092#    endif7093#  endif7094 7095#  ifndef __cpp_lib_has_unique_object_representations7096#    error "__cpp_lib_has_unique_object_representations should be defined in c++26"7097#  endif7098#  if __cpp_lib_has_unique_object_representations != 201606L7099#    error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++26"7100#  endif7101 7102#  if !defined(_LIBCPP_VERSION)7103#    ifndef __cpp_lib_hazard_pointer7104#      error "__cpp_lib_hazard_pointer should be defined in c++26"7105#    endif7106#    if __cpp_lib_hazard_pointer != 202306L7107#      error "__cpp_lib_hazard_pointer should have the value 202306L in c++26"7108#    endif7109#  else7110#    ifdef __cpp_lib_hazard_pointer7111#      error "__cpp_lib_hazard_pointer should not be defined because it is unimplemented in libc++!"7112#    endif7113#  endif7114 7115#  ifndef __cpp_lib_hypot7116#    error "__cpp_lib_hypot should be defined in c++26"7117#  endif7118#  if __cpp_lib_hypot != 201603L7119#    error "__cpp_lib_hypot should have the value 201603L in c++26"7120#  endif7121 7122#  ifndef __cpp_lib_incomplete_container_elements7123#    error "__cpp_lib_incomplete_container_elements should be defined in c++26"7124#  endif7125#  if __cpp_lib_incomplete_container_elements != 201505L7126#    error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++26"7127#  endif7128 7129#  if !defined(_LIBCPP_VERSION)7130#    ifndef __cpp_lib_inplace_vector7131#      error "__cpp_lib_inplace_vector should be defined in c++26"7132#    endif7133#    if __cpp_lib_inplace_vector != 202406L7134#      error "__cpp_lib_inplace_vector should have the value 202406L in c++26"7135#    endif7136#  else7137#    ifdef __cpp_lib_inplace_vector7138#      error "__cpp_lib_inplace_vector should not be defined because it is unimplemented in libc++!"7139#    endif7140#  endif7141 7142#  ifndef __cpp_lib_int_pow27143#    error "__cpp_lib_int_pow2 should be defined in c++26"7144#  endif7145#  if __cpp_lib_int_pow2 != 202002L7146#    error "__cpp_lib_int_pow2 should have the value 202002L in c++26"7147#  endif7148 7149#  ifndef __cpp_lib_integer_comparison_functions7150#    error "__cpp_lib_integer_comparison_functions should be defined in c++26"7151#  endif7152#  if __cpp_lib_integer_comparison_functions != 202002L7153#    error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++26"7154#  endif7155 7156#  ifndef __cpp_lib_integer_sequence7157#    error "__cpp_lib_integer_sequence should be defined in c++26"7158#  endif7159#  if __cpp_lib_integer_sequence != 201304L7160#    error "__cpp_lib_integer_sequence should have the value 201304L in c++26"7161#  endif7162 7163#  ifndef __cpp_lib_integral_constant_callable7164#    error "__cpp_lib_integral_constant_callable should be defined in c++26"7165#  endif7166#  if __cpp_lib_integral_constant_callable != 201304L7167#    error "__cpp_lib_integral_constant_callable should have the value 201304L in c++26"7168#  endif7169 7170#  ifndef __cpp_lib_interpolate7171#    error "__cpp_lib_interpolate should be defined in c++26"7172#  endif7173#  if __cpp_lib_interpolate != 201902L7174#    error "__cpp_lib_interpolate should have the value 201902L in c++26"7175#  endif7176 7177#  ifndef __cpp_lib_invoke7178#    error "__cpp_lib_invoke should be defined in c++26"7179#  endif7180#  if __cpp_lib_invoke != 201411L7181#    error "__cpp_lib_invoke should have the value 201411L in c++26"7182#  endif7183 7184#  ifndef __cpp_lib_invoke_r7185#    error "__cpp_lib_invoke_r should be defined in c++26"7186#  endif7187#  if __cpp_lib_invoke_r != 202106L7188#    error "__cpp_lib_invoke_r should have the value 202106L in c++26"7189#  endif7190 7191#  ifndef __cpp_lib_ios_noreplace7192#    error "__cpp_lib_ios_noreplace should be defined in c++26"7193#  endif7194#  if __cpp_lib_ios_noreplace != 202207L7195#    error "__cpp_lib_ios_noreplace should have the value 202207L in c++26"7196#  endif7197 7198#  ifndef __cpp_lib_is_aggregate7199#    error "__cpp_lib_is_aggregate should be defined in c++26"7200#  endif7201#  if __cpp_lib_is_aggregate != 201703L7202#    error "__cpp_lib_is_aggregate should have the value 201703L in c++26"7203#  endif7204 7205#  ifndef __cpp_lib_is_constant_evaluated7206#    error "__cpp_lib_is_constant_evaluated should be defined in c++26"7207#  endif7208#  if __cpp_lib_is_constant_evaluated != 201811L7209#    error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++26"7210#  endif7211 7212#  ifndef __cpp_lib_is_final7213#    error "__cpp_lib_is_final should be defined in c++26"7214#  endif7215#  if __cpp_lib_is_final != 201402L7216#    error "__cpp_lib_is_final should have the value 201402L in c++26"7217#  endif7218 7219#  if __has_builtin(__builtin_is_implicit_lifetime)7220#    ifndef __cpp_lib_is_implicit_lifetime7221#      error "__cpp_lib_is_implicit_lifetime should be defined in c++26"7222#    endif7223#    if __cpp_lib_is_implicit_lifetime != 202302L7224#      error "__cpp_lib_is_implicit_lifetime should have the value 202302L in c++26"7225#    endif7226#  else7227#    ifdef __cpp_lib_is_implicit_lifetime7228#      error "__cpp_lib_is_implicit_lifetime should not be defined when the requirement '__has_builtin(__builtin_is_implicit_lifetime)' is not met!"7229#    endif7230#  endif7231 7232#  ifndef __cpp_lib_is_invocable7233#    error "__cpp_lib_is_invocable should be defined in c++26"7234#  endif7235#  if __cpp_lib_is_invocable != 201703L7236#    error "__cpp_lib_is_invocable should have the value 201703L in c++26"7237#  endif7238 7239#  if !defined(_LIBCPP_VERSION)7240#    ifndef __cpp_lib_is_layout_compatible7241#      error "__cpp_lib_is_layout_compatible should be defined in c++26"7242#    endif7243#    if __cpp_lib_is_layout_compatible != 201907L7244#      error "__cpp_lib_is_layout_compatible should have the value 201907L in c++26"7245#    endif7246#  else7247#    ifdef __cpp_lib_is_layout_compatible7248#      error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"7249#    endif7250#  endif7251 7252#  ifndef __cpp_lib_is_nothrow_convertible7253#    error "__cpp_lib_is_nothrow_convertible should be defined in c++26"7254#  endif7255#  if __cpp_lib_is_nothrow_convertible != 201806L7256#    error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++26"7257#  endif7258 7259#  ifndef __cpp_lib_is_null_pointer7260#    error "__cpp_lib_is_null_pointer should be defined in c++26"7261#  endif7262#  if __cpp_lib_is_null_pointer != 201309L7263#    error "__cpp_lib_is_null_pointer should have the value 201309L in c++26"7264#  endif7265 7266#  if !defined(_LIBCPP_VERSION)7267#    ifndef __cpp_lib_is_pointer_interconvertible7268#      error "__cpp_lib_is_pointer_interconvertible should be defined in c++26"7269#    endif7270#    if __cpp_lib_is_pointer_interconvertible != 201907L7271#      error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++26"7272#    endif7273#  else7274#    ifdef __cpp_lib_is_pointer_interconvertible7275#      error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"7276#    endif7277#  endif7278 7279#  ifndef __cpp_lib_is_scoped_enum7280#    error "__cpp_lib_is_scoped_enum should be defined in c++26"7281#  endif7282#  if __cpp_lib_is_scoped_enum != 202011L7283#    error "__cpp_lib_is_scoped_enum should have the value 202011L in c++26"7284#  endif7285 7286#  ifndef __cpp_lib_is_sufficiently_aligned7287#    error "__cpp_lib_is_sufficiently_aligned should be defined in c++26"7288#  endif7289#  if __cpp_lib_is_sufficiently_aligned != 202411L7290#    error "__cpp_lib_is_sufficiently_aligned should have the value 202411L in c++26"7291#  endif7292 7293#  ifndef __cpp_lib_is_swappable7294#    error "__cpp_lib_is_swappable should be defined in c++26"7295#  endif7296#  if __cpp_lib_is_swappable != 201603L7297#    error "__cpp_lib_is_swappable should have the value 201603L in c++26"7298#  endif7299 7300#  if __has_builtin(__builtin_is_virtual_base_of)7301#    ifndef __cpp_lib_is_virtual_base_of7302#      error "__cpp_lib_is_virtual_base_of should be defined in c++26"7303#    endif7304#    if __cpp_lib_is_virtual_base_of != 202406L7305#      error "__cpp_lib_is_virtual_base_of should have the value 202406L in c++26"7306#    endif7307#  else7308#    ifdef __cpp_lib_is_virtual_base_of7309#      error "__cpp_lib_is_virtual_base_of should not be defined when the requirement '__has_builtin(__builtin_is_virtual_base_of)' is not met!"7310#    endif7311#  endif7312 7313#  if __has_builtin(__builtin_is_within_lifetime)7314#    ifndef __cpp_lib_is_within_lifetime7315#      error "__cpp_lib_is_within_lifetime should be defined in c++26"7316#    endif7317#    if __cpp_lib_is_within_lifetime != 202306L7318#      error "__cpp_lib_is_within_lifetime should have the value 202306L in c++26"7319#    endif7320#  else7321#    ifdef __cpp_lib_is_within_lifetime7322#      error "__cpp_lib_is_within_lifetime should not be defined when the requirement '__has_builtin(__builtin_is_within_lifetime)' is not met!"7323#    endif7324#  endif7325 7326#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS7327#    ifndef __cpp_lib_jthread7328#      error "__cpp_lib_jthread should be defined in c++26"7329#    endif7330#    if __cpp_lib_jthread != 201911L7331#      error "__cpp_lib_jthread should have the value 201911L in c++26"7332#    endif7333#  else7334#    ifdef __cpp_lib_jthread7335#      error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"7336#    endif7337#  endif7338 7339#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS7340#    ifndef __cpp_lib_latch7341#      error "__cpp_lib_latch should be defined in c++26"7342#    endif7343#    if __cpp_lib_latch != 201907L7344#      error "__cpp_lib_latch should have the value 201907L in c++26"7345#    endif7346#  else7347#    ifdef __cpp_lib_latch7348#      error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"7349#    endif7350#  endif7351 7352#  ifndef __cpp_lib_launder7353#    error "__cpp_lib_launder should be defined in c++26"7354#  endif7355#  if __cpp_lib_launder != 201606L7356#    error "__cpp_lib_launder should have the value 201606L in c++26"7357#  endif7358 7359#  if !defined(_LIBCPP_VERSION)7360#    ifndef __cpp_lib_linalg7361#      error "__cpp_lib_linalg should be defined in c++26"7362#    endif7363#    if __cpp_lib_linalg != 202311L7364#      error "__cpp_lib_linalg should have the value 202311L in c++26"7365#    endif7366#  else7367#    ifdef __cpp_lib_linalg7368#      error "__cpp_lib_linalg should not be defined because it is unimplemented in libc++!"7369#    endif7370#  endif7371 7372#  ifndef __cpp_lib_list_remove_return_type7373#    error "__cpp_lib_list_remove_return_type should be defined in c++26"7374#  endif7375#  if __cpp_lib_list_remove_return_type != 201806L7376#    error "__cpp_lib_list_remove_return_type should have the value 201806L in c++26"7377#  endif7378 7379#  ifndef __cpp_lib_logical_traits7380#    error "__cpp_lib_logical_traits should be defined in c++26"7381#  endif7382#  if __cpp_lib_logical_traits != 201510L7383#    error "__cpp_lib_logical_traits should have the value 201510L in c++26"7384#  endif7385 7386#  ifndef __cpp_lib_make_from_tuple7387#    error "__cpp_lib_make_from_tuple should be defined in c++26"7388#  endif7389#  if __cpp_lib_make_from_tuple != 201606L7390#    error "__cpp_lib_make_from_tuple should have the value 201606L in c++26"7391#  endif7392 7393#  ifndef __cpp_lib_make_reverse_iterator7394#    error "__cpp_lib_make_reverse_iterator should be defined in c++26"7395#  endif7396#  if __cpp_lib_make_reverse_iterator != 201402L7397#    error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++26"7398#  endif7399 7400#  ifndef __cpp_lib_make_unique7401#    error "__cpp_lib_make_unique should be defined in c++26"7402#  endif7403#  if __cpp_lib_make_unique != 201304L7404#    error "__cpp_lib_make_unique should have the value 201304L in c++26"7405#  endif7406 7407#  ifndef __cpp_lib_map_try_emplace7408#    error "__cpp_lib_map_try_emplace should be defined in c++26"7409#  endif7410#  if __cpp_lib_map_try_emplace != 201411L7411#    error "__cpp_lib_map_try_emplace should have the value 201411L in c++26"7412#  endif7413 7414#  ifndef __cpp_lib_math_constants7415#    error "__cpp_lib_math_constants should be defined in c++26"7416#  endif7417#  if __cpp_lib_math_constants != 201907L7418#    error "__cpp_lib_math_constants should have the value 201907L in c++26"7419#  endif7420 7421#  if !defined(_LIBCPP_VERSION)7422#    ifndef __cpp_lib_math_special_functions7423#      error "__cpp_lib_math_special_functions should be defined in c++26"7424#    endif7425#    if __cpp_lib_math_special_functions != 201603L7426#      error "__cpp_lib_math_special_functions should have the value 201603L in c++26"7427#    endif7428#  else7429#    ifdef __cpp_lib_math_special_functions7430#      error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"7431#    endif7432#  endif7433 7434#  ifndef __cpp_lib_mdspan7435#    error "__cpp_lib_mdspan should be defined in c++26"7436#  endif7437#  if __cpp_lib_mdspan != 202406L7438#    error "__cpp_lib_mdspan should have the value 202406L in c++26"7439#  endif7440 7441#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR7442#    ifndef __cpp_lib_memory_resource7443#      error "__cpp_lib_memory_resource should be defined in c++26"7444#    endif7445#    if __cpp_lib_memory_resource != 201603L7446#      error "__cpp_lib_memory_resource should have the value 201603L in c++26"7447#    endif7448#  else7449#    ifdef __cpp_lib_memory_resource7450#      error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"7451#    endif7452#  endif7453 7454#  ifndef __cpp_lib_modules7455#    error "__cpp_lib_modules should be defined in c++26"7456#  endif7457#  if __cpp_lib_modules != 202207L7458#    error "__cpp_lib_modules should have the value 202207L in c++26"7459#  endif7460 7461#  ifndef __cpp_lib_move_iterator_concept7462#    error "__cpp_lib_move_iterator_concept should be defined in c++26"7463#  endif7464#  if __cpp_lib_move_iterator_concept != 202207L7465#    error "__cpp_lib_move_iterator_concept should have the value 202207L in c++26"7466#  endif7467 7468#  if !defined(_LIBCPP_VERSION)7469#    ifndef __cpp_lib_move_only_function7470#      error "__cpp_lib_move_only_function should be defined in c++26"7471#    endif7472#    if __cpp_lib_move_only_function != 202110L7473#      error "__cpp_lib_move_only_function should have the value 202110L in c++26"7474#    endif7475#  else7476#    ifdef __cpp_lib_move_only_function7477#      error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"7478#    endif7479#  endif7480 7481#  ifndef __cpp_lib_node_extract7482#    error "__cpp_lib_node_extract should be defined in c++26"7483#  endif7484#  if __cpp_lib_node_extract != 201606L7485#    error "__cpp_lib_node_extract should have the value 201606L in c++26"7486#  endif7487 7488#  ifndef __cpp_lib_nonmember_container_access7489#    error "__cpp_lib_nonmember_container_access should be defined in c++26"7490#  endif7491#  if __cpp_lib_nonmember_container_access != 201411L7492#    error "__cpp_lib_nonmember_container_access should have the value 201411L in c++26"7493#  endif7494 7495#  ifndef __cpp_lib_not_fn7496#    error "__cpp_lib_not_fn should be defined in c++26"7497#  endif7498#  if __cpp_lib_not_fn != 202306L7499#    error "__cpp_lib_not_fn should have the value 202306L in c++26"7500#  endif7501 7502#  ifndef __cpp_lib_null_iterators7503#    error "__cpp_lib_null_iterators should be defined in c++26"7504#  endif7505#  if __cpp_lib_null_iterators != 201304L7506#    error "__cpp_lib_null_iterators should have the value 201304L in c++26"7507#  endif7508 7509#  ifndef __cpp_lib_optional7510#    error "__cpp_lib_optional should be defined in c++26"7511#  endif7512#  if __cpp_lib_optional != 202506L7513#    error "__cpp_lib_optional should have the value 202506L in c++26"7514#  endif7515 7516#  ifndef __cpp_lib_optional_range_support7517#    error "__cpp_lib_optional_range_support should be defined in c++26"7518#  endif7519#  if __cpp_lib_optional_range_support != 202406L7520#    error "__cpp_lib_optional_range_support should have the value 202406L in c++26"7521#  endif7522 7523#  ifndef __cpp_lib_out_ptr7524#    error "__cpp_lib_out_ptr should be defined in c++26"7525#  endif7526#  if __cpp_lib_out_ptr != 202311L7527#    error "__cpp_lib_out_ptr should have the value 202311L in c++26"7528#  endif7529 7530#  if !defined(_LIBCPP_VERSION)7531#    ifndef __cpp_lib_parallel_algorithm7532#      error "__cpp_lib_parallel_algorithm should be defined in c++26"7533#    endif7534#    if __cpp_lib_parallel_algorithm != 201603L7535#      error "__cpp_lib_parallel_algorithm should have the value 201603L in c++26"7536#    endif7537#  else7538#    ifdef __cpp_lib_parallel_algorithm7539#      error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"7540#    endif7541#  endif7542 7543#  if !defined(_LIBCPP_VERSION)7544#    ifndef __cpp_lib_philox_engine7545#      error "__cpp_lib_philox_engine should be defined in c++26"7546#    endif7547#    if __cpp_lib_philox_engine != 202406L7548#      error "__cpp_lib_philox_engine should have the value 202406L in c++26"7549#    endif7550#  else7551#    ifdef __cpp_lib_philox_engine7552#      error "__cpp_lib_philox_engine should not be defined because it is unimplemented in libc++!"7553#    endif7554#  endif7555 7556#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR7557#    ifndef __cpp_lib_polymorphic_allocator7558#      error "__cpp_lib_polymorphic_allocator should be defined in c++26"7559#    endif7560#    if __cpp_lib_polymorphic_allocator != 201902L7561#      error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++26"7562#    endif7563#  else7564#    ifdef __cpp_lib_polymorphic_allocator7565#      error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!"7566#    endif7567#  endif7568 7569#  if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT7570#    ifndef __cpp_lib_print7571#      error "__cpp_lib_print should be defined in c++26"7572#    endif7573#    if __cpp_lib_print != 202207L7574#      error "__cpp_lib_print should have the value 202207L in c++26"7575#    endif7576#  else7577#    ifdef __cpp_lib_print7578#      error "__cpp_lib_print should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_TO_CHARS_FLOATING_POINT' is not met!"7579#    endif7580#  endif7581 7582#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION7583#    ifndef __cpp_lib_quoted_string_io7584#      error "__cpp_lib_quoted_string_io should be defined in c++26"7585#    endif7586#    if __cpp_lib_quoted_string_io != 201304L7587#      error "__cpp_lib_quoted_string_io should have the value 201304L in c++26"7588#    endif7589#  else7590#    ifdef __cpp_lib_quoted_string_io7591#      error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!"7592#    endif7593#  endif7594 7595#  ifndef __cpp_lib_ranges7596#    error "__cpp_lib_ranges should be defined in c++26"7597#  endif7598#  if __cpp_lib_ranges != 202406L7599#    error "__cpp_lib_ranges should have the value 202406L in c++26"7600#  endif7601 7602#  if !defined(_LIBCPP_VERSION)7603#    ifndef __cpp_lib_ranges_as_const7604#      error "__cpp_lib_ranges_as_const should be defined in c++26"7605#    endif7606#    if __cpp_lib_ranges_as_const != 202207L7607#      error "__cpp_lib_ranges_as_const should have the value 202207L in c++26"7608#    endif7609#  else7610#    ifdef __cpp_lib_ranges_as_const7611#      error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!"7612#    endif7613#  endif7614 7615#  ifndef __cpp_lib_ranges_as_rvalue7616#    error "__cpp_lib_ranges_as_rvalue should be defined in c++26"7617#  endif7618#  if __cpp_lib_ranges_as_rvalue != 202207L7619#    error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++26"7620#  endif7621 7622#  if !defined(_LIBCPP_VERSION)7623#    ifndef __cpp_lib_ranges_chunk7624#      error "__cpp_lib_ranges_chunk should be defined in c++26"7625#    endif7626#    if __cpp_lib_ranges_chunk != 202202L7627#      error "__cpp_lib_ranges_chunk should have the value 202202L in c++26"7628#    endif7629#  else7630#    ifdef __cpp_lib_ranges_chunk7631#      error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"7632#    endif7633#  endif7634 7635#  ifndef __cpp_lib_ranges_chunk_by7636#    error "__cpp_lib_ranges_chunk_by should be defined in c++26"7637#  endif7638#  if __cpp_lib_ranges_chunk_by != 202202L7639#    error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++26"7640#  endif7641 7642#  if !defined(_LIBCPP_VERSION)7643#    ifndef __cpp_lib_ranges_concat7644#      error "__cpp_lib_ranges_concat should be defined in c++26"7645#    endif7646#    if __cpp_lib_ranges_concat != 202403L7647#      error "__cpp_lib_ranges_concat should have the value 202403L in c++26"7648#    endif7649#  else7650#    ifdef __cpp_lib_ranges_concat7651#      error "__cpp_lib_ranges_concat should not be defined because it is unimplemented in libc++!"7652#    endif7653#  endif7654 7655#  ifndef __cpp_lib_ranges_contains7656#    error "__cpp_lib_ranges_contains should be defined in c++26"7657#  endif7658#  if __cpp_lib_ranges_contains != 202207L7659#    error "__cpp_lib_ranges_contains should have the value 202207L in c++26"7660#  endif7661 7662#  ifndef __cpp_lib_ranges_find_last7663#    error "__cpp_lib_ranges_find_last should be defined in c++26"7664#  endif7665#  if __cpp_lib_ranges_find_last != 202207L7666#    error "__cpp_lib_ranges_find_last should have the value 202207L in c++26"7667#  endif7668 7669#  ifndef __cpp_lib_ranges_indices7670#    error "__cpp_lib_ranges_indices should be defined in c++26"7671#  endif7672#  if __cpp_lib_ranges_indices != 202506L7673#    error "__cpp_lib_ranges_indices should have the value 202506L in c++26"7674#  endif7675 7676#  ifndef __cpp_lib_ranges_iota7677#    error "__cpp_lib_ranges_iota should be defined in c++26"7678#  endif7679#  if __cpp_lib_ranges_iota != 202202L7680#    error "__cpp_lib_ranges_iota should have the value 202202L in c++26"7681#  endif7682 7683#  ifndef __cpp_lib_ranges_join_with7684#    error "__cpp_lib_ranges_join_with should be defined in c++26"7685#  endif7686#  if __cpp_lib_ranges_join_with != 202202L7687#    error "__cpp_lib_ranges_join_with should have the value 202202L in c++26"7688#  endif7689 7690#  ifndef __cpp_lib_ranges_repeat7691#    error "__cpp_lib_ranges_repeat should be defined in c++26"7692#  endif7693#  if __cpp_lib_ranges_repeat != 202207L7694#    error "__cpp_lib_ranges_repeat should have the value 202207L in c++26"7695#  endif7696 7697#  if !defined(_LIBCPP_VERSION)7698#    ifndef __cpp_lib_ranges_slide7699#      error "__cpp_lib_ranges_slide should be defined in c++26"7700#    endif7701#    if __cpp_lib_ranges_slide != 202202L7702#      error "__cpp_lib_ranges_slide should have the value 202202L in c++26"7703#    endif7704#  else7705#    ifdef __cpp_lib_ranges_slide7706#      error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"7707#    endif7708#  endif7709 7710#  ifndef __cpp_lib_ranges_starts_ends_with7711#    error "__cpp_lib_ranges_starts_ends_with should be defined in c++26"7712#  endif7713#  if __cpp_lib_ranges_starts_ends_with != 202106L7714#    error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++26"7715#  endif7716 7717#  ifndef __cpp_lib_ranges_to_container7718#    error "__cpp_lib_ranges_to_container should be defined in c++26"7719#  endif7720#  if __cpp_lib_ranges_to_container != 202202L7721#    error "__cpp_lib_ranges_to_container should have the value 202202L in c++26"7722#  endif7723 7724#  if !defined(_LIBCPP_VERSION)7725#    ifndef __cpp_lib_ranges_zip7726#      error "__cpp_lib_ranges_zip should be defined in c++26"7727#    endif7728#    if __cpp_lib_ranges_zip != 202110L7729#      error "__cpp_lib_ranges_zip should have the value 202110L in c++26"7730#    endif7731#  else7732#    ifdef __cpp_lib_ranges_zip7733#      error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"7734#    endif7735#  endif7736 7737#  ifndef __cpp_lib_ratio7738#    error "__cpp_lib_ratio should be defined in c++26"7739#  endif7740#  if __cpp_lib_ratio != 202306L7741#    error "__cpp_lib_ratio should have the value 202306L in c++26"7742#  endif7743 7744#  ifndef __cpp_lib_raw_memory_algorithms7745#    error "__cpp_lib_raw_memory_algorithms should be defined in c++26"7746#  endif7747#  if __cpp_lib_raw_memory_algorithms != 201606L7748#    error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++26"7749#  endif7750 7751#  if !defined(_LIBCPP_VERSION)7752#    ifndef __cpp_lib_rcu7753#      error "__cpp_lib_rcu should be defined in c++26"7754#    endif7755#    if __cpp_lib_rcu != 202306L7756#      error "__cpp_lib_rcu should have the value 202306L in c++26"7757#    endif7758#  else7759#    ifdef __cpp_lib_rcu7760#      error "__cpp_lib_rcu should not be defined because it is unimplemented in libc++!"7761#    endif7762#  endif7763 7764#  if !defined(_LIBCPP_VERSION)7765#    ifndef __cpp_lib_reference_from_temporary7766#      error "__cpp_lib_reference_from_temporary should be defined in c++26"7767#    endif7768#    if __cpp_lib_reference_from_temporary != 202202L7769#      error "__cpp_lib_reference_from_temporary should have the value 202202L in c++26"7770#    endif7771#  else7772#    ifdef __cpp_lib_reference_from_temporary7773#      error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"7774#    endif7775#  endif7776 7777#  ifndef __cpp_lib_reference_wrapper7778#    error "__cpp_lib_reference_wrapper should be defined in c++26"7779#  endif7780#  if __cpp_lib_reference_wrapper != 202403L7781#    error "__cpp_lib_reference_wrapper should have the value 202403L in c++26"7782#  endif7783 7784#  ifndef __cpp_lib_remove_cvref7785#    error "__cpp_lib_remove_cvref should be defined in c++26"7786#  endif7787#  if __cpp_lib_remove_cvref != 201711L7788#    error "__cpp_lib_remove_cvref should have the value 201711L in c++26"7789#  endif7790 7791#  ifndef __cpp_lib_result_of_sfinae7792#    error "__cpp_lib_result_of_sfinae should be defined in c++26"7793#  endif7794#  if __cpp_lib_result_of_sfinae != 201210L7795#    error "__cpp_lib_result_of_sfinae should have the value 201210L in c++26"7796#  endif7797 7798#  ifndef __cpp_lib_robust_nonmodifying_seq_ops7799#    error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++26"7800#  endif7801#  if __cpp_lib_robust_nonmodifying_seq_ops != 201304L7802#    error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++26"7803#  endif7804 7805#  ifndef __cpp_lib_sample7806#    error "__cpp_lib_sample should be defined in c++26"7807#  endif7808#  if __cpp_lib_sample != 201603L7809#    error "__cpp_lib_sample should have the value 201603L in c++26"7810#  endif7811 7812#  ifndef __cpp_lib_saturation_arithmetic7813#    error "__cpp_lib_saturation_arithmetic should be defined in c++26"7814#  endif7815#  if __cpp_lib_saturation_arithmetic != 202311L7816#    error "__cpp_lib_saturation_arithmetic should have the value 202311L in c++26"7817#  endif7818 7819#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS7820#    ifndef __cpp_lib_scoped_lock7821#      error "__cpp_lib_scoped_lock should be defined in c++26"7822#    endif7823#    if __cpp_lib_scoped_lock != 201703L7824#      error "__cpp_lib_scoped_lock should have the value 201703L in c++26"7825#    endif7826#  else7827#    ifdef __cpp_lib_scoped_lock7828#      error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"7829#    endif7830#  endif7831 7832#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS7833#    ifndef __cpp_lib_semaphore7834#      error "__cpp_lib_semaphore should be defined in c++26"7835#    endif7836#    if __cpp_lib_semaphore != 201907L7837#      error "__cpp_lib_semaphore should have the value 201907L in c++26"7838#    endif7839#  else7840#    ifdef __cpp_lib_semaphore7841#      error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"7842#    endif7843#  endif7844 7845#  if !defined(_LIBCPP_VERSION)7846#    ifndef __cpp_lib_senders7847#      error "__cpp_lib_senders should be defined in c++26"7848#    endif7849#    if __cpp_lib_senders != 202406L7850#      error "__cpp_lib_senders should have the value 202406L in c++26"7851#    endif7852#  else7853#    ifdef __cpp_lib_senders7854#      error "__cpp_lib_senders should not be defined because it is unimplemented in libc++!"7855#    endif7856#  endif7857 7858#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS7859#    ifndef __cpp_lib_shared_mutex7860#      error "__cpp_lib_shared_mutex should be defined in c++26"7861#    endif7862#    if __cpp_lib_shared_mutex != 201505L7863#      error "__cpp_lib_shared_mutex should have the value 201505L in c++26"7864#    endif7865#  else7866#    ifdef __cpp_lib_shared_mutex7867#      error "__cpp_lib_shared_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"7868#    endif7869#  endif7870 7871#  ifndef __cpp_lib_shared_ptr_arrays7872#    error "__cpp_lib_shared_ptr_arrays should be defined in c++26"7873#  endif7874#  if __cpp_lib_shared_ptr_arrays != 201707L7875#    error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++26"7876#  endif7877 7878#  ifndef __cpp_lib_shared_ptr_weak_type7879#    error "__cpp_lib_shared_ptr_weak_type should be defined in c++26"7880#  endif7881#  if __cpp_lib_shared_ptr_weak_type != 201606L7882#    error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++26"7883#  endif7884 7885#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS7886#    ifndef __cpp_lib_shared_timed_mutex7887#      error "__cpp_lib_shared_timed_mutex should be defined in c++26"7888#    endif7889#    if __cpp_lib_shared_timed_mutex != 201402L7890#      error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++26"7891#    endif7892#  else7893#    ifdef __cpp_lib_shared_timed_mutex7894#      error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!"7895#    endif7896#  endif7897 7898#  ifndef __cpp_lib_shift7899#    error "__cpp_lib_shift should be defined in c++26"7900#  endif7901#  if __cpp_lib_shift != 201806L7902#    error "__cpp_lib_shift should have the value 201806L in c++26"7903#  endif7904 7905#  ifndef __cpp_lib_smart_ptr_for_overwrite7906#    error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++26"7907#  endif7908#  if __cpp_lib_smart_ptr_for_overwrite != 202002L7909#    error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++26"7910#  endif7911 7912#  if !defined(_LIBCPP_VERSION)7913#    ifndef __cpp_lib_smart_ptr_owner_equality7914#      error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26"7915#    endif7916#    if __cpp_lib_smart_ptr_owner_equality != 202306L7917#      error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26"7918#    endif7919#  else7920#    ifdef __cpp_lib_smart_ptr_owner_equality7921#      error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!"7922#    endif7923#  endif7924 7925#  ifndef __cpp_lib_source_location7926#    error "__cpp_lib_source_location should be defined in c++26"7927#  endif7928#  if __cpp_lib_source_location != 201907L7929#    error "__cpp_lib_source_location should have the value 201907L in c++26"7930#  endif7931 7932#  ifndef __cpp_lib_span7933#    error "__cpp_lib_span should be defined in c++26"7934#  endif7935#  if __cpp_lib_span != 202002L7936#    error "__cpp_lib_span should have the value 202002L in c++26"7937#  endif7938 7939#  ifndef __cpp_lib_span_at7940#    error "__cpp_lib_span_at should be defined in c++26"7941#  endif7942#  if __cpp_lib_span_at != 202311L7943#    error "__cpp_lib_span_at should have the value 202311L in c++26"7944#  endif7945 7946#  ifndef __cpp_lib_span_initializer_list7947#    error "__cpp_lib_span_initializer_list should be defined in c++26"7948#  endif7949#  if __cpp_lib_span_initializer_list != 202311L7950#    error "__cpp_lib_span_initializer_list should have the value 202311L in c++26"7951#  endif7952 7953#  if !defined(_LIBCPP_VERSION)7954#    ifndef __cpp_lib_spanstream7955#      error "__cpp_lib_spanstream should be defined in c++26"7956#    endif7957#    if __cpp_lib_spanstream != 202106L7958#      error "__cpp_lib_spanstream should have the value 202106L in c++26"7959#    endif7960#  else7961#    ifdef __cpp_lib_spanstream7962#      error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"7963#    endif7964#  endif7965 7966#  ifndef __cpp_lib_ssize7967#    error "__cpp_lib_ssize should be defined in c++26"7968#  endif7969#  if __cpp_lib_ssize != 201902L7970#    error "__cpp_lib_ssize should have the value 201902L in c++26"7971#  endif7972 7973#  ifndef __cpp_lib_sstream_from_string_view7974#    error "__cpp_lib_sstream_from_string_view should be defined in c++26"7975#  endif7976#  if __cpp_lib_sstream_from_string_view != 202306L7977#    error "__cpp_lib_sstream_from_string_view should have the value 202306L in c++26"7978#  endif7979 7980#  if !defined(_LIBCPP_VERSION)7981#    ifndef __cpp_lib_stacktrace7982#      error "__cpp_lib_stacktrace should be defined in c++26"7983#    endif7984#    if __cpp_lib_stacktrace != 202011L7985#      error "__cpp_lib_stacktrace should have the value 202011L in c++26"7986#    endif7987#  else7988#    ifdef __cpp_lib_stacktrace7989#      error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"7990#    endif7991#  endif7992 7993#  ifndef __cpp_lib_starts_ends_with7994#    error "__cpp_lib_starts_ends_with should be defined in c++26"7995#  endif7996#  if __cpp_lib_starts_ends_with != 201711L7997#    error "__cpp_lib_starts_ends_with should have the value 201711L in c++26"7998#  endif7999 8000#  ifndef __cpp_lib_stdatomic_h8001#    error "__cpp_lib_stdatomic_h should be defined in c++26"8002#  endif8003#  if __cpp_lib_stdatomic_h != 202011L8004#    error "__cpp_lib_stdatomic_h should have the value 202011L in c++26"8005#  endif8006 8007#  ifndef __cpp_lib_string_contains8008#    error "__cpp_lib_string_contains should be defined in c++26"8009#  endif8010#  if __cpp_lib_string_contains != 202011L8011#    error "__cpp_lib_string_contains should have the value 202011L in c++26"8012#  endif8013 8014#  ifndef __cpp_lib_string_resize_and_overwrite8015#    error "__cpp_lib_string_resize_and_overwrite should be defined in c++26"8016#  endif8017#  if __cpp_lib_string_resize_and_overwrite != 202110L8018#    error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++26"8019#  endif8020 8021#  ifndef __cpp_lib_string_subview8022#    error "__cpp_lib_string_subview should be defined in c++26"8023#  endif8024#  if __cpp_lib_string_subview != 202506L8025#    error "__cpp_lib_string_subview should have the value 202506L in c++26"8026#  endif8027 8028#  ifndef __cpp_lib_string_udls8029#    error "__cpp_lib_string_udls should be defined in c++26"8030#  endif8031#  if __cpp_lib_string_udls != 201304L8032#    error "__cpp_lib_string_udls should have the value 201304L in c++26"8033#  endif8034 8035#  ifndef __cpp_lib_string_view8036#    error "__cpp_lib_string_view should be defined in c++26"8037#  endif8038#  if __cpp_lib_string_view != 202403L8039#    error "__cpp_lib_string_view should have the value 202403L in c++26"8040#  endif8041 8042#  if !defined(_LIBCPP_VERSION)8043#    ifndef __cpp_lib_submdspan8044#      error "__cpp_lib_submdspan should be defined in c++26"8045#    endif8046#    if __cpp_lib_submdspan != 202306L8047#      error "__cpp_lib_submdspan should have the value 202306L in c++26"8048#    endif8049#  else8050#    ifdef __cpp_lib_submdspan8051#      error "__cpp_lib_submdspan should not be defined because it is unimplemented in libc++!"8052#    endif8053#  endif8054 8055#  if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM8056#    ifndef __cpp_lib_syncbuf8057#      error "__cpp_lib_syncbuf should be defined in c++26"8058#    endif8059#    if __cpp_lib_syncbuf != 201803L8060#      error "__cpp_lib_syncbuf should have the value 201803L in c++26"8061#    endif8062#  else8063#    ifdef __cpp_lib_syncbuf8064#      error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM' is not met!"8065#    endif8066#  endif8067 8068#  if !defined(_LIBCPP_VERSION)8069#    ifndef __cpp_lib_text_encoding8070#      error "__cpp_lib_text_encoding should be defined in c++26"8071#    endif8072#    if __cpp_lib_text_encoding != 202306L8073#      error "__cpp_lib_text_encoding should have the value 202306L in c++26"8074#    endif8075#  else8076#    ifdef __cpp_lib_text_encoding8077#      error "__cpp_lib_text_encoding should not be defined because it is unimplemented in libc++!"8078#    endif8079#  endif8080 8081#  ifndef __cpp_lib_three_way_comparison8082#    error "__cpp_lib_three_way_comparison should be defined in c++26"8083#  endif8084#  if __cpp_lib_three_way_comparison != 201907L8085#    error "__cpp_lib_three_way_comparison should have the value 201907L in c++26"8086#  endif8087 8088#  ifndef __cpp_lib_to_address8089#    error "__cpp_lib_to_address should be defined in c++26"8090#  endif8091#  if __cpp_lib_to_address != 201711L8092#    error "__cpp_lib_to_address should have the value 201711L in c++26"8093#  endif8094 8095#  ifndef __cpp_lib_to_array8096#    error "__cpp_lib_to_array should be defined in c++26"8097#  endif8098#  if __cpp_lib_to_array != 201907L8099#    error "__cpp_lib_to_array should have the value 201907L in c++26"8100#  endif8101 8102#  if !defined(_LIBCPP_VERSION)8103#    ifndef __cpp_lib_to_chars8104#      error "__cpp_lib_to_chars should be defined in c++26"8105#    endif8106#    if __cpp_lib_to_chars != 202306L8107#      error "__cpp_lib_to_chars should have the value 202306L in c++26"8108#    endif8109#  else8110#    ifdef __cpp_lib_to_chars8111#      error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"8112#    endif8113#  endif8114 8115#  if !defined(_LIBCPP_VERSION)8116#    ifndef __cpp_lib_to_string8117#      error "__cpp_lib_to_string should be defined in c++26"8118#    endif8119#    if __cpp_lib_to_string != 202306L8120#      error "__cpp_lib_to_string should have the value 202306L in c++26"8121#    endif8122#  else8123#    ifdef __cpp_lib_to_string8124#      error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!"8125#    endif8126#  endif8127 8128#  ifndef __cpp_lib_to_underlying8129#    error "__cpp_lib_to_underlying should be defined in c++26"8130#  endif8131#  if __cpp_lib_to_underlying != 202102L8132#    error "__cpp_lib_to_underlying should have the value 202102L in c++26"8133#  endif8134 8135#  ifndef __cpp_lib_transformation_trait_aliases8136#    error "__cpp_lib_transformation_trait_aliases should be defined in c++26"8137#  endif8138#  if __cpp_lib_transformation_trait_aliases != 201304L8139#    error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++26"8140#  endif8141 8142#  ifndef __cpp_lib_transparent_operators8143#    error "__cpp_lib_transparent_operators should be defined in c++26"8144#  endif8145#  if __cpp_lib_transparent_operators != 201510L8146#    error "__cpp_lib_transparent_operators should have the value 201510L in c++26"8147#  endif8148 8149#  ifndef __cpp_lib_tuple_element_t8150#    error "__cpp_lib_tuple_element_t should be defined in c++26"8151#  endif8152#  if __cpp_lib_tuple_element_t != 201402L8153#    error "__cpp_lib_tuple_element_t should have the value 201402L in c++26"8154#  endif8155 8156#  if !defined(_LIBCPP_VERSION)8157#    ifndef __cpp_lib_tuple_like8158#      error "__cpp_lib_tuple_like should be defined in c++26"8159#    endif8160#    if __cpp_lib_tuple_like != 202311L8161#      error "__cpp_lib_tuple_like should have the value 202311L in c++26"8162#    endif8163#  else8164#    ifdef __cpp_lib_tuple_like8165#      error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!"8166#    endif8167#  endif8168 8169#  ifndef __cpp_lib_tuples_by_type8170#    error "__cpp_lib_tuples_by_type should be defined in c++26"8171#  endif8172#  if __cpp_lib_tuples_by_type != 201304L8173#    error "__cpp_lib_tuples_by_type should have the value 201304L in c++26"8174#  endif8175 8176#  ifndef __cpp_lib_type_identity8177#    error "__cpp_lib_type_identity should be defined in c++26"8178#  endif8179#  if __cpp_lib_type_identity != 201806L8180#    error "__cpp_lib_type_identity should have the value 201806L in c++26"8181#  endif8182 8183#  ifndef __cpp_lib_type_trait_variable_templates8184#    error "__cpp_lib_type_trait_variable_templates should be defined in c++26"8185#  endif8186#  if __cpp_lib_type_trait_variable_templates != 201510L8187#    error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++26"8188#  endif8189 8190#  ifndef __cpp_lib_uncaught_exceptions8191#    error "__cpp_lib_uncaught_exceptions should be defined in c++26"8192#  endif8193#  if __cpp_lib_uncaught_exceptions != 201411L8194#    error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++26"8195#  endif8196 8197#  ifndef __cpp_lib_unordered_map_try_emplace8198#    error "__cpp_lib_unordered_map_try_emplace should be defined in c++26"8199#  endif8200#  if __cpp_lib_unordered_map_try_emplace != 201411L8201#    error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++26"8202#  endif8203 8204#  ifndef __cpp_lib_unreachable8205#    error "__cpp_lib_unreachable should be defined in c++26"8206#  endif8207#  if __cpp_lib_unreachable != 202202L8208#    error "__cpp_lib_unreachable should have the value 202202L in c++26"8209#  endif8210 8211#  ifndef __cpp_lib_unwrap_ref8212#    error "__cpp_lib_unwrap_ref should be defined in c++26"8213#  endif8214#  if __cpp_lib_unwrap_ref != 201811L8215#    error "__cpp_lib_unwrap_ref should have the value 201811L in c++26"8216#  endif8217 8218#  ifndef __cpp_lib_variant8219#    error "__cpp_lib_variant should be defined in c++26"8220#  endif8221#  if __cpp_lib_variant != 202306L8222#    error "__cpp_lib_variant should have the value 202306L in c++26"8223#  endif8224 8225#  ifndef __cpp_lib_void_t8226#    error "__cpp_lib_void_t should be defined in c++26"8227#  endif8228#  if __cpp_lib_void_t != 201411L8229#    error "__cpp_lib_void_t should have the value 201411L in c++26"8230#  endif8231 8232#endif // TEST_STD_VER > 238233 8234// clang-format on8235