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