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-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // WARNING: This test was generated by generate_feature_test_macro_components.py 10 // and should not be edited manually. 11 // 12 // clang-format off 13 14 // <version> 15 16 // Test the feature test macros defined by <version> 17 18 /* Constant Value 19 __cpp_lib_adaptor_iterator_pair_constructor 202106L [C++23] 20 __cpp_lib_addressof_constexpr 201603L [C++17] 21 __cpp_lib_allocate_at_least 202302L [C++23] 22 __cpp_lib_allocator_traits_is_always_equal 201411L [C++17] 23 __cpp_lib_any 201606L [C++17] 24 __cpp_lib_apply 201603L [C++17] 25 __cpp_lib_array_constexpr 201603L [C++17] 26 201811L [C++20] 27 __cpp_lib_as_const 201510L [C++17] 28 __cpp_lib_associative_heterogeneous_erasure 202110L [C++23] 29 __cpp_lib_associative_heterogeneous_insertion 202306L [C++26] 30 __cpp_lib_assume_aligned 201811L [C++20] 31 __cpp_lib_atomic_flag_test 201907L [C++20] 32 __cpp_lib_atomic_float 201711L [C++20] 33 __cpp_lib_atomic_is_always_lock_free 201603L [C++17] 34 __cpp_lib_atomic_lock_free_type_aliases 201907L [C++20] 35 __cpp_lib_atomic_min_max 202403L [C++26] 36 __cpp_lib_atomic_ref 201806L [C++20] 37 __cpp_lib_atomic_shared_ptr 201711L [C++20] 38 __cpp_lib_atomic_value_initialization 201911L [C++20] 39 __cpp_lib_atomic_wait 201907L [C++20] 40 __cpp_lib_barrier 201907L [C++20] 41 __cpp_lib_bind_back 202202L [C++23] 42 __cpp_lib_bind_front 201907L [C++20] 43 202306L [C++26] 44 __cpp_lib_bit_cast 201806L [C++20] 45 __cpp_lib_bitops 201907L [C++20] 46 __cpp_lib_bitset 202306L [C++26] 47 __cpp_lib_bool_constant 201505L [C++17] 48 __cpp_lib_bounded_array_traits 201902L [C++20] 49 __cpp_lib_boyer_moore_searcher 201603L [C++17] 50 __cpp_lib_byte 201603L [C++17] 51 __cpp_lib_byteswap 202110L [C++23] 52 __cpp_lib_char8_t 201907L [C++20] 53 __cpp_lib_chrono 201611L [C++17] 54 __cpp_lib_chrono_udls 201304L [C++14] 55 __cpp_lib_clamp 201603L [C++17] 56 __cpp_lib_complex_udls 201309L [C++14] 57 __cpp_lib_concepts 202002L [C++20] 58 __cpp_lib_constexpr_algorithms 201806L [C++20] 59 __cpp_lib_constexpr_bitset 202207L [C++23] 60 __cpp_lib_constexpr_charconv 202207L [C++23] 61 __cpp_lib_constexpr_cmath 202202L [C++23] 62 __cpp_lib_constexpr_complex 201711L [C++20] 63 __cpp_lib_constexpr_dynamic_alloc 201907L [C++20] 64 __cpp_lib_constexpr_functional 201907L [C++20] 65 __cpp_lib_constexpr_iterator 201811L [C++20] 66 __cpp_lib_constexpr_memory 201811L [C++20] 67 202202L [C++23] 68 __cpp_lib_constexpr_new 202406L [C++26] 69 __cpp_lib_constexpr_numeric 201911L [C++20] 70 __cpp_lib_constexpr_string 201907L [C++20] 71 __cpp_lib_constexpr_string_view 201811L [C++20] 72 __cpp_lib_constexpr_tuple 201811L [C++20] 73 __cpp_lib_constexpr_typeinfo 202106L [C++23] 74 __cpp_lib_constexpr_utility 201811L [C++20] 75 __cpp_lib_constexpr_vector 201907L [C++20] 76 __cpp_lib_constrained_equality 202403L [C++26] 77 __cpp_lib_containers_ranges 202202L [C++23] 78 __cpp_lib_copyable_function 202306L [C++26] 79 __cpp_lib_coroutine 201902L [C++20] 80 __cpp_lib_debugging 202311L [C++26] 81 __cpp_lib_default_template_type_for_algorithm_values 202403L [C++26] 82 __cpp_lib_destroying_delete 201806L [C++20] 83 __cpp_lib_enable_shared_from_this 201603L [C++17] 84 __cpp_lib_endian 201907L [C++20] 85 __cpp_lib_erase_if 202002L [C++20] 86 __cpp_lib_exchange_function 201304L [C++14] 87 __cpp_lib_execution 201603L [C++17] 88 201902L [C++20] 89 __cpp_lib_expected 202211L [C++23] 90 __cpp_lib_filesystem 201703L [C++17] 91 __cpp_lib_flat_map 202207L [C++23] 92 __cpp_lib_flat_set 202207L [C++23] 93 __cpp_lib_format 202110L [C++20] 94 __cpp_lib_format_path 202403L [C++26] 95 __cpp_lib_format_ranges 202207L [C++23] 96 __cpp_lib_format_uchar 202311L [C++20] 97 __cpp_lib_formatters 202302L [C++23] 98 __cpp_lib_forward_like 202207L [C++23] 99 __cpp_lib_freestanding_algorithm 202311L [C++26] 100 __cpp_lib_freestanding_array 202311L [C++26] 101 __cpp_lib_freestanding_cstring 202306L [C++26] 102 __cpp_lib_freestanding_expected 202311L [C++26] 103 __cpp_lib_freestanding_mdspan 202311L [C++26] 104 __cpp_lib_freestanding_optional 202311L [C++26] 105 __cpp_lib_freestanding_string_view 202311L [C++26] 106 __cpp_lib_freestanding_variant 202311L [C++26] 107 __cpp_lib_fstream_native_handle 202306L [C++26] 108 __cpp_lib_function_ref 202306L [C++26] 109 __cpp_lib_gcd_lcm 201606L [C++17] 110 __cpp_lib_generate_random 202403L [C++26] 111 __cpp_lib_generic_associative_lookup 201304L [C++14] 112 __cpp_lib_generic_unordered_lookup 201811L [C++20] 113 __cpp_lib_hardware_interference_size 201703L [C++17] 114 __cpp_lib_has_unique_object_representations 201606L [C++17] 115 __cpp_lib_hazard_pointer 202306L [C++26] 116 __cpp_lib_hypot 201603L [C++17] 117 __cpp_lib_incomplete_container_elements 201505L [C++17] 118 __cpp_lib_inplace_vector 202406L [C++26] 119 __cpp_lib_int_pow2 202002L [C++20] 120 __cpp_lib_integer_comparison_functions 202002L [C++20] 121 __cpp_lib_integer_sequence 201304L [C++14] 122 __cpp_lib_integral_constant_callable 201304L [C++14] 123 __cpp_lib_interpolate 201902L [C++20] 124 __cpp_lib_invoke 201411L [C++17] 125 __cpp_lib_invoke_r 202106L [C++23] 126 __cpp_lib_ios_noreplace 202207L [C++23] 127 __cpp_lib_is_aggregate 201703L [C++17] 128 __cpp_lib_is_constant_evaluated 201811L [C++20] 129 __cpp_lib_is_final 201402L [C++14] 130 __cpp_lib_is_implicit_lifetime 202302L [C++23] 131 __cpp_lib_is_invocable 201703L [C++17] 132 __cpp_lib_is_layout_compatible 201907L [C++20] 133 __cpp_lib_is_nothrow_convertible 201806L [C++20] 134 __cpp_lib_is_null_pointer 201309L [C++14] 135 __cpp_lib_is_pointer_interconvertible 201907L [C++20] 136 __cpp_lib_is_scoped_enum 202011L [C++23] 137 __cpp_lib_is_swappable 201603L [C++17] 138 __cpp_lib_is_virtual_base_of 202406L [C++26] 139 __cpp_lib_is_within_lifetime 202306L [C++26] 140 __cpp_lib_jthread 201911L [C++20] 141 __cpp_lib_latch 201907L [C++20] 142 __cpp_lib_launder 201606L [C++17] 143 __cpp_lib_linalg 202311L [C++26] 144 __cpp_lib_list_remove_return_type 201806L [C++20] 145 __cpp_lib_logical_traits 201510L [C++17] 146 __cpp_lib_make_from_tuple 201606L [C++17] 147 __cpp_lib_make_reverse_iterator 201402L [C++14] 148 __cpp_lib_make_unique 201304L [C++14] 149 __cpp_lib_map_try_emplace 201411L [C++17] 150 __cpp_lib_math_constants 201907L [C++20] 151 __cpp_lib_math_special_functions 201603L [C++17] 152 __cpp_lib_mdspan 202207L [C++23] 153 202406L [C++26] 154 __cpp_lib_memory_resource 201603L [C++17] 155 __cpp_lib_modules 202207L [C++23] 156 __cpp_lib_move_iterator_concept 202207L [C++20] 157 __cpp_lib_move_only_function 202110L [C++23] 158 __cpp_lib_node_extract 201606L [C++17] 159 __cpp_lib_nonmember_container_access 201411L [C++17] 160 __cpp_lib_not_fn 201603L [C++17] 161 202306L [C++26] 162 __cpp_lib_null_iterators 201304L [C++14] 163 __cpp_lib_optional 201606L [C++17] 164 202106L [C++20] 165 202110L [C++23] 166 __cpp_lib_optional_range_support 202406L [C++26] 167 __cpp_lib_out_ptr 202106L [C++23] 168 202311L [C++26] 169 __cpp_lib_parallel_algorithm 201603L [C++17] 170 __cpp_lib_philox_engine 202406L [C++26] 171 __cpp_lib_polymorphic_allocator 201902L [C++20] 172 __cpp_lib_print 202207L [C++23] 173 __cpp_lib_quoted_string_io 201304L [C++14] 174 __cpp_lib_ranges 202110L [C++20] 175 202406L [C++23] 176 __cpp_lib_ranges_as_const 202207L [C++23] 177 __cpp_lib_ranges_as_rvalue 202207L [C++23] 178 __cpp_lib_ranges_chunk 202202L [C++23] 179 __cpp_lib_ranges_chunk_by 202202L [C++23] 180 __cpp_lib_ranges_concat 202403L [C++26] 181 __cpp_lib_ranges_contains 202207L [C++23] 182 __cpp_lib_ranges_find_last 202207L [C++23] 183 __cpp_lib_ranges_iota 202202L [C++23] 184 __cpp_lib_ranges_join_with 202202L [C++23] 185 __cpp_lib_ranges_repeat 202207L [C++23] 186 __cpp_lib_ranges_slide 202202L [C++23] 187 __cpp_lib_ranges_starts_ends_with 202106L [C++23] 188 __cpp_lib_ranges_to_container 202202L [C++23] 189 __cpp_lib_ranges_zip 202110L [C++23] 190 __cpp_lib_ratio 202306L [C++26] 191 __cpp_lib_raw_memory_algorithms 201606L [C++17] 192 __cpp_lib_rcu 202306L [C++26] 193 __cpp_lib_reference_from_temporary 202202L [C++23] 194 __cpp_lib_reference_wrapper 202403L [C++26] 195 __cpp_lib_remove_cvref 201711L [C++20] 196 __cpp_lib_result_of_sfinae 201210L [C++14] 197 __cpp_lib_robust_nonmodifying_seq_ops 201304L [C++14] 198 __cpp_lib_sample 201603L [C++17] 199 __cpp_lib_saturation_arithmetic 202311L [C++26] 200 __cpp_lib_scoped_lock 201703L [C++17] 201 __cpp_lib_semaphore 201907L [C++20] 202 __cpp_lib_senders 202406L [C++26] 203 __cpp_lib_shared_mutex 201505L [C++17] 204 __cpp_lib_shared_ptr_arrays 201611L [C++17] 205 201707L [C++20] 206 __cpp_lib_shared_ptr_weak_type 201606L [C++17] 207 __cpp_lib_shared_timed_mutex 201402L [C++14] 208 __cpp_lib_shift 201806L [C++20] 209 __cpp_lib_smart_ptr_for_overwrite 202002L [C++20] 210 __cpp_lib_smart_ptr_owner_equality 202306L [C++26] 211 __cpp_lib_source_location 201907L [C++20] 212 __cpp_lib_span 202002L [C++20] 213 __cpp_lib_span_at 202311L [C++26] 214 __cpp_lib_span_initializer_list 202311L [C++26] 215 __cpp_lib_spanstream 202106L [C++23] 216 __cpp_lib_ssize 201902L [C++20] 217 __cpp_lib_sstream_from_string_view 202306L [C++26] 218 __cpp_lib_stacktrace 202011L [C++23] 219 __cpp_lib_starts_ends_with 201711L [C++20] 220 __cpp_lib_stdatomic_h 202011L [C++23] 221 __cpp_lib_string_contains 202011L [C++23] 222 __cpp_lib_string_resize_and_overwrite 202110L [C++23] 223 __cpp_lib_string_udls 201304L [C++14] 224 __cpp_lib_string_view 201606L [C++17] 225 201803L [C++20] 226 202403L [C++26] 227 __cpp_lib_submdspan 202306L [C++26] 228 __cpp_lib_syncbuf 201803L [C++20] 229 __cpp_lib_text_encoding 202306L [C++26] 230 __cpp_lib_three_way_comparison 201907L [C++20] 231 __cpp_lib_to_address 201711L [C++20] 232 __cpp_lib_to_array 201907L [C++20] 233 __cpp_lib_to_chars 201611L [C++17] 234 202306L [C++26] 235 __cpp_lib_to_string 202306L [C++26] 236 __cpp_lib_to_underlying 202102L [C++23] 237 __cpp_lib_transformation_trait_aliases 201304L [C++14] 238 __cpp_lib_transparent_operators 201210L [C++14] 239 201510L [C++17] 240 __cpp_lib_tuple_element_t 201402L [C++14] 241 __cpp_lib_tuple_like 202207L [C++23] 242 202311L [C++26] 243 __cpp_lib_tuples_by_type 201304L [C++14] 244 __cpp_lib_type_identity 201806L [C++20] 245 __cpp_lib_type_trait_variable_templates 201510L [C++17] 246 __cpp_lib_uncaught_exceptions 201411L [C++17] 247 __cpp_lib_unordered_map_try_emplace 201411L [C++17] 248 __cpp_lib_unreachable 202202L [C++23] 249 __cpp_lib_unwrap_ref 201811L [C++20] 250 __cpp_lib_variant 202102L [C++17] 251 202106L [C++20] 252 202306L [C++26] 253 __cpp_lib_void_t 201411L [C++17] 254 */ 255 256 #include <version> 257 #include "test_macros.h" 258 259 #if TEST_STD_VER < 14 260 261 # ifdef __cpp_lib_adaptor_iterator_pair_constructor 262 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23" 263 # endif 264 265 # ifdef __cpp_lib_addressof_constexpr 266 # error "__cpp_lib_addressof_constexpr should not be defined before c++17" 267 # endif 268 269 # ifdef __cpp_lib_allocate_at_least 270 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 271 # endif 272 273 # ifdef __cpp_lib_allocator_traits_is_always_equal 274 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17" 275 # endif 276 277 # ifdef __cpp_lib_any 278 # error "__cpp_lib_any should not be defined before c++17" 279 # endif 280 281 # ifdef __cpp_lib_apply 282 # error "__cpp_lib_apply should not be defined before c++17" 283 # endif 284 285 # ifdef __cpp_lib_array_constexpr 286 # error "__cpp_lib_array_constexpr should not be defined before c++17" 287 # endif 288 289 # ifdef __cpp_lib_as_const 290 # error "__cpp_lib_as_const should not be defined before c++17" 291 # endif 292 293 # ifdef __cpp_lib_associative_heterogeneous_erasure 294 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23" 295 # endif 296 297 # ifdef __cpp_lib_associative_heterogeneous_insertion 298 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26" 299 # endif 300 301 # ifdef __cpp_lib_assume_aligned 302 # error "__cpp_lib_assume_aligned should not be defined before c++20" 303 # endif 304 305 # ifdef __cpp_lib_atomic_flag_test 306 # error "__cpp_lib_atomic_flag_test should not be defined before c++20" 307 # endif 308 309 # ifdef __cpp_lib_atomic_float 310 # error "__cpp_lib_atomic_float should not be defined before c++20" 311 # endif 312 313 # ifdef __cpp_lib_atomic_is_always_lock_free 314 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17" 315 # endif 316 317 # ifdef __cpp_lib_atomic_lock_free_type_aliases 318 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20" 319 # endif 320 321 # ifdef __cpp_lib_atomic_min_max 322 # error "__cpp_lib_atomic_min_max should not be defined before c++26" 323 # endif 324 325 # ifdef __cpp_lib_atomic_ref 326 # error "__cpp_lib_atomic_ref should not be defined before c++20" 327 # endif 328 329 # ifdef __cpp_lib_atomic_shared_ptr 330 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20" 331 # endif 332 333 # ifdef __cpp_lib_atomic_value_initialization 334 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20" 335 # endif 336 337 # ifdef __cpp_lib_atomic_wait 338 # error "__cpp_lib_atomic_wait should not be defined before c++20" 339 # endif 340 341 # ifdef __cpp_lib_barrier 342 # error "__cpp_lib_barrier should not be defined before c++20" 343 # endif 344 345 # ifdef __cpp_lib_bind_back 346 # error "__cpp_lib_bind_back should not be defined before c++23" 347 # endif 348 349 # ifdef __cpp_lib_bind_front 350 # error "__cpp_lib_bind_front should not be defined before c++20" 351 # endif 352 353 # ifdef __cpp_lib_bit_cast 354 # error "__cpp_lib_bit_cast should not be defined before c++20" 355 # endif 356 357 # ifdef __cpp_lib_bitops 358 # error "__cpp_lib_bitops should not be defined before c++20" 359 # endif 360 361 # ifdef __cpp_lib_bitset 362 # error "__cpp_lib_bitset should not be defined before c++26" 363 # endif 364 365 # ifdef __cpp_lib_bool_constant 366 # error "__cpp_lib_bool_constant should not be defined before c++17" 367 # endif 368 369 # ifdef __cpp_lib_bounded_array_traits 370 # error "__cpp_lib_bounded_array_traits should not be defined before c++20" 371 # endif 372 373 # ifdef __cpp_lib_boyer_moore_searcher 374 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17" 375 # endif 376 377 # ifdef __cpp_lib_byte 378 # error "__cpp_lib_byte should not be defined before c++17" 379 # endif 380 381 # ifdef __cpp_lib_byteswap 382 # error "__cpp_lib_byteswap should not be defined before c++23" 383 # endif 384 385 # ifdef __cpp_lib_char8_t 386 # error "__cpp_lib_char8_t should not be defined before c++20" 387 # endif 388 389 # ifdef __cpp_lib_chrono 390 # error "__cpp_lib_chrono should not be defined before c++17" 391 # endif 392 393 # ifdef __cpp_lib_chrono_udls 394 # error "__cpp_lib_chrono_udls should not be defined before c++14" 395 # endif 396 397 # ifdef __cpp_lib_clamp 398 # error "__cpp_lib_clamp should not be defined before c++17" 399 # endif 400 401 # ifdef __cpp_lib_complex_udls 402 # error "__cpp_lib_complex_udls should not be defined before c++14" 403 # endif 404 405 # ifdef __cpp_lib_concepts 406 # error "__cpp_lib_concepts should not be defined before c++20" 407 # endif 408 409 # ifdef __cpp_lib_constexpr_algorithms 410 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20" 411 # endif 412 413 # ifdef __cpp_lib_constexpr_bitset 414 # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 415 # endif 416 417 # ifdef __cpp_lib_constexpr_charconv 418 # error "__cpp_lib_constexpr_charconv should not be defined before c++23" 419 # endif 420 421 # ifdef __cpp_lib_constexpr_cmath 422 # error "__cpp_lib_constexpr_cmath should not be defined before c++23" 423 # endif 424 425 # ifdef __cpp_lib_constexpr_complex 426 # error "__cpp_lib_constexpr_complex should not be defined before c++20" 427 # endif 428 429 # ifdef __cpp_lib_constexpr_dynamic_alloc 430 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20" 431 # endif 432 433 # ifdef __cpp_lib_constexpr_functional 434 # error "__cpp_lib_constexpr_functional should not be defined before c++20" 435 # endif 436 437 # ifdef __cpp_lib_constexpr_iterator 438 # error "__cpp_lib_constexpr_iterator should not be defined before c++20" 439 # endif 440 441 # ifdef __cpp_lib_constexpr_memory 442 # error "__cpp_lib_constexpr_memory should not be defined before c++20" 443 # endif 444 445 # ifdef __cpp_lib_constexpr_new 446 # error "__cpp_lib_constexpr_new should not be defined before c++26" 447 # endif 448 449 # ifdef __cpp_lib_constexpr_numeric 450 # error "__cpp_lib_constexpr_numeric should not be defined before c++20" 451 # endif 452 453 # ifdef __cpp_lib_constexpr_string 454 # error "__cpp_lib_constexpr_string should not be defined before c++20" 455 # endif 456 457 # ifdef __cpp_lib_constexpr_string_view 458 # error "__cpp_lib_constexpr_string_view should not be defined before c++20" 459 # endif 460 461 # ifdef __cpp_lib_constexpr_tuple 462 # error "__cpp_lib_constexpr_tuple should not be defined before c++20" 463 # endif 464 465 # ifdef __cpp_lib_constexpr_typeinfo 466 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23" 467 # endif 468 469 # ifdef __cpp_lib_constexpr_utility 470 # error "__cpp_lib_constexpr_utility should not be defined before c++20" 471 # endif 472 473 # ifdef __cpp_lib_constexpr_vector 474 # error "__cpp_lib_constexpr_vector should not be defined before c++20" 475 # endif 476 477 # ifdef __cpp_lib_constrained_equality 478 # error "__cpp_lib_constrained_equality should not be defined before c++26" 479 # endif 480 481 # ifdef __cpp_lib_containers_ranges 482 # error "__cpp_lib_containers_ranges should not be defined before c++23" 483 # endif 484 485 # ifdef __cpp_lib_copyable_function 486 # error "__cpp_lib_copyable_function should not be defined before c++26" 487 # endif 488 489 # ifdef __cpp_lib_coroutine 490 # error "__cpp_lib_coroutine should not be defined before c++20" 491 # endif 492 493 # ifdef __cpp_lib_debugging 494 # error "__cpp_lib_debugging should not be defined before c++26" 495 # endif 496 497 # ifdef __cpp_lib_default_template_type_for_algorithm_values 498 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26" 499 # endif 500 501 # ifdef __cpp_lib_destroying_delete 502 # error "__cpp_lib_destroying_delete should not be defined before c++20" 503 # endif 504 505 # ifdef __cpp_lib_enable_shared_from_this 506 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17" 507 # endif 508 509 # ifdef __cpp_lib_endian 510 # error "__cpp_lib_endian should not be defined before c++20" 511 # endif 512 513 # ifdef __cpp_lib_erase_if 514 # error "__cpp_lib_erase_if should not be defined before c++20" 515 # endif 516 517 # ifdef __cpp_lib_exchange_function 518 # error "__cpp_lib_exchange_function should not be defined before c++14" 519 # endif 520 521 # ifdef __cpp_lib_execution 522 # error "__cpp_lib_execution should not be defined before c++17" 523 # endif 524 525 # ifdef __cpp_lib_expected 526 # error "__cpp_lib_expected should not be defined before c++23" 527 # endif 528 529 # ifdef __cpp_lib_filesystem 530 # error "__cpp_lib_filesystem should not be defined before c++17" 531 # endif 532 533 # ifdef __cpp_lib_flat_map 534 # error "__cpp_lib_flat_map should not be defined before c++23" 535 # endif 536 537 # ifdef __cpp_lib_flat_set 538 # error "__cpp_lib_flat_set should not be defined before c++23" 539 # endif 540 541 # ifdef __cpp_lib_format 542 # error "__cpp_lib_format should not be defined before c++20" 543 # endif 544 545 # ifdef __cpp_lib_format_path 546 # error "__cpp_lib_format_path should not be defined before c++26" 547 # endif 548 549 # ifdef __cpp_lib_format_ranges 550 # error "__cpp_lib_format_ranges should not be defined before c++23" 551 # endif 552 553 # ifdef __cpp_lib_format_uchar 554 # error "__cpp_lib_format_uchar should not be defined before c++20" 555 # endif 556 557 # ifdef __cpp_lib_formatters 558 # error "__cpp_lib_formatters should not be defined before c++23" 559 # endif 560 561 # ifdef __cpp_lib_forward_like 562 # error "__cpp_lib_forward_like should not be defined before c++23" 563 # endif 564 565 # ifdef __cpp_lib_freestanding_algorithm 566 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26" 567 # endif 568 569 # ifdef __cpp_lib_freestanding_array 570 # error "__cpp_lib_freestanding_array should not be defined before c++26" 571 # endif 572 573 # ifdef __cpp_lib_freestanding_cstring 574 # error "__cpp_lib_freestanding_cstring should not be defined before c++26" 575 # endif 576 577 # ifdef __cpp_lib_freestanding_expected 578 # error "__cpp_lib_freestanding_expected should not be defined before c++26" 579 # endif 580 581 # ifdef __cpp_lib_freestanding_mdspan 582 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26" 583 # endif 584 585 # ifdef __cpp_lib_freestanding_optional 586 # error "__cpp_lib_freestanding_optional should not be defined before c++26" 587 # endif 588 589 # ifdef __cpp_lib_freestanding_string_view 590 # error "__cpp_lib_freestanding_string_view should not be defined before c++26" 591 # endif 592 593 # ifdef __cpp_lib_freestanding_variant 594 # error "__cpp_lib_freestanding_variant should not be defined before c++26" 595 # endif 596 597 # ifdef __cpp_lib_fstream_native_handle 598 # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 599 # endif 600 601 # ifdef __cpp_lib_function_ref 602 # error "__cpp_lib_function_ref should not be defined before c++26" 603 # endif 604 605 # ifdef __cpp_lib_gcd_lcm 606 # error "__cpp_lib_gcd_lcm should not be defined before c++17" 607 # endif 608 609 # ifdef __cpp_lib_generate_random 610 # error "__cpp_lib_generate_random should not be defined before c++26" 611 # endif 612 613 # ifdef __cpp_lib_generic_associative_lookup 614 # error "__cpp_lib_generic_associative_lookup should not be defined before c++14" 615 # endif 616 617 # ifdef __cpp_lib_generic_unordered_lookup 618 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20" 619 # endif 620 621 # ifdef __cpp_lib_hardware_interference_size 622 # error "__cpp_lib_hardware_interference_size should not be defined before c++17" 623 # endif 624 625 # ifdef __cpp_lib_has_unique_object_representations 626 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17" 627 # endif 628 629 # ifdef __cpp_lib_hazard_pointer 630 # error "__cpp_lib_hazard_pointer should not be defined before c++26" 631 # endif 632 633 # ifdef __cpp_lib_hypot 634 # error "__cpp_lib_hypot should not be defined before c++17" 635 # endif 636 637 # ifdef __cpp_lib_incomplete_container_elements 638 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17" 639 # endif 640 641 # ifdef __cpp_lib_inplace_vector 642 # error "__cpp_lib_inplace_vector should not be defined before c++26" 643 # endif 644 645 # ifdef __cpp_lib_int_pow2 646 # error "__cpp_lib_int_pow2 should not be defined before c++20" 647 # endif 648 649 # ifdef __cpp_lib_integer_comparison_functions 650 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20" 651 # endif 652 653 # ifdef __cpp_lib_integer_sequence 654 # error "__cpp_lib_integer_sequence should not be defined before c++14" 655 # endif 656 657 # ifdef __cpp_lib_integral_constant_callable 658 # error "__cpp_lib_integral_constant_callable should not be defined before c++14" 659 # endif 660 661 # ifdef __cpp_lib_interpolate 662 # error "__cpp_lib_interpolate should not be defined before c++20" 663 # endif 664 665 # ifdef __cpp_lib_invoke 666 # error "__cpp_lib_invoke should not be defined before c++17" 667 # endif 668 669 # ifdef __cpp_lib_invoke_r 670 # error "__cpp_lib_invoke_r should not be defined before c++23" 671 # endif 672 673 # ifdef __cpp_lib_ios_noreplace 674 # error "__cpp_lib_ios_noreplace should not be defined before c++23" 675 # endif 676 677 # ifdef __cpp_lib_is_aggregate 678 # error "__cpp_lib_is_aggregate should not be defined before c++17" 679 # endif 680 681 # ifdef __cpp_lib_is_constant_evaluated 682 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20" 683 # endif 684 685 # ifdef __cpp_lib_is_final 686 # error "__cpp_lib_is_final should not be defined before c++14" 687 # endif 688 689 # ifdef __cpp_lib_is_implicit_lifetime 690 # error "__cpp_lib_is_implicit_lifetime should not be defined before c++23" 691 # endif 692 693 # ifdef __cpp_lib_is_invocable 694 # error "__cpp_lib_is_invocable should not be defined before c++17" 695 # endif 696 697 # ifdef __cpp_lib_is_layout_compatible 698 # error "__cpp_lib_is_layout_compatible should not be defined before c++20" 699 # endif 700 701 # ifdef __cpp_lib_is_nothrow_convertible 702 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20" 703 # endif 704 705 # ifdef __cpp_lib_is_null_pointer 706 # error "__cpp_lib_is_null_pointer should not be defined before c++14" 707 # endif 708 709 # ifdef __cpp_lib_is_pointer_interconvertible 710 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20" 711 # endif 712 713 # ifdef __cpp_lib_is_scoped_enum 714 # error "__cpp_lib_is_scoped_enum should not be defined before c++23" 715 # endif 716 717 # ifdef __cpp_lib_is_swappable 718 # error "__cpp_lib_is_swappable should not be defined before c++17" 719 # endif 720 721 # ifdef __cpp_lib_is_virtual_base_of 722 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26" 723 # endif 724 725 # ifdef __cpp_lib_is_within_lifetime 726 # error "__cpp_lib_is_within_lifetime should not be defined before c++26" 727 # endif 728 729 # ifdef __cpp_lib_jthread 730 # error "__cpp_lib_jthread should not be defined before c++20" 731 # endif 732 733 # ifdef __cpp_lib_latch 734 # error "__cpp_lib_latch should not be defined before c++20" 735 # endif 736 737 # ifdef __cpp_lib_launder 738 # error "__cpp_lib_launder should not be defined before c++17" 739 # endif 740 741 # ifdef __cpp_lib_linalg 742 # error "__cpp_lib_linalg should not be defined before c++26" 743 # endif 744 745 # ifdef __cpp_lib_list_remove_return_type 746 # error "__cpp_lib_list_remove_return_type should not be defined before c++20" 747 # endif 748 749 # ifdef __cpp_lib_logical_traits 750 # error "__cpp_lib_logical_traits should not be defined before c++17" 751 # endif 752 753 # ifdef __cpp_lib_make_from_tuple 754 # error "__cpp_lib_make_from_tuple should not be defined before c++17" 755 # endif 756 757 # ifdef __cpp_lib_make_reverse_iterator 758 # error "__cpp_lib_make_reverse_iterator should not be defined before c++14" 759 # endif 760 761 # ifdef __cpp_lib_make_unique 762 # error "__cpp_lib_make_unique should not be defined before c++14" 763 # endif 764 765 # ifdef __cpp_lib_map_try_emplace 766 # error "__cpp_lib_map_try_emplace should not be defined before c++17" 767 # endif 768 769 # ifdef __cpp_lib_math_constants 770 # error "__cpp_lib_math_constants should not be defined before c++20" 771 # endif 772 773 # ifdef __cpp_lib_math_special_functions 774 # error "__cpp_lib_math_special_functions should not be defined before c++17" 775 # endif 776 777 # ifdef __cpp_lib_mdspan 778 # error "__cpp_lib_mdspan should not be defined before c++23" 779 # endif 780 781 # ifdef __cpp_lib_memory_resource 782 # error "__cpp_lib_memory_resource should not be defined before c++17" 783 # endif 784 785 # ifdef __cpp_lib_modules 786 # error "__cpp_lib_modules should not be defined before c++23" 787 # endif 788 789 # ifdef __cpp_lib_move_iterator_concept 790 # error "__cpp_lib_move_iterator_concept should not be defined before c++20" 791 # endif 792 793 # ifdef __cpp_lib_move_only_function 794 # error "__cpp_lib_move_only_function should not be defined before c++23" 795 # endif 796 797 # ifdef __cpp_lib_node_extract 798 # error "__cpp_lib_node_extract should not be defined before c++17" 799 # endif 800 801 # ifdef __cpp_lib_nonmember_container_access 802 # error "__cpp_lib_nonmember_container_access should not be defined before c++17" 803 # endif 804 805 # ifdef __cpp_lib_not_fn 806 # error "__cpp_lib_not_fn should not be defined before c++17" 807 # endif 808 809 # ifdef __cpp_lib_null_iterators 810 # error "__cpp_lib_null_iterators should not be defined before c++14" 811 # endif 812 813 # ifdef __cpp_lib_optional 814 # error "__cpp_lib_optional should not be defined before c++17" 815 # endif 816 817 # ifdef __cpp_lib_optional_range_support 818 # error "__cpp_lib_optional_range_support should not be defined before c++26" 819 # endif 820 821 # ifdef __cpp_lib_out_ptr 822 # error "__cpp_lib_out_ptr should not be defined before c++23" 823 # endif 824 825 # ifdef __cpp_lib_parallel_algorithm 826 # error "__cpp_lib_parallel_algorithm should not be defined before c++17" 827 # endif 828 829 # ifdef __cpp_lib_philox_engine 830 # error "__cpp_lib_philox_engine should not be defined before c++26" 831 # endif 832 833 # ifdef __cpp_lib_polymorphic_allocator 834 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20" 835 # endif 836 837 # ifdef __cpp_lib_print 838 # error "__cpp_lib_print should not be defined before c++23" 839 # endif 840 841 # ifdef __cpp_lib_quoted_string_io 842 # error "__cpp_lib_quoted_string_io should not be defined before c++14" 843 # endif 844 845 # ifdef __cpp_lib_ranges 846 # error "__cpp_lib_ranges should not be defined before c++20" 847 # endif 848 849 # ifdef __cpp_lib_ranges_as_const 850 # error "__cpp_lib_ranges_as_const should not be defined before c++23" 851 # endif 852 853 # ifdef __cpp_lib_ranges_as_rvalue 854 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23" 855 # endif 856 857 # ifdef __cpp_lib_ranges_chunk 858 # error "__cpp_lib_ranges_chunk should not be defined before c++23" 859 # endif 860 861 # ifdef __cpp_lib_ranges_chunk_by 862 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23" 863 # endif 864 865 # ifdef __cpp_lib_ranges_concat 866 # error "__cpp_lib_ranges_concat should not be defined before c++26" 867 # endif 868 869 # ifdef __cpp_lib_ranges_contains 870 # error "__cpp_lib_ranges_contains should not be defined before c++23" 871 # endif 872 873 # ifdef __cpp_lib_ranges_find_last 874 # error "__cpp_lib_ranges_find_last should not be defined before c++23" 875 # endif 876 877 # ifdef __cpp_lib_ranges_iota 878 # error "__cpp_lib_ranges_iota should not be defined before c++23" 879 # endif 880 881 # ifdef __cpp_lib_ranges_join_with 882 # error "__cpp_lib_ranges_join_with should not be defined before c++23" 883 # endif 884 885 # ifdef __cpp_lib_ranges_repeat 886 # error "__cpp_lib_ranges_repeat should not be defined before c++23" 887 # endif 888 889 # ifdef __cpp_lib_ranges_slide 890 # error "__cpp_lib_ranges_slide should not be defined before c++23" 891 # endif 892 893 # ifdef __cpp_lib_ranges_starts_ends_with 894 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23" 895 # endif 896 897 # ifdef __cpp_lib_ranges_to_container 898 # error "__cpp_lib_ranges_to_container should not be defined before c++23" 899 # endif 900 901 # ifdef __cpp_lib_ranges_zip 902 # error "__cpp_lib_ranges_zip should not be defined before c++23" 903 # endif 904 905 # ifdef __cpp_lib_ratio 906 # error "__cpp_lib_ratio should not be defined before c++26" 907 # endif 908 909 # ifdef __cpp_lib_raw_memory_algorithms 910 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17" 911 # endif 912 913 # ifdef __cpp_lib_rcu 914 # error "__cpp_lib_rcu should not be defined before c++26" 915 # endif 916 917 # ifdef __cpp_lib_reference_from_temporary 918 # error "__cpp_lib_reference_from_temporary should not be defined before c++23" 919 # endif 920 921 # ifdef __cpp_lib_reference_wrapper 922 # error "__cpp_lib_reference_wrapper should not be defined before c++26" 923 # endif 924 925 # ifdef __cpp_lib_remove_cvref 926 # error "__cpp_lib_remove_cvref should not be defined before c++20" 927 # endif 928 929 # ifdef __cpp_lib_result_of_sfinae 930 # error "__cpp_lib_result_of_sfinae should not be defined before c++14" 931 # endif 932 933 # ifdef __cpp_lib_robust_nonmodifying_seq_ops 934 # error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14" 935 # endif 936 937 # ifdef __cpp_lib_sample 938 # error "__cpp_lib_sample should not be defined before c++17" 939 # endif 940 941 # ifdef __cpp_lib_saturation_arithmetic 942 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26" 943 # endif 944 945 # ifdef __cpp_lib_scoped_lock 946 # error "__cpp_lib_scoped_lock should not be defined before c++17" 947 # endif 948 949 # ifdef __cpp_lib_semaphore 950 # error "__cpp_lib_semaphore should not be defined before c++20" 951 # endif 952 953 # ifdef __cpp_lib_senders 954 # error "__cpp_lib_senders should not be defined before c++26" 955 # endif 956 957 # ifdef __cpp_lib_shared_mutex 958 # error "__cpp_lib_shared_mutex should not be defined before c++17" 959 # endif 960 961 # ifdef __cpp_lib_shared_ptr_arrays 962 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17" 963 # endif 964 965 # ifdef __cpp_lib_shared_ptr_weak_type 966 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17" 967 # endif 968 969 # ifdef __cpp_lib_shared_timed_mutex 970 # error "__cpp_lib_shared_timed_mutex should not be defined before c++14" 971 # endif 972 973 # ifdef __cpp_lib_shift 974 # error "__cpp_lib_shift should not be defined before c++20" 975 # endif 976 977 # ifdef __cpp_lib_smart_ptr_for_overwrite 978 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20" 979 # endif 980 981 # ifdef __cpp_lib_smart_ptr_owner_equality 982 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 983 # endif 984 985 # ifdef __cpp_lib_source_location 986 # error "__cpp_lib_source_location should not be defined before c++20" 987 # endif 988 989 # ifdef __cpp_lib_span 990 # error "__cpp_lib_span should not be defined before c++20" 991 # endif 992 993 # ifdef __cpp_lib_span_at 994 # error "__cpp_lib_span_at should not be defined before c++26" 995 # endif 996 997 # ifdef __cpp_lib_span_initializer_list 998 # error "__cpp_lib_span_initializer_list should not be defined before c++26" 999 # endif 1000 1001 # ifdef __cpp_lib_spanstream 1002 # error "__cpp_lib_spanstream should not be defined before c++23" 1003 # endif 1004 1005 # ifdef __cpp_lib_ssize 1006 # error "__cpp_lib_ssize should not be defined before c++20" 1007 # endif 1008 1009 # ifdef __cpp_lib_sstream_from_string_view 1010 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26" 1011 # endif 1012 1013 # ifdef __cpp_lib_stacktrace 1014 # error "__cpp_lib_stacktrace should not be defined before c++23" 1015 # endif 1016 1017 # ifdef __cpp_lib_starts_ends_with 1018 # error "__cpp_lib_starts_ends_with should not be defined before c++20" 1019 # endif 1020 1021 # ifdef __cpp_lib_stdatomic_h 1022 # error "__cpp_lib_stdatomic_h should not be defined before c++23" 1023 # endif 1024 1025 # ifdef __cpp_lib_string_contains 1026 # error "__cpp_lib_string_contains should not be defined before c++23" 1027 # endif 1028 1029 # ifdef __cpp_lib_string_resize_and_overwrite 1030 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23" 1031 # endif 1032 1033 # ifdef __cpp_lib_string_udls 1034 # error "__cpp_lib_string_udls should not be defined before c++14" 1035 # endif 1036 1037 # ifdef __cpp_lib_string_view 1038 # error "__cpp_lib_string_view should not be defined before c++17" 1039 # endif 1040 1041 # ifdef __cpp_lib_submdspan 1042 # error "__cpp_lib_submdspan should not be defined before c++26" 1043 # endif 1044 1045 # ifdef __cpp_lib_syncbuf 1046 # error "__cpp_lib_syncbuf should not be defined before c++20" 1047 # endif 1048 1049 # ifdef __cpp_lib_text_encoding 1050 # error "__cpp_lib_text_encoding should not be defined before c++26" 1051 # endif 1052 1053 # ifdef __cpp_lib_three_way_comparison 1054 # error "__cpp_lib_three_way_comparison should not be defined before c++20" 1055 # endif 1056 1057 # ifdef __cpp_lib_to_address 1058 # error "__cpp_lib_to_address should not be defined before c++20" 1059 # endif 1060 1061 # ifdef __cpp_lib_to_array 1062 # error "__cpp_lib_to_array should not be defined before c++20" 1063 # endif 1064 1065 # ifdef __cpp_lib_to_chars 1066 # error "__cpp_lib_to_chars should not be defined before c++17" 1067 # endif 1068 1069 # ifdef __cpp_lib_to_string 1070 # error "__cpp_lib_to_string should not be defined before c++26" 1071 # endif 1072 1073 # ifdef __cpp_lib_to_underlying 1074 # error "__cpp_lib_to_underlying should not be defined before c++23" 1075 # endif 1076 1077 # ifdef __cpp_lib_transformation_trait_aliases 1078 # error "__cpp_lib_transformation_trait_aliases should not be defined before c++14" 1079 # endif 1080 1081 # ifdef __cpp_lib_transparent_operators 1082 # error "__cpp_lib_transparent_operators should not be defined before c++14" 1083 # endif 1084 1085 # ifdef __cpp_lib_tuple_element_t 1086 # error "__cpp_lib_tuple_element_t should not be defined before c++14" 1087 # endif 1088 1089 # ifdef __cpp_lib_tuple_like 1090 # error "__cpp_lib_tuple_like should not be defined before c++23" 1091 # endif 1092 1093 # ifdef __cpp_lib_tuples_by_type 1094 # error "__cpp_lib_tuples_by_type should not be defined before c++14" 1095 # endif 1096 1097 # ifdef __cpp_lib_type_identity 1098 # error "__cpp_lib_type_identity should not be defined before c++20" 1099 # endif 1100 1101 # ifdef __cpp_lib_type_trait_variable_templates 1102 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17" 1103 # endif 1104 1105 # ifdef __cpp_lib_uncaught_exceptions 1106 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17" 1107 # endif 1108 1109 # ifdef __cpp_lib_unordered_map_try_emplace 1110 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17" 1111 # endif 1112 1113 # ifdef __cpp_lib_unreachable 1114 # error "__cpp_lib_unreachable should not be defined before c++23" 1115 # endif 1116 1117 # ifdef __cpp_lib_unwrap_ref 1118 # error "__cpp_lib_unwrap_ref should not be defined before c++20" 1119 # endif 1120 1121 # ifdef __cpp_lib_variant 1122 # error "__cpp_lib_variant should not be defined before c++17" 1123 # endif 1124 1125 # ifdef __cpp_lib_void_t 1126 # error "__cpp_lib_void_t should not be defined before c++17" 1127 # endif 1128 1129 #elif TEST_STD_VER == 14 1130 1131 # ifdef __cpp_lib_adaptor_iterator_pair_constructor 1132 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23" 1133 # endif 1134 1135 # ifdef __cpp_lib_addressof_constexpr 1136 # error "__cpp_lib_addressof_constexpr should not be defined before c++17" 1137 # endif 1138 1139 # ifdef __cpp_lib_allocate_at_least 1140 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 1141 # endif 1142 1143 # ifdef __cpp_lib_allocator_traits_is_always_equal 1144 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17" 1145 # endif 1146 1147 # ifdef __cpp_lib_any 1148 # error "__cpp_lib_any should not be defined before c++17" 1149 # endif 1150 1151 # ifdef __cpp_lib_apply 1152 # error "__cpp_lib_apply should not be defined before c++17" 1153 # endif 1154 1155 # ifdef __cpp_lib_array_constexpr 1156 # error "__cpp_lib_array_constexpr should not be defined before c++17" 1157 # endif 1158 1159 # ifdef __cpp_lib_as_const 1160 # error "__cpp_lib_as_const should not be defined before c++17" 1161 # endif 1162 1163 # ifdef __cpp_lib_associative_heterogeneous_erasure 1164 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23" 1165 # endif 1166 1167 # ifdef __cpp_lib_associative_heterogeneous_insertion 1168 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26" 1169 # endif 1170 1171 # ifdef __cpp_lib_assume_aligned 1172 # error "__cpp_lib_assume_aligned should not be defined before c++20" 1173 # endif 1174 1175 # ifdef __cpp_lib_atomic_flag_test 1176 # error "__cpp_lib_atomic_flag_test should not be defined before c++20" 1177 # endif 1178 1179 # ifdef __cpp_lib_atomic_float 1180 # error "__cpp_lib_atomic_float should not be defined before c++20" 1181 # endif 1182 1183 # ifdef __cpp_lib_atomic_is_always_lock_free 1184 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17" 1185 # endif 1186 1187 # ifdef __cpp_lib_atomic_lock_free_type_aliases 1188 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20" 1189 # endif 1190 1191 # ifdef __cpp_lib_atomic_min_max 1192 # error "__cpp_lib_atomic_min_max should not be defined before c++26" 1193 # endif 1194 1195 # ifdef __cpp_lib_atomic_ref 1196 # error "__cpp_lib_atomic_ref should not be defined before c++20" 1197 # endif 1198 1199 # ifdef __cpp_lib_atomic_shared_ptr 1200 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20" 1201 # endif 1202 1203 # ifdef __cpp_lib_atomic_value_initialization 1204 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20" 1205 # endif 1206 1207 # ifdef __cpp_lib_atomic_wait 1208 # error "__cpp_lib_atomic_wait should not be defined before c++20" 1209 # endif 1210 1211 # ifdef __cpp_lib_barrier 1212 # error "__cpp_lib_barrier should not be defined before c++20" 1213 # endif 1214 1215 # ifdef __cpp_lib_bind_back 1216 # error "__cpp_lib_bind_back should not be defined before c++23" 1217 # endif 1218 1219 # ifdef __cpp_lib_bind_front 1220 # error "__cpp_lib_bind_front should not be defined before c++20" 1221 # endif 1222 1223 # ifdef __cpp_lib_bit_cast 1224 # error "__cpp_lib_bit_cast should not be defined before c++20" 1225 # endif 1226 1227 # ifdef __cpp_lib_bitops 1228 # error "__cpp_lib_bitops should not be defined before c++20" 1229 # endif 1230 1231 # ifdef __cpp_lib_bitset 1232 # error "__cpp_lib_bitset should not be defined before c++26" 1233 # endif 1234 1235 # ifdef __cpp_lib_bool_constant 1236 # error "__cpp_lib_bool_constant should not be defined before c++17" 1237 # endif 1238 1239 # ifdef __cpp_lib_bounded_array_traits 1240 # error "__cpp_lib_bounded_array_traits should not be defined before c++20" 1241 # endif 1242 1243 # ifdef __cpp_lib_boyer_moore_searcher 1244 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17" 1245 # endif 1246 1247 # ifdef __cpp_lib_byte 1248 # error "__cpp_lib_byte should not be defined before c++17" 1249 # endif 1250 1251 # ifdef __cpp_lib_byteswap 1252 # error "__cpp_lib_byteswap should not be defined before c++23" 1253 # endif 1254 1255 # ifdef __cpp_lib_char8_t 1256 # error "__cpp_lib_char8_t should not be defined before c++20" 1257 # endif 1258 1259 # ifdef __cpp_lib_chrono 1260 # error "__cpp_lib_chrono should not be defined before c++17" 1261 # endif 1262 1263 # ifndef __cpp_lib_chrono_udls 1264 # error "__cpp_lib_chrono_udls should be defined in c++14" 1265 # endif 1266 # if __cpp_lib_chrono_udls != 201304L 1267 # error "__cpp_lib_chrono_udls should have the value 201304L in c++14" 1268 # endif 1269 1270 # ifdef __cpp_lib_clamp 1271 # error "__cpp_lib_clamp should not be defined before c++17" 1272 # endif 1273 1274 # ifndef __cpp_lib_complex_udls 1275 # error "__cpp_lib_complex_udls should be defined in c++14" 1276 # endif 1277 # if __cpp_lib_complex_udls != 201309L 1278 # error "__cpp_lib_complex_udls should have the value 201309L in c++14" 1279 # endif 1280 1281 # ifdef __cpp_lib_concepts 1282 # error "__cpp_lib_concepts should not be defined before c++20" 1283 # endif 1284 1285 # ifdef __cpp_lib_constexpr_algorithms 1286 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20" 1287 # endif 1288 1289 # ifdef __cpp_lib_constexpr_bitset 1290 # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 1291 # endif 1292 1293 # ifdef __cpp_lib_constexpr_charconv 1294 # error "__cpp_lib_constexpr_charconv should not be defined before c++23" 1295 # endif 1296 1297 # ifdef __cpp_lib_constexpr_cmath 1298 # error "__cpp_lib_constexpr_cmath should not be defined before c++23" 1299 # endif 1300 1301 # ifdef __cpp_lib_constexpr_complex 1302 # error "__cpp_lib_constexpr_complex should not be defined before c++20" 1303 # endif 1304 1305 # ifdef __cpp_lib_constexpr_dynamic_alloc 1306 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20" 1307 # endif 1308 1309 # ifdef __cpp_lib_constexpr_functional 1310 # error "__cpp_lib_constexpr_functional should not be defined before c++20" 1311 # endif 1312 1313 # ifdef __cpp_lib_constexpr_iterator 1314 # error "__cpp_lib_constexpr_iterator should not be defined before c++20" 1315 # endif 1316 1317 # ifdef __cpp_lib_constexpr_memory 1318 # error "__cpp_lib_constexpr_memory should not be defined before c++20" 1319 # endif 1320 1321 # ifdef __cpp_lib_constexpr_new 1322 # error "__cpp_lib_constexpr_new should not be defined before c++26" 1323 # endif 1324 1325 # ifdef __cpp_lib_constexpr_numeric 1326 # error "__cpp_lib_constexpr_numeric should not be defined before c++20" 1327 # endif 1328 1329 # ifdef __cpp_lib_constexpr_string 1330 # error "__cpp_lib_constexpr_string should not be defined before c++20" 1331 # endif 1332 1333 # ifdef __cpp_lib_constexpr_string_view 1334 # error "__cpp_lib_constexpr_string_view should not be defined before c++20" 1335 # endif 1336 1337 # ifdef __cpp_lib_constexpr_tuple 1338 # error "__cpp_lib_constexpr_tuple should not be defined before c++20" 1339 # endif 1340 1341 # ifdef __cpp_lib_constexpr_typeinfo 1342 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23" 1343 # endif 1344 1345 # ifdef __cpp_lib_constexpr_utility 1346 # error "__cpp_lib_constexpr_utility should not be defined before c++20" 1347 # endif 1348 1349 # ifdef __cpp_lib_constexpr_vector 1350 # error "__cpp_lib_constexpr_vector should not be defined before c++20" 1351 # endif 1352 1353 # ifdef __cpp_lib_constrained_equality 1354 # error "__cpp_lib_constrained_equality should not be defined before c++26" 1355 # endif 1356 1357 # ifdef __cpp_lib_containers_ranges 1358 # error "__cpp_lib_containers_ranges should not be defined before c++23" 1359 # endif 1360 1361 # ifdef __cpp_lib_copyable_function 1362 # error "__cpp_lib_copyable_function should not be defined before c++26" 1363 # endif 1364 1365 # ifdef __cpp_lib_coroutine 1366 # error "__cpp_lib_coroutine should not be defined before c++20" 1367 # endif 1368 1369 # ifdef __cpp_lib_debugging 1370 # error "__cpp_lib_debugging should not be defined before c++26" 1371 # endif 1372 1373 # ifdef __cpp_lib_default_template_type_for_algorithm_values 1374 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26" 1375 # endif 1376 1377 # ifdef __cpp_lib_destroying_delete 1378 # error "__cpp_lib_destroying_delete should not be defined before c++20" 1379 # endif 1380 1381 # ifdef __cpp_lib_enable_shared_from_this 1382 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17" 1383 # endif 1384 1385 # ifdef __cpp_lib_endian 1386 # error "__cpp_lib_endian should not be defined before c++20" 1387 # endif 1388 1389 # ifdef __cpp_lib_erase_if 1390 # error "__cpp_lib_erase_if should not be defined before c++20" 1391 # endif 1392 1393 # ifndef __cpp_lib_exchange_function 1394 # error "__cpp_lib_exchange_function should be defined in c++14" 1395 # endif 1396 # if __cpp_lib_exchange_function != 201304L 1397 # error "__cpp_lib_exchange_function should have the value 201304L in c++14" 1398 # endif 1399 1400 # ifdef __cpp_lib_execution 1401 # error "__cpp_lib_execution should not be defined before c++17" 1402 # endif 1403 1404 # ifdef __cpp_lib_expected 1405 # error "__cpp_lib_expected should not be defined before c++23" 1406 # endif 1407 1408 # ifdef __cpp_lib_filesystem 1409 # error "__cpp_lib_filesystem should not be defined before c++17" 1410 # endif 1411 1412 # ifdef __cpp_lib_flat_map 1413 # error "__cpp_lib_flat_map should not be defined before c++23" 1414 # endif 1415 1416 # ifdef __cpp_lib_flat_set 1417 # error "__cpp_lib_flat_set should not be defined before c++23" 1418 # endif 1419 1420 # ifdef __cpp_lib_format 1421 # error "__cpp_lib_format should not be defined before c++20" 1422 # endif 1423 1424 # ifdef __cpp_lib_format_path 1425 # error "__cpp_lib_format_path should not be defined before c++26" 1426 # endif 1427 1428 # ifdef __cpp_lib_format_ranges 1429 # error "__cpp_lib_format_ranges should not be defined before c++23" 1430 # endif 1431 1432 # ifdef __cpp_lib_format_uchar 1433 # error "__cpp_lib_format_uchar should not be defined before c++20" 1434 # endif 1435 1436 # ifdef __cpp_lib_formatters 1437 # error "__cpp_lib_formatters should not be defined before c++23" 1438 # endif 1439 1440 # ifdef __cpp_lib_forward_like 1441 # error "__cpp_lib_forward_like should not be defined before c++23" 1442 # endif 1443 1444 # ifdef __cpp_lib_freestanding_algorithm 1445 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26" 1446 # endif 1447 1448 # ifdef __cpp_lib_freestanding_array 1449 # error "__cpp_lib_freestanding_array should not be defined before c++26" 1450 # endif 1451 1452 # ifdef __cpp_lib_freestanding_cstring 1453 # error "__cpp_lib_freestanding_cstring should not be defined before c++26" 1454 # endif 1455 1456 # ifdef __cpp_lib_freestanding_expected 1457 # error "__cpp_lib_freestanding_expected should not be defined before c++26" 1458 # endif 1459 1460 # ifdef __cpp_lib_freestanding_mdspan 1461 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26" 1462 # endif 1463 1464 # ifdef __cpp_lib_freestanding_optional 1465 # error "__cpp_lib_freestanding_optional should not be defined before c++26" 1466 # endif 1467 1468 # ifdef __cpp_lib_freestanding_string_view 1469 # error "__cpp_lib_freestanding_string_view should not be defined before c++26" 1470 # endif 1471 1472 # ifdef __cpp_lib_freestanding_variant 1473 # error "__cpp_lib_freestanding_variant should not be defined before c++26" 1474 # endif 1475 1476 # ifdef __cpp_lib_fstream_native_handle 1477 # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 1478 # endif 1479 1480 # ifdef __cpp_lib_function_ref 1481 # error "__cpp_lib_function_ref should not be defined before c++26" 1482 # endif 1483 1484 # ifdef __cpp_lib_gcd_lcm 1485 # error "__cpp_lib_gcd_lcm should not be defined before c++17" 1486 # endif 1487 1488 # ifdef __cpp_lib_generate_random 1489 # error "__cpp_lib_generate_random should not be defined before c++26" 1490 # endif 1491 1492 # ifndef __cpp_lib_generic_associative_lookup 1493 # error "__cpp_lib_generic_associative_lookup should be defined in c++14" 1494 # endif 1495 # if __cpp_lib_generic_associative_lookup != 201304L 1496 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14" 1497 # endif 1498 1499 # ifdef __cpp_lib_generic_unordered_lookup 1500 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20" 1501 # endif 1502 1503 # ifdef __cpp_lib_hardware_interference_size 1504 # error "__cpp_lib_hardware_interference_size should not be defined before c++17" 1505 # endif 1506 1507 # ifdef __cpp_lib_has_unique_object_representations 1508 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17" 1509 # endif 1510 1511 # ifdef __cpp_lib_hazard_pointer 1512 # error "__cpp_lib_hazard_pointer should not be defined before c++26" 1513 # endif 1514 1515 # ifdef __cpp_lib_hypot 1516 # error "__cpp_lib_hypot should not be defined before c++17" 1517 # endif 1518 1519 # ifdef __cpp_lib_incomplete_container_elements 1520 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17" 1521 # endif 1522 1523 # ifdef __cpp_lib_inplace_vector 1524 # error "__cpp_lib_inplace_vector should not be defined before c++26" 1525 # endif 1526 1527 # ifdef __cpp_lib_int_pow2 1528 # error "__cpp_lib_int_pow2 should not be defined before c++20" 1529 # endif 1530 1531 # ifdef __cpp_lib_integer_comparison_functions 1532 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20" 1533 # endif 1534 1535 # ifndef __cpp_lib_integer_sequence 1536 # error "__cpp_lib_integer_sequence should be defined in c++14" 1537 # endif 1538 # if __cpp_lib_integer_sequence != 201304L 1539 # error "__cpp_lib_integer_sequence should have the value 201304L in c++14" 1540 # endif 1541 1542 # ifndef __cpp_lib_integral_constant_callable 1543 # error "__cpp_lib_integral_constant_callable should be defined in c++14" 1544 # endif 1545 # if __cpp_lib_integral_constant_callable != 201304L 1546 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14" 1547 # endif 1548 1549 # ifdef __cpp_lib_interpolate 1550 # error "__cpp_lib_interpolate should not be defined before c++20" 1551 # endif 1552 1553 # ifdef __cpp_lib_invoke 1554 # error "__cpp_lib_invoke should not be defined before c++17" 1555 # endif 1556 1557 # ifdef __cpp_lib_invoke_r 1558 # error "__cpp_lib_invoke_r should not be defined before c++23" 1559 # endif 1560 1561 # ifdef __cpp_lib_ios_noreplace 1562 # error "__cpp_lib_ios_noreplace should not be defined before c++23" 1563 # endif 1564 1565 # ifdef __cpp_lib_is_aggregate 1566 # error "__cpp_lib_is_aggregate should not be defined before c++17" 1567 # endif 1568 1569 # ifdef __cpp_lib_is_constant_evaluated 1570 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20" 1571 # endif 1572 1573 # ifndef __cpp_lib_is_final 1574 # error "__cpp_lib_is_final should be defined in c++14" 1575 # endif 1576 # if __cpp_lib_is_final != 201402L 1577 # error "__cpp_lib_is_final should have the value 201402L in c++14" 1578 # endif 1579 1580 # ifdef __cpp_lib_is_implicit_lifetime 1581 # error "__cpp_lib_is_implicit_lifetime should not be defined before c++23" 1582 # endif 1583 1584 # ifdef __cpp_lib_is_invocable 1585 # error "__cpp_lib_is_invocable should not be defined before c++17" 1586 # endif 1587 1588 # ifdef __cpp_lib_is_layout_compatible 1589 # error "__cpp_lib_is_layout_compatible should not be defined before c++20" 1590 # endif 1591 1592 # ifdef __cpp_lib_is_nothrow_convertible 1593 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20" 1594 # endif 1595 1596 # ifndef __cpp_lib_is_null_pointer 1597 # error "__cpp_lib_is_null_pointer should be defined in c++14" 1598 # endif 1599 # if __cpp_lib_is_null_pointer != 201309L 1600 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++14" 1601 # endif 1602 1603 # ifdef __cpp_lib_is_pointer_interconvertible 1604 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20" 1605 # endif 1606 1607 # ifdef __cpp_lib_is_scoped_enum 1608 # error "__cpp_lib_is_scoped_enum should not be defined before c++23" 1609 # endif 1610 1611 # ifdef __cpp_lib_is_swappable 1612 # error "__cpp_lib_is_swappable should not be defined before c++17" 1613 # endif 1614 1615 # ifdef __cpp_lib_is_virtual_base_of 1616 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26" 1617 # endif 1618 1619 # ifdef __cpp_lib_is_within_lifetime 1620 # error "__cpp_lib_is_within_lifetime should not be defined before c++26" 1621 # endif 1622 1623 # ifdef __cpp_lib_jthread 1624 # error "__cpp_lib_jthread should not be defined before c++20" 1625 # endif 1626 1627 # ifdef __cpp_lib_latch 1628 # error "__cpp_lib_latch should not be defined before c++20" 1629 # endif 1630 1631 # ifdef __cpp_lib_launder 1632 # error "__cpp_lib_launder should not be defined before c++17" 1633 # endif 1634 1635 # ifdef __cpp_lib_linalg 1636 # error "__cpp_lib_linalg should not be defined before c++26" 1637 # endif 1638 1639 # ifdef __cpp_lib_list_remove_return_type 1640 # error "__cpp_lib_list_remove_return_type should not be defined before c++20" 1641 # endif 1642 1643 # ifdef __cpp_lib_logical_traits 1644 # error "__cpp_lib_logical_traits should not be defined before c++17" 1645 # endif 1646 1647 # ifdef __cpp_lib_make_from_tuple 1648 # error "__cpp_lib_make_from_tuple should not be defined before c++17" 1649 # endif 1650 1651 # ifndef __cpp_lib_make_reverse_iterator 1652 # error "__cpp_lib_make_reverse_iterator should be defined in c++14" 1653 # endif 1654 # if __cpp_lib_make_reverse_iterator != 201402L 1655 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14" 1656 # endif 1657 1658 # ifndef __cpp_lib_make_unique 1659 # error "__cpp_lib_make_unique should be defined in c++14" 1660 # endif 1661 # if __cpp_lib_make_unique != 201304L 1662 # error "__cpp_lib_make_unique should have the value 201304L in c++14" 1663 # endif 1664 1665 # ifdef __cpp_lib_map_try_emplace 1666 # error "__cpp_lib_map_try_emplace should not be defined before c++17" 1667 # endif 1668 1669 # ifdef __cpp_lib_math_constants 1670 # error "__cpp_lib_math_constants should not be defined before c++20" 1671 # endif 1672 1673 # ifdef __cpp_lib_math_special_functions 1674 # error "__cpp_lib_math_special_functions should not be defined before c++17" 1675 # endif 1676 1677 # ifdef __cpp_lib_mdspan 1678 # error "__cpp_lib_mdspan should not be defined before c++23" 1679 # endif 1680 1681 # ifdef __cpp_lib_memory_resource 1682 # error "__cpp_lib_memory_resource should not be defined before c++17" 1683 # endif 1684 1685 # ifdef __cpp_lib_modules 1686 # error "__cpp_lib_modules should not be defined before c++23" 1687 # endif 1688 1689 # ifdef __cpp_lib_move_iterator_concept 1690 # error "__cpp_lib_move_iterator_concept should not be defined before c++20" 1691 # endif 1692 1693 # ifdef __cpp_lib_move_only_function 1694 # error "__cpp_lib_move_only_function should not be defined before c++23" 1695 # endif 1696 1697 # ifdef __cpp_lib_node_extract 1698 # error "__cpp_lib_node_extract should not be defined before c++17" 1699 # endif 1700 1701 # ifdef __cpp_lib_nonmember_container_access 1702 # error "__cpp_lib_nonmember_container_access should not be defined before c++17" 1703 # endif 1704 1705 # ifdef __cpp_lib_not_fn 1706 # error "__cpp_lib_not_fn should not be defined before c++17" 1707 # endif 1708 1709 # ifndef __cpp_lib_null_iterators 1710 # error "__cpp_lib_null_iterators should be defined in c++14" 1711 # endif 1712 # if __cpp_lib_null_iterators != 201304L 1713 # error "__cpp_lib_null_iterators should have the value 201304L in c++14" 1714 # endif 1715 1716 # ifdef __cpp_lib_optional 1717 # error "__cpp_lib_optional should not be defined before c++17" 1718 # endif 1719 1720 # ifdef __cpp_lib_optional_range_support 1721 # error "__cpp_lib_optional_range_support should not be defined before c++26" 1722 # endif 1723 1724 # ifdef __cpp_lib_out_ptr 1725 # error "__cpp_lib_out_ptr should not be defined before c++23" 1726 # endif 1727 1728 # ifdef __cpp_lib_parallel_algorithm 1729 # error "__cpp_lib_parallel_algorithm should not be defined before c++17" 1730 # endif 1731 1732 # ifdef __cpp_lib_philox_engine 1733 # error "__cpp_lib_philox_engine should not be defined before c++26" 1734 # endif 1735 1736 # ifdef __cpp_lib_polymorphic_allocator 1737 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20" 1738 # endif 1739 1740 # ifdef __cpp_lib_print 1741 # error "__cpp_lib_print should not be defined before c++23" 1742 # endif 1743 1744 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION 1745 # ifndef __cpp_lib_quoted_string_io 1746 # error "__cpp_lib_quoted_string_io should be defined in c++14" 1747 # endif 1748 # if __cpp_lib_quoted_string_io != 201304L 1749 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++14" 1750 # endif 1751 # else 1752 # ifdef __cpp_lib_quoted_string_io 1753 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!" 1754 # endif 1755 # endif 1756 1757 # ifdef __cpp_lib_ranges 1758 # error "__cpp_lib_ranges should not be defined before c++20" 1759 # endif 1760 1761 # ifdef __cpp_lib_ranges_as_const 1762 # error "__cpp_lib_ranges_as_const should not be defined before c++23" 1763 # endif 1764 1765 # ifdef __cpp_lib_ranges_as_rvalue 1766 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23" 1767 # endif 1768 1769 # ifdef __cpp_lib_ranges_chunk 1770 # error "__cpp_lib_ranges_chunk should not be defined before c++23" 1771 # endif 1772 1773 # ifdef __cpp_lib_ranges_chunk_by 1774 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23" 1775 # endif 1776 1777 # ifdef __cpp_lib_ranges_concat 1778 # error "__cpp_lib_ranges_concat should not be defined before c++26" 1779 # endif 1780 1781 # ifdef __cpp_lib_ranges_contains 1782 # error "__cpp_lib_ranges_contains should not be defined before c++23" 1783 # endif 1784 1785 # ifdef __cpp_lib_ranges_find_last 1786 # error "__cpp_lib_ranges_find_last should not be defined before c++23" 1787 # endif 1788 1789 # ifdef __cpp_lib_ranges_iota 1790 # error "__cpp_lib_ranges_iota should not be defined before c++23" 1791 # endif 1792 1793 # ifdef __cpp_lib_ranges_join_with 1794 # error "__cpp_lib_ranges_join_with should not be defined before c++23" 1795 # endif 1796 1797 # ifdef __cpp_lib_ranges_repeat 1798 # error "__cpp_lib_ranges_repeat should not be defined before c++23" 1799 # endif 1800 1801 # ifdef __cpp_lib_ranges_slide 1802 # error "__cpp_lib_ranges_slide should not be defined before c++23" 1803 # endif 1804 1805 # ifdef __cpp_lib_ranges_starts_ends_with 1806 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23" 1807 # endif 1808 1809 # ifdef __cpp_lib_ranges_to_container 1810 # error "__cpp_lib_ranges_to_container should not be defined before c++23" 1811 # endif 1812 1813 # ifdef __cpp_lib_ranges_zip 1814 # error "__cpp_lib_ranges_zip should not be defined before c++23" 1815 # endif 1816 1817 # ifdef __cpp_lib_ratio 1818 # error "__cpp_lib_ratio should not be defined before c++26" 1819 # endif 1820 1821 # ifdef __cpp_lib_raw_memory_algorithms 1822 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17" 1823 # endif 1824 1825 # ifdef __cpp_lib_rcu 1826 # error "__cpp_lib_rcu should not be defined before c++26" 1827 # endif 1828 1829 # ifdef __cpp_lib_reference_from_temporary 1830 # error "__cpp_lib_reference_from_temporary should not be defined before c++23" 1831 # endif 1832 1833 # ifdef __cpp_lib_reference_wrapper 1834 # error "__cpp_lib_reference_wrapper should not be defined before c++26" 1835 # endif 1836 1837 # ifdef __cpp_lib_remove_cvref 1838 # error "__cpp_lib_remove_cvref should not be defined before c++20" 1839 # endif 1840 1841 # ifndef __cpp_lib_result_of_sfinae 1842 # error "__cpp_lib_result_of_sfinae should be defined in c++14" 1843 # endif 1844 # if __cpp_lib_result_of_sfinae != 201210L 1845 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14" 1846 # endif 1847 1848 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 1849 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14" 1850 # endif 1851 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 1852 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14" 1853 # endif 1854 1855 # ifdef __cpp_lib_sample 1856 # error "__cpp_lib_sample should not be defined before c++17" 1857 # endif 1858 1859 # ifdef __cpp_lib_saturation_arithmetic 1860 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26" 1861 # endif 1862 1863 # ifdef __cpp_lib_scoped_lock 1864 # error "__cpp_lib_scoped_lock should not be defined before c++17" 1865 # endif 1866 1867 # ifdef __cpp_lib_semaphore 1868 # error "__cpp_lib_semaphore should not be defined before c++20" 1869 # endif 1870 1871 # ifdef __cpp_lib_senders 1872 # error "__cpp_lib_senders should not be defined before c++26" 1873 # endif 1874 1875 # ifdef __cpp_lib_shared_mutex 1876 # error "__cpp_lib_shared_mutex should not be defined before c++17" 1877 # endif 1878 1879 # ifdef __cpp_lib_shared_ptr_arrays 1880 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17" 1881 # endif 1882 1883 # ifdef __cpp_lib_shared_ptr_weak_type 1884 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17" 1885 # endif 1886 1887 # if _LIBCPP_HAS_THREADS 1888 # ifndef __cpp_lib_shared_timed_mutex 1889 # error "__cpp_lib_shared_timed_mutex should be defined in c++14" 1890 # endif 1891 # if __cpp_lib_shared_timed_mutex != 201402L 1892 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14" 1893 # endif 1894 # else 1895 # ifdef __cpp_lib_shared_timed_mutex 1896 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 1897 # endif 1898 # endif 1899 1900 # ifdef __cpp_lib_shift 1901 # error "__cpp_lib_shift should not be defined before c++20" 1902 # endif 1903 1904 # ifdef __cpp_lib_smart_ptr_for_overwrite 1905 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20" 1906 # endif 1907 1908 # ifdef __cpp_lib_smart_ptr_owner_equality 1909 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 1910 # endif 1911 1912 # ifdef __cpp_lib_source_location 1913 # error "__cpp_lib_source_location should not be defined before c++20" 1914 # endif 1915 1916 # ifdef __cpp_lib_span 1917 # error "__cpp_lib_span should not be defined before c++20" 1918 # endif 1919 1920 # ifdef __cpp_lib_span_at 1921 # error "__cpp_lib_span_at should not be defined before c++26" 1922 # endif 1923 1924 # ifdef __cpp_lib_span_initializer_list 1925 # error "__cpp_lib_span_initializer_list should not be defined before c++26" 1926 # endif 1927 1928 # ifdef __cpp_lib_spanstream 1929 # error "__cpp_lib_spanstream should not be defined before c++23" 1930 # endif 1931 1932 # ifdef __cpp_lib_ssize 1933 # error "__cpp_lib_ssize should not be defined before c++20" 1934 # endif 1935 1936 # ifdef __cpp_lib_sstream_from_string_view 1937 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26" 1938 # endif 1939 1940 # ifdef __cpp_lib_stacktrace 1941 # error "__cpp_lib_stacktrace should not be defined before c++23" 1942 # endif 1943 1944 # ifdef __cpp_lib_starts_ends_with 1945 # error "__cpp_lib_starts_ends_with should not be defined before c++20" 1946 # endif 1947 1948 # ifdef __cpp_lib_stdatomic_h 1949 # error "__cpp_lib_stdatomic_h should not be defined before c++23" 1950 # endif 1951 1952 # ifdef __cpp_lib_string_contains 1953 # error "__cpp_lib_string_contains should not be defined before c++23" 1954 # endif 1955 1956 # ifdef __cpp_lib_string_resize_and_overwrite 1957 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23" 1958 # endif 1959 1960 # ifndef __cpp_lib_string_udls 1961 # error "__cpp_lib_string_udls should be defined in c++14" 1962 # endif 1963 # if __cpp_lib_string_udls != 201304L 1964 # error "__cpp_lib_string_udls should have the value 201304L in c++14" 1965 # endif 1966 1967 # ifdef __cpp_lib_string_view 1968 # error "__cpp_lib_string_view should not be defined before c++17" 1969 # endif 1970 1971 # ifdef __cpp_lib_submdspan 1972 # error "__cpp_lib_submdspan should not be defined before c++26" 1973 # endif 1974 1975 # ifdef __cpp_lib_syncbuf 1976 # error "__cpp_lib_syncbuf should not be defined before c++20" 1977 # endif 1978 1979 # ifdef __cpp_lib_text_encoding 1980 # error "__cpp_lib_text_encoding should not be defined before c++26" 1981 # endif 1982 1983 # ifdef __cpp_lib_three_way_comparison 1984 # error "__cpp_lib_three_way_comparison should not be defined before c++20" 1985 # endif 1986 1987 # ifdef __cpp_lib_to_address 1988 # error "__cpp_lib_to_address should not be defined before c++20" 1989 # endif 1990 1991 # ifdef __cpp_lib_to_array 1992 # error "__cpp_lib_to_array should not be defined before c++20" 1993 # endif 1994 1995 # ifdef __cpp_lib_to_chars 1996 # error "__cpp_lib_to_chars should not be defined before c++17" 1997 # endif 1998 1999 # ifdef __cpp_lib_to_string 2000 # error "__cpp_lib_to_string should not be defined before c++26" 2001 # endif 2002 2003 # ifdef __cpp_lib_to_underlying 2004 # error "__cpp_lib_to_underlying should not be defined before c++23" 2005 # endif 2006 2007 # ifndef __cpp_lib_transformation_trait_aliases 2008 # error "__cpp_lib_transformation_trait_aliases should be defined in c++14" 2009 # endif 2010 # if __cpp_lib_transformation_trait_aliases != 201304L 2011 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14" 2012 # endif 2013 2014 # ifndef __cpp_lib_transparent_operators 2015 # error "__cpp_lib_transparent_operators should be defined in c++14" 2016 # endif 2017 # if __cpp_lib_transparent_operators != 201210L 2018 # error "__cpp_lib_transparent_operators should have the value 201210L in c++14" 2019 # endif 2020 2021 # ifndef __cpp_lib_tuple_element_t 2022 # error "__cpp_lib_tuple_element_t should be defined in c++14" 2023 # endif 2024 # if __cpp_lib_tuple_element_t != 201402L 2025 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++14" 2026 # endif 2027 2028 # ifdef __cpp_lib_tuple_like 2029 # error "__cpp_lib_tuple_like should not be defined before c++23" 2030 # endif 2031 2032 # ifndef __cpp_lib_tuples_by_type 2033 # error "__cpp_lib_tuples_by_type should be defined in c++14" 2034 # endif 2035 # if __cpp_lib_tuples_by_type != 201304L 2036 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++14" 2037 # endif 2038 2039 # ifdef __cpp_lib_type_identity 2040 # error "__cpp_lib_type_identity should not be defined before c++20" 2041 # endif 2042 2043 # ifdef __cpp_lib_type_trait_variable_templates 2044 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17" 2045 # endif 2046 2047 # ifdef __cpp_lib_uncaught_exceptions 2048 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17" 2049 # endif 2050 2051 # ifdef __cpp_lib_unordered_map_try_emplace 2052 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17" 2053 # endif 2054 2055 # ifdef __cpp_lib_unreachable 2056 # error "__cpp_lib_unreachable should not be defined before c++23" 2057 # endif 2058 2059 # ifdef __cpp_lib_unwrap_ref 2060 # error "__cpp_lib_unwrap_ref should not be defined before c++20" 2061 # endif 2062 2063 # ifdef __cpp_lib_variant 2064 # error "__cpp_lib_variant should not be defined before c++17" 2065 # endif 2066 2067 # ifdef __cpp_lib_void_t 2068 # error "__cpp_lib_void_t should not be defined before c++17" 2069 # endif 2070 2071 #elif TEST_STD_VER == 17 2072 2073 # ifdef __cpp_lib_adaptor_iterator_pair_constructor 2074 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23" 2075 # endif 2076 2077 # ifndef __cpp_lib_addressof_constexpr 2078 # error "__cpp_lib_addressof_constexpr should be defined in c++17" 2079 # endif 2080 # if __cpp_lib_addressof_constexpr != 201603L 2081 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17" 2082 # endif 2083 2084 # ifdef __cpp_lib_allocate_at_least 2085 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 2086 # endif 2087 2088 # ifndef __cpp_lib_allocator_traits_is_always_equal 2089 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17" 2090 # endif 2091 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 2092 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17" 2093 # endif 2094 2095 # ifndef __cpp_lib_any 2096 # error "__cpp_lib_any should be defined in c++17" 2097 # endif 2098 # if __cpp_lib_any != 201606L 2099 # error "__cpp_lib_any should have the value 201606L in c++17" 2100 # endif 2101 2102 # ifndef __cpp_lib_apply 2103 # error "__cpp_lib_apply should be defined in c++17" 2104 # endif 2105 # if __cpp_lib_apply != 201603L 2106 # error "__cpp_lib_apply should have the value 201603L in c++17" 2107 # endif 2108 2109 # ifndef __cpp_lib_array_constexpr 2110 # error "__cpp_lib_array_constexpr should be defined in c++17" 2111 # endif 2112 # if __cpp_lib_array_constexpr != 201603L 2113 # error "__cpp_lib_array_constexpr should have the value 201603L in c++17" 2114 # endif 2115 2116 # ifndef __cpp_lib_as_const 2117 # error "__cpp_lib_as_const should be defined in c++17" 2118 # endif 2119 # if __cpp_lib_as_const != 201510L 2120 # error "__cpp_lib_as_const should have the value 201510L in c++17" 2121 # endif 2122 2123 # ifdef __cpp_lib_associative_heterogeneous_erasure 2124 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23" 2125 # endif 2126 2127 # ifdef __cpp_lib_associative_heterogeneous_insertion 2128 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26" 2129 # endif 2130 2131 # ifdef __cpp_lib_assume_aligned 2132 # error "__cpp_lib_assume_aligned should not be defined before c++20" 2133 # endif 2134 2135 # ifdef __cpp_lib_atomic_flag_test 2136 # error "__cpp_lib_atomic_flag_test should not be defined before c++20" 2137 # endif 2138 2139 # ifdef __cpp_lib_atomic_float 2140 # error "__cpp_lib_atomic_float should not be defined before c++20" 2141 # endif 2142 2143 # ifndef __cpp_lib_atomic_is_always_lock_free 2144 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17" 2145 # endif 2146 # if __cpp_lib_atomic_is_always_lock_free != 201603L 2147 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17" 2148 # endif 2149 2150 # ifdef __cpp_lib_atomic_lock_free_type_aliases 2151 # error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20" 2152 # endif 2153 2154 # ifdef __cpp_lib_atomic_min_max 2155 # error "__cpp_lib_atomic_min_max should not be defined before c++26" 2156 # endif 2157 2158 # ifdef __cpp_lib_atomic_ref 2159 # error "__cpp_lib_atomic_ref should not be defined before c++20" 2160 # endif 2161 2162 # ifdef __cpp_lib_atomic_shared_ptr 2163 # error "__cpp_lib_atomic_shared_ptr should not be defined before c++20" 2164 # endif 2165 2166 # ifdef __cpp_lib_atomic_value_initialization 2167 # error "__cpp_lib_atomic_value_initialization should not be defined before c++20" 2168 # endif 2169 2170 # ifdef __cpp_lib_atomic_wait 2171 # error "__cpp_lib_atomic_wait should not be defined before c++20" 2172 # endif 2173 2174 # ifdef __cpp_lib_barrier 2175 # error "__cpp_lib_barrier should not be defined before c++20" 2176 # endif 2177 2178 # ifdef __cpp_lib_bind_back 2179 # error "__cpp_lib_bind_back should not be defined before c++23" 2180 # endif 2181 2182 # ifdef __cpp_lib_bind_front 2183 # error "__cpp_lib_bind_front should not be defined before c++20" 2184 # endif 2185 2186 # ifdef __cpp_lib_bit_cast 2187 # error "__cpp_lib_bit_cast should not be defined before c++20" 2188 # endif 2189 2190 # ifdef __cpp_lib_bitops 2191 # error "__cpp_lib_bitops should not be defined before c++20" 2192 # endif 2193 2194 # ifdef __cpp_lib_bitset 2195 # error "__cpp_lib_bitset should not be defined before c++26" 2196 # endif 2197 2198 # ifndef __cpp_lib_bool_constant 2199 # error "__cpp_lib_bool_constant should be defined in c++17" 2200 # endif 2201 # if __cpp_lib_bool_constant != 201505L 2202 # error "__cpp_lib_bool_constant should have the value 201505L in c++17" 2203 # endif 2204 2205 # ifdef __cpp_lib_bounded_array_traits 2206 # error "__cpp_lib_bounded_array_traits should not be defined before c++20" 2207 # endif 2208 2209 # ifndef __cpp_lib_boyer_moore_searcher 2210 # error "__cpp_lib_boyer_moore_searcher should be defined in c++17" 2211 # endif 2212 # if __cpp_lib_boyer_moore_searcher != 201603L 2213 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17" 2214 # endif 2215 2216 # ifndef __cpp_lib_byte 2217 # error "__cpp_lib_byte should be defined in c++17" 2218 # endif 2219 # if __cpp_lib_byte != 201603L 2220 # error "__cpp_lib_byte should have the value 201603L in c++17" 2221 # endif 2222 2223 # ifdef __cpp_lib_byteswap 2224 # error "__cpp_lib_byteswap should not be defined before c++23" 2225 # endif 2226 2227 # ifdef __cpp_lib_char8_t 2228 # error "__cpp_lib_char8_t should not be defined before c++20" 2229 # endif 2230 2231 # ifndef __cpp_lib_chrono 2232 # error "__cpp_lib_chrono should be defined in c++17" 2233 # endif 2234 # if __cpp_lib_chrono != 201611L 2235 # error "__cpp_lib_chrono should have the value 201611L in c++17" 2236 # endif 2237 2238 # ifndef __cpp_lib_chrono_udls 2239 # error "__cpp_lib_chrono_udls should be defined in c++17" 2240 # endif 2241 # if __cpp_lib_chrono_udls != 201304L 2242 # error "__cpp_lib_chrono_udls should have the value 201304L in c++17" 2243 # endif 2244 2245 # ifndef __cpp_lib_clamp 2246 # error "__cpp_lib_clamp should be defined in c++17" 2247 # endif 2248 # if __cpp_lib_clamp != 201603L 2249 # error "__cpp_lib_clamp should have the value 201603L in c++17" 2250 # endif 2251 2252 # ifndef __cpp_lib_complex_udls 2253 # error "__cpp_lib_complex_udls should be defined in c++17" 2254 # endif 2255 # if __cpp_lib_complex_udls != 201309L 2256 # error "__cpp_lib_complex_udls should have the value 201309L in c++17" 2257 # endif 2258 2259 # ifdef __cpp_lib_concepts 2260 # error "__cpp_lib_concepts should not be defined before c++20" 2261 # endif 2262 2263 # ifdef __cpp_lib_constexpr_algorithms 2264 # error "__cpp_lib_constexpr_algorithms should not be defined before c++20" 2265 # endif 2266 2267 # ifdef __cpp_lib_constexpr_bitset 2268 # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 2269 # endif 2270 2271 # ifdef __cpp_lib_constexpr_charconv 2272 # error "__cpp_lib_constexpr_charconv should not be defined before c++23" 2273 # endif 2274 2275 # ifdef __cpp_lib_constexpr_cmath 2276 # error "__cpp_lib_constexpr_cmath should not be defined before c++23" 2277 # endif 2278 2279 # ifdef __cpp_lib_constexpr_complex 2280 # error "__cpp_lib_constexpr_complex should not be defined before c++20" 2281 # endif 2282 2283 # ifdef __cpp_lib_constexpr_dynamic_alloc 2284 # error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20" 2285 # endif 2286 2287 # ifdef __cpp_lib_constexpr_functional 2288 # error "__cpp_lib_constexpr_functional should not be defined before c++20" 2289 # endif 2290 2291 # ifdef __cpp_lib_constexpr_iterator 2292 # error "__cpp_lib_constexpr_iterator should not be defined before c++20" 2293 # endif 2294 2295 # ifdef __cpp_lib_constexpr_memory 2296 # error "__cpp_lib_constexpr_memory should not be defined before c++20" 2297 # endif 2298 2299 # ifdef __cpp_lib_constexpr_new 2300 # error "__cpp_lib_constexpr_new should not be defined before c++26" 2301 # endif 2302 2303 # ifdef __cpp_lib_constexpr_numeric 2304 # error "__cpp_lib_constexpr_numeric should not be defined before c++20" 2305 # endif 2306 2307 # ifdef __cpp_lib_constexpr_string 2308 # error "__cpp_lib_constexpr_string should not be defined before c++20" 2309 # endif 2310 2311 # ifdef __cpp_lib_constexpr_string_view 2312 # error "__cpp_lib_constexpr_string_view should not be defined before c++20" 2313 # endif 2314 2315 # ifdef __cpp_lib_constexpr_tuple 2316 # error "__cpp_lib_constexpr_tuple should not be defined before c++20" 2317 # endif 2318 2319 # ifdef __cpp_lib_constexpr_typeinfo 2320 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23" 2321 # endif 2322 2323 # ifdef __cpp_lib_constexpr_utility 2324 # error "__cpp_lib_constexpr_utility should not be defined before c++20" 2325 # endif 2326 2327 # ifdef __cpp_lib_constexpr_vector 2328 # error "__cpp_lib_constexpr_vector should not be defined before c++20" 2329 # endif 2330 2331 # ifdef __cpp_lib_constrained_equality 2332 # error "__cpp_lib_constrained_equality should not be defined before c++26" 2333 # endif 2334 2335 # ifdef __cpp_lib_containers_ranges 2336 # error "__cpp_lib_containers_ranges should not be defined before c++23" 2337 # endif 2338 2339 # ifdef __cpp_lib_copyable_function 2340 # error "__cpp_lib_copyable_function should not be defined before c++26" 2341 # endif 2342 2343 # ifdef __cpp_lib_coroutine 2344 # error "__cpp_lib_coroutine should not be defined before c++20" 2345 # endif 2346 2347 # ifdef __cpp_lib_debugging 2348 # error "__cpp_lib_debugging should not be defined before c++26" 2349 # endif 2350 2351 # ifdef __cpp_lib_default_template_type_for_algorithm_values 2352 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26" 2353 # endif 2354 2355 # ifdef __cpp_lib_destroying_delete 2356 # error "__cpp_lib_destroying_delete should not be defined before c++20" 2357 # endif 2358 2359 # ifndef __cpp_lib_enable_shared_from_this 2360 # error "__cpp_lib_enable_shared_from_this should be defined in c++17" 2361 # endif 2362 # if __cpp_lib_enable_shared_from_this != 201603L 2363 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17" 2364 # endif 2365 2366 # ifdef __cpp_lib_endian 2367 # error "__cpp_lib_endian should not be defined before c++20" 2368 # endif 2369 2370 # ifdef __cpp_lib_erase_if 2371 # error "__cpp_lib_erase_if should not be defined before c++20" 2372 # endif 2373 2374 # ifndef __cpp_lib_exchange_function 2375 # error "__cpp_lib_exchange_function should be defined in c++17" 2376 # endif 2377 # if __cpp_lib_exchange_function != 201304L 2378 # error "__cpp_lib_exchange_function should have the value 201304L in c++17" 2379 # endif 2380 2381 # if !defined(_LIBCPP_VERSION) 2382 # ifndef __cpp_lib_execution 2383 # error "__cpp_lib_execution should be defined in c++17" 2384 # endif 2385 # if __cpp_lib_execution != 201603L 2386 # error "__cpp_lib_execution should have the value 201603L in c++17" 2387 # endif 2388 # else // _LIBCPP_VERSION 2389 # ifdef __cpp_lib_execution 2390 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!" 2391 # endif 2392 # endif 2393 2394 # ifdef __cpp_lib_expected 2395 # error "__cpp_lib_expected should not be defined before c++23" 2396 # endif 2397 2398 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY) 2399 # ifndef __cpp_lib_filesystem 2400 # error "__cpp_lib_filesystem should be defined in c++17" 2401 # endif 2402 # if __cpp_lib_filesystem != 201703L 2403 # error "__cpp_lib_filesystem should have the value 201703L in c++17" 2404 # endif 2405 # else 2406 # ifdef __cpp_lib_filesystem 2407 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!" 2408 # endif 2409 # endif 2410 2411 # ifdef __cpp_lib_flat_map 2412 # error "__cpp_lib_flat_map should not be defined before c++23" 2413 # endif 2414 2415 # ifdef __cpp_lib_flat_set 2416 # error "__cpp_lib_flat_set should not be defined before c++23" 2417 # endif 2418 2419 # ifdef __cpp_lib_format 2420 # error "__cpp_lib_format should not be defined before c++20" 2421 # endif 2422 2423 # ifdef __cpp_lib_format_path 2424 # error "__cpp_lib_format_path should not be defined before c++26" 2425 # endif 2426 2427 # ifdef __cpp_lib_format_ranges 2428 # error "__cpp_lib_format_ranges should not be defined before c++23" 2429 # endif 2430 2431 # ifdef __cpp_lib_format_uchar 2432 # error "__cpp_lib_format_uchar should not be defined before c++20" 2433 # endif 2434 2435 # ifdef __cpp_lib_formatters 2436 # error "__cpp_lib_formatters should not be defined before c++23" 2437 # endif 2438 2439 # ifdef __cpp_lib_forward_like 2440 # error "__cpp_lib_forward_like should not be defined before c++23" 2441 # endif 2442 2443 # ifdef __cpp_lib_freestanding_algorithm 2444 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26" 2445 # endif 2446 2447 # ifdef __cpp_lib_freestanding_array 2448 # error "__cpp_lib_freestanding_array should not be defined before c++26" 2449 # endif 2450 2451 # ifdef __cpp_lib_freestanding_cstring 2452 # error "__cpp_lib_freestanding_cstring should not be defined before c++26" 2453 # endif 2454 2455 # ifdef __cpp_lib_freestanding_expected 2456 # error "__cpp_lib_freestanding_expected should not be defined before c++26" 2457 # endif 2458 2459 # ifdef __cpp_lib_freestanding_mdspan 2460 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26" 2461 # endif 2462 2463 # ifdef __cpp_lib_freestanding_optional 2464 # error "__cpp_lib_freestanding_optional should not be defined before c++26" 2465 # endif 2466 2467 # ifdef __cpp_lib_freestanding_string_view 2468 # error "__cpp_lib_freestanding_string_view should not be defined before c++26" 2469 # endif 2470 2471 # ifdef __cpp_lib_freestanding_variant 2472 # error "__cpp_lib_freestanding_variant should not be defined before c++26" 2473 # endif 2474 2475 # ifdef __cpp_lib_fstream_native_handle 2476 # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 2477 # endif 2478 2479 # ifdef __cpp_lib_function_ref 2480 # error "__cpp_lib_function_ref should not be defined before c++26" 2481 # endif 2482 2483 # ifndef __cpp_lib_gcd_lcm 2484 # error "__cpp_lib_gcd_lcm should be defined in c++17" 2485 # endif 2486 # if __cpp_lib_gcd_lcm != 201606L 2487 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++17" 2488 # endif 2489 2490 # ifdef __cpp_lib_generate_random 2491 # error "__cpp_lib_generate_random should not be defined before c++26" 2492 # endif 2493 2494 # ifndef __cpp_lib_generic_associative_lookup 2495 # error "__cpp_lib_generic_associative_lookup should be defined in c++17" 2496 # endif 2497 # if __cpp_lib_generic_associative_lookup != 201304L 2498 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17" 2499 # endif 2500 2501 # ifdef __cpp_lib_generic_unordered_lookup 2502 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++20" 2503 # endif 2504 2505 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)) 2506 # ifndef __cpp_lib_hardware_interference_size 2507 # error "__cpp_lib_hardware_interference_size should be defined in c++17" 2508 # endif 2509 # if __cpp_lib_hardware_interference_size != 201703L 2510 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17" 2511 # endif 2512 # else 2513 # ifdef __cpp_lib_hardware_interference_size 2514 # 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!" 2515 # endif 2516 # endif 2517 2518 # ifndef __cpp_lib_has_unique_object_representations 2519 # error "__cpp_lib_has_unique_object_representations should be defined in c++17" 2520 # endif 2521 # if __cpp_lib_has_unique_object_representations != 201606L 2522 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17" 2523 # endif 2524 2525 # ifdef __cpp_lib_hazard_pointer 2526 # error "__cpp_lib_hazard_pointer should not be defined before c++26" 2527 # endif 2528 2529 # ifndef __cpp_lib_hypot 2530 # error "__cpp_lib_hypot should be defined in c++17" 2531 # endif 2532 # if __cpp_lib_hypot != 201603L 2533 # error "__cpp_lib_hypot should have the value 201603L in c++17" 2534 # endif 2535 2536 # ifndef __cpp_lib_incomplete_container_elements 2537 # error "__cpp_lib_incomplete_container_elements should be defined in c++17" 2538 # endif 2539 # if __cpp_lib_incomplete_container_elements != 201505L 2540 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17" 2541 # endif 2542 2543 # ifdef __cpp_lib_inplace_vector 2544 # error "__cpp_lib_inplace_vector should not be defined before c++26" 2545 # endif 2546 2547 # ifdef __cpp_lib_int_pow2 2548 # error "__cpp_lib_int_pow2 should not be defined before c++20" 2549 # endif 2550 2551 # ifdef __cpp_lib_integer_comparison_functions 2552 # error "__cpp_lib_integer_comparison_functions should not be defined before c++20" 2553 # endif 2554 2555 # ifndef __cpp_lib_integer_sequence 2556 # error "__cpp_lib_integer_sequence should be defined in c++17" 2557 # endif 2558 # if __cpp_lib_integer_sequence != 201304L 2559 # error "__cpp_lib_integer_sequence should have the value 201304L in c++17" 2560 # endif 2561 2562 # ifndef __cpp_lib_integral_constant_callable 2563 # error "__cpp_lib_integral_constant_callable should be defined in c++17" 2564 # endif 2565 # if __cpp_lib_integral_constant_callable != 201304L 2566 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17" 2567 # endif 2568 2569 # ifdef __cpp_lib_interpolate 2570 # error "__cpp_lib_interpolate should not be defined before c++20" 2571 # endif 2572 2573 # ifndef __cpp_lib_invoke 2574 # error "__cpp_lib_invoke should be defined in c++17" 2575 # endif 2576 # if __cpp_lib_invoke != 201411L 2577 # error "__cpp_lib_invoke should have the value 201411L in c++17" 2578 # endif 2579 2580 # ifdef __cpp_lib_invoke_r 2581 # error "__cpp_lib_invoke_r should not be defined before c++23" 2582 # endif 2583 2584 # ifdef __cpp_lib_ios_noreplace 2585 # error "__cpp_lib_ios_noreplace should not be defined before c++23" 2586 # endif 2587 2588 # ifndef __cpp_lib_is_aggregate 2589 # error "__cpp_lib_is_aggregate should be defined in c++17" 2590 # endif 2591 # if __cpp_lib_is_aggregate != 201703L 2592 # error "__cpp_lib_is_aggregate should have the value 201703L in c++17" 2593 # endif 2594 2595 # ifdef __cpp_lib_is_constant_evaluated 2596 # error "__cpp_lib_is_constant_evaluated should not be defined before c++20" 2597 # endif 2598 2599 # ifndef __cpp_lib_is_final 2600 # error "__cpp_lib_is_final should be defined in c++17" 2601 # endif 2602 # if __cpp_lib_is_final != 201402L 2603 # error "__cpp_lib_is_final should have the value 201402L in c++17" 2604 # endif 2605 2606 # ifdef __cpp_lib_is_implicit_lifetime 2607 # error "__cpp_lib_is_implicit_lifetime should not be defined before c++23" 2608 # endif 2609 2610 # ifndef __cpp_lib_is_invocable 2611 # error "__cpp_lib_is_invocable should be defined in c++17" 2612 # endif 2613 # if __cpp_lib_is_invocable != 201703L 2614 # error "__cpp_lib_is_invocable should have the value 201703L in c++17" 2615 # endif 2616 2617 # ifdef __cpp_lib_is_layout_compatible 2618 # error "__cpp_lib_is_layout_compatible should not be defined before c++20" 2619 # endif 2620 2621 # ifdef __cpp_lib_is_nothrow_convertible 2622 # error "__cpp_lib_is_nothrow_convertible should not be defined before c++20" 2623 # endif 2624 2625 # ifndef __cpp_lib_is_null_pointer 2626 # error "__cpp_lib_is_null_pointer should be defined in c++17" 2627 # endif 2628 # if __cpp_lib_is_null_pointer != 201309L 2629 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++17" 2630 # endif 2631 2632 # ifdef __cpp_lib_is_pointer_interconvertible 2633 # error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20" 2634 # endif 2635 2636 # ifdef __cpp_lib_is_scoped_enum 2637 # error "__cpp_lib_is_scoped_enum should not be defined before c++23" 2638 # endif 2639 2640 # ifndef __cpp_lib_is_swappable 2641 # error "__cpp_lib_is_swappable should be defined in c++17" 2642 # endif 2643 # if __cpp_lib_is_swappable != 201603L 2644 # error "__cpp_lib_is_swappable should have the value 201603L in c++17" 2645 # endif 2646 2647 # ifdef __cpp_lib_is_virtual_base_of 2648 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26" 2649 # endif 2650 2651 # ifdef __cpp_lib_is_within_lifetime 2652 # error "__cpp_lib_is_within_lifetime should not be defined before c++26" 2653 # endif 2654 2655 # ifdef __cpp_lib_jthread 2656 # error "__cpp_lib_jthread should not be defined before c++20" 2657 # endif 2658 2659 # ifdef __cpp_lib_latch 2660 # error "__cpp_lib_latch should not be defined before c++20" 2661 # endif 2662 2663 # ifndef __cpp_lib_launder 2664 # error "__cpp_lib_launder should be defined in c++17" 2665 # endif 2666 # if __cpp_lib_launder != 201606L 2667 # error "__cpp_lib_launder should have the value 201606L in c++17" 2668 # endif 2669 2670 # ifdef __cpp_lib_linalg 2671 # error "__cpp_lib_linalg should not be defined before c++26" 2672 # endif 2673 2674 # ifdef __cpp_lib_list_remove_return_type 2675 # error "__cpp_lib_list_remove_return_type should not be defined before c++20" 2676 # endif 2677 2678 # ifndef __cpp_lib_logical_traits 2679 # error "__cpp_lib_logical_traits should be defined in c++17" 2680 # endif 2681 # if __cpp_lib_logical_traits != 201510L 2682 # error "__cpp_lib_logical_traits should have the value 201510L in c++17" 2683 # endif 2684 2685 # ifndef __cpp_lib_make_from_tuple 2686 # error "__cpp_lib_make_from_tuple should be defined in c++17" 2687 # endif 2688 # if __cpp_lib_make_from_tuple != 201606L 2689 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++17" 2690 # endif 2691 2692 # ifndef __cpp_lib_make_reverse_iterator 2693 # error "__cpp_lib_make_reverse_iterator should be defined in c++17" 2694 # endif 2695 # if __cpp_lib_make_reverse_iterator != 201402L 2696 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17" 2697 # endif 2698 2699 # ifndef __cpp_lib_make_unique 2700 # error "__cpp_lib_make_unique should be defined in c++17" 2701 # endif 2702 # if __cpp_lib_make_unique != 201304L 2703 # error "__cpp_lib_make_unique should have the value 201304L in c++17" 2704 # endif 2705 2706 # ifndef __cpp_lib_map_try_emplace 2707 # error "__cpp_lib_map_try_emplace should be defined in c++17" 2708 # endif 2709 # if __cpp_lib_map_try_emplace != 201411L 2710 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++17" 2711 # endif 2712 2713 # ifdef __cpp_lib_math_constants 2714 # error "__cpp_lib_math_constants should not be defined before c++20" 2715 # endif 2716 2717 # if !defined(_LIBCPP_VERSION) 2718 # ifndef __cpp_lib_math_special_functions 2719 # error "__cpp_lib_math_special_functions should be defined in c++17" 2720 # endif 2721 # if __cpp_lib_math_special_functions != 201603L 2722 # error "__cpp_lib_math_special_functions should have the value 201603L in c++17" 2723 # endif 2724 # else // _LIBCPP_VERSION 2725 # ifdef __cpp_lib_math_special_functions 2726 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!" 2727 # endif 2728 # endif 2729 2730 # ifdef __cpp_lib_mdspan 2731 # error "__cpp_lib_mdspan should not be defined before c++23" 2732 # endif 2733 2734 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR 2735 # ifndef __cpp_lib_memory_resource 2736 # error "__cpp_lib_memory_resource should be defined in c++17" 2737 # endif 2738 # if __cpp_lib_memory_resource != 201603L 2739 # error "__cpp_lib_memory_resource should have the value 201603L in c++17" 2740 # endif 2741 # else 2742 # ifdef __cpp_lib_memory_resource 2743 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!" 2744 # endif 2745 # endif 2746 2747 # ifdef __cpp_lib_modules 2748 # error "__cpp_lib_modules should not be defined before c++23" 2749 # endif 2750 2751 # ifdef __cpp_lib_move_iterator_concept 2752 # error "__cpp_lib_move_iterator_concept should not be defined before c++20" 2753 # endif 2754 2755 # ifdef __cpp_lib_move_only_function 2756 # error "__cpp_lib_move_only_function should not be defined before c++23" 2757 # endif 2758 2759 # ifndef __cpp_lib_node_extract 2760 # error "__cpp_lib_node_extract should be defined in c++17" 2761 # endif 2762 # if __cpp_lib_node_extract != 201606L 2763 # error "__cpp_lib_node_extract should have the value 201606L in c++17" 2764 # endif 2765 2766 # ifndef __cpp_lib_nonmember_container_access 2767 # error "__cpp_lib_nonmember_container_access should be defined in c++17" 2768 # endif 2769 # if __cpp_lib_nonmember_container_access != 201411L 2770 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17" 2771 # endif 2772 2773 # ifndef __cpp_lib_not_fn 2774 # error "__cpp_lib_not_fn should be defined in c++17" 2775 # endif 2776 # if __cpp_lib_not_fn != 201603L 2777 # error "__cpp_lib_not_fn should have the value 201603L in c++17" 2778 # endif 2779 2780 # ifndef __cpp_lib_null_iterators 2781 # error "__cpp_lib_null_iterators should be defined in c++17" 2782 # endif 2783 # if __cpp_lib_null_iterators != 201304L 2784 # error "__cpp_lib_null_iterators should have the value 201304L in c++17" 2785 # endif 2786 2787 # ifndef __cpp_lib_optional 2788 # error "__cpp_lib_optional should be defined in c++17" 2789 # endif 2790 # if __cpp_lib_optional != 201606L 2791 # error "__cpp_lib_optional should have the value 201606L in c++17" 2792 # endif 2793 2794 # ifdef __cpp_lib_optional_range_support 2795 # error "__cpp_lib_optional_range_support should not be defined before c++26" 2796 # endif 2797 2798 # ifdef __cpp_lib_out_ptr 2799 # error "__cpp_lib_out_ptr should not be defined before c++23" 2800 # endif 2801 2802 # if !defined(_LIBCPP_VERSION) 2803 # ifndef __cpp_lib_parallel_algorithm 2804 # error "__cpp_lib_parallel_algorithm should be defined in c++17" 2805 # endif 2806 # if __cpp_lib_parallel_algorithm != 201603L 2807 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17" 2808 # endif 2809 # else // _LIBCPP_VERSION 2810 # ifdef __cpp_lib_parallel_algorithm 2811 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!" 2812 # endif 2813 # endif 2814 2815 # ifdef __cpp_lib_philox_engine 2816 # error "__cpp_lib_philox_engine should not be defined before c++26" 2817 # endif 2818 2819 # ifdef __cpp_lib_polymorphic_allocator 2820 # error "__cpp_lib_polymorphic_allocator should not be defined before c++20" 2821 # endif 2822 2823 # ifdef __cpp_lib_print 2824 # error "__cpp_lib_print should not be defined before c++23" 2825 # endif 2826 2827 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION 2828 # ifndef __cpp_lib_quoted_string_io 2829 # error "__cpp_lib_quoted_string_io should be defined in c++17" 2830 # endif 2831 # if __cpp_lib_quoted_string_io != 201304L 2832 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++17" 2833 # endif 2834 # else 2835 # ifdef __cpp_lib_quoted_string_io 2836 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!" 2837 # endif 2838 # endif 2839 2840 # ifdef __cpp_lib_ranges 2841 # error "__cpp_lib_ranges should not be defined before c++20" 2842 # endif 2843 2844 # ifdef __cpp_lib_ranges_as_const 2845 # error "__cpp_lib_ranges_as_const should not be defined before c++23" 2846 # endif 2847 2848 # ifdef __cpp_lib_ranges_as_rvalue 2849 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23" 2850 # endif 2851 2852 # ifdef __cpp_lib_ranges_chunk 2853 # error "__cpp_lib_ranges_chunk should not be defined before c++23" 2854 # endif 2855 2856 # ifdef __cpp_lib_ranges_chunk_by 2857 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23" 2858 # endif 2859 2860 # ifdef __cpp_lib_ranges_concat 2861 # error "__cpp_lib_ranges_concat should not be defined before c++26" 2862 # endif 2863 2864 # ifdef __cpp_lib_ranges_contains 2865 # error "__cpp_lib_ranges_contains should not be defined before c++23" 2866 # endif 2867 2868 # ifdef __cpp_lib_ranges_find_last 2869 # error "__cpp_lib_ranges_find_last should not be defined before c++23" 2870 # endif 2871 2872 # ifdef __cpp_lib_ranges_iota 2873 # error "__cpp_lib_ranges_iota should not be defined before c++23" 2874 # endif 2875 2876 # ifdef __cpp_lib_ranges_join_with 2877 # error "__cpp_lib_ranges_join_with should not be defined before c++23" 2878 # endif 2879 2880 # ifdef __cpp_lib_ranges_repeat 2881 # error "__cpp_lib_ranges_repeat should not be defined before c++23" 2882 # endif 2883 2884 # ifdef __cpp_lib_ranges_slide 2885 # error "__cpp_lib_ranges_slide should not be defined before c++23" 2886 # endif 2887 2888 # ifdef __cpp_lib_ranges_starts_ends_with 2889 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23" 2890 # endif 2891 2892 # ifdef __cpp_lib_ranges_to_container 2893 # error "__cpp_lib_ranges_to_container should not be defined before c++23" 2894 # endif 2895 2896 # ifdef __cpp_lib_ranges_zip 2897 # error "__cpp_lib_ranges_zip should not be defined before c++23" 2898 # endif 2899 2900 # ifdef __cpp_lib_ratio 2901 # error "__cpp_lib_ratio should not be defined before c++26" 2902 # endif 2903 2904 # ifndef __cpp_lib_raw_memory_algorithms 2905 # error "__cpp_lib_raw_memory_algorithms should be defined in c++17" 2906 # endif 2907 # if __cpp_lib_raw_memory_algorithms != 201606L 2908 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17" 2909 # endif 2910 2911 # ifdef __cpp_lib_rcu 2912 # error "__cpp_lib_rcu should not be defined before c++26" 2913 # endif 2914 2915 # ifdef __cpp_lib_reference_from_temporary 2916 # error "__cpp_lib_reference_from_temporary should not be defined before c++23" 2917 # endif 2918 2919 # ifdef __cpp_lib_reference_wrapper 2920 # error "__cpp_lib_reference_wrapper should not be defined before c++26" 2921 # endif 2922 2923 # ifdef __cpp_lib_remove_cvref 2924 # error "__cpp_lib_remove_cvref should not be defined before c++20" 2925 # endif 2926 2927 # ifndef __cpp_lib_result_of_sfinae 2928 # error "__cpp_lib_result_of_sfinae should be defined in c++17" 2929 # endif 2930 # if __cpp_lib_result_of_sfinae != 201210L 2931 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17" 2932 # endif 2933 2934 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 2935 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17" 2936 # endif 2937 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 2938 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17" 2939 # endif 2940 2941 # ifndef __cpp_lib_sample 2942 # error "__cpp_lib_sample should be defined in c++17" 2943 # endif 2944 # if __cpp_lib_sample != 201603L 2945 # error "__cpp_lib_sample should have the value 201603L in c++17" 2946 # endif 2947 2948 # ifdef __cpp_lib_saturation_arithmetic 2949 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26" 2950 # endif 2951 2952 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS 2953 # ifndef __cpp_lib_scoped_lock 2954 # error "__cpp_lib_scoped_lock should be defined in c++17" 2955 # endif 2956 # if __cpp_lib_scoped_lock != 201703L 2957 # error "__cpp_lib_scoped_lock should have the value 201703L in c++17" 2958 # endif 2959 # else 2960 # ifdef __cpp_lib_scoped_lock 2961 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!" 2962 # endif 2963 # endif 2964 2965 # ifdef __cpp_lib_semaphore 2966 # error "__cpp_lib_semaphore should not be defined before c++20" 2967 # endif 2968 2969 # ifdef __cpp_lib_senders 2970 # error "__cpp_lib_senders should not be defined before c++26" 2971 # endif 2972 2973 # if _LIBCPP_HAS_THREADS 2974 # ifndef __cpp_lib_shared_mutex 2975 # error "__cpp_lib_shared_mutex should be defined in c++17" 2976 # endif 2977 # if __cpp_lib_shared_mutex != 201505L 2978 # error "__cpp_lib_shared_mutex should have the value 201505L in c++17" 2979 # endif 2980 # else 2981 # ifdef __cpp_lib_shared_mutex 2982 # error "__cpp_lib_shared_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 2983 # endif 2984 # endif 2985 2986 # ifndef __cpp_lib_shared_ptr_arrays 2987 # error "__cpp_lib_shared_ptr_arrays should be defined in c++17" 2988 # endif 2989 # if __cpp_lib_shared_ptr_arrays != 201611L 2990 # error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17" 2991 # endif 2992 2993 # ifndef __cpp_lib_shared_ptr_weak_type 2994 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++17" 2995 # endif 2996 # if __cpp_lib_shared_ptr_weak_type != 201606L 2997 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17" 2998 # endif 2999 3000 # if _LIBCPP_HAS_THREADS 3001 # ifndef __cpp_lib_shared_timed_mutex 3002 # error "__cpp_lib_shared_timed_mutex should be defined in c++17" 3003 # endif 3004 # if __cpp_lib_shared_timed_mutex != 201402L 3005 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17" 3006 # endif 3007 # else 3008 # ifdef __cpp_lib_shared_timed_mutex 3009 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 3010 # endif 3011 # endif 3012 3013 # ifdef __cpp_lib_shift 3014 # error "__cpp_lib_shift should not be defined before c++20" 3015 # endif 3016 3017 # ifdef __cpp_lib_smart_ptr_for_overwrite 3018 # error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20" 3019 # endif 3020 3021 # ifdef __cpp_lib_smart_ptr_owner_equality 3022 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 3023 # endif 3024 3025 # ifdef __cpp_lib_source_location 3026 # error "__cpp_lib_source_location should not be defined before c++20" 3027 # endif 3028 3029 # ifdef __cpp_lib_span 3030 # error "__cpp_lib_span should not be defined before c++20" 3031 # endif 3032 3033 # ifdef __cpp_lib_span_at 3034 # error "__cpp_lib_span_at should not be defined before c++26" 3035 # endif 3036 3037 # ifdef __cpp_lib_span_initializer_list 3038 # error "__cpp_lib_span_initializer_list should not be defined before c++26" 3039 # endif 3040 3041 # ifdef __cpp_lib_spanstream 3042 # error "__cpp_lib_spanstream should not be defined before c++23" 3043 # endif 3044 3045 # ifdef __cpp_lib_ssize 3046 # error "__cpp_lib_ssize should not be defined before c++20" 3047 # endif 3048 3049 # ifdef __cpp_lib_sstream_from_string_view 3050 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26" 3051 # endif 3052 3053 # ifdef __cpp_lib_stacktrace 3054 # error "__cpp_lib_stacktrace should not be defined before c++23" 3055 # endif 3056 3057 # ifdef __cpp_lib_starts_ends_with 3058 # error "__cpp_lib_starts_ends_with should not be defined before c++20" 3059 # endif 3060 3061 # ifdef __cpp_lib_stdatomic_h 3062 # error "__cpp_lib_stdatomic_h should not be defined before c++23" 3063 # endif 3064 3065 # ifdef __cpp_lib_string_contains 3066 # error "__cpp_lib_string_contains should not be defined before c++23" 3067 # endif 3068 3069 # ifdef __cpp_lib_string_resize_and_overwrite 3070 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23" 3071 # endif 3072 3073 # ifndef __cpp_lib_string_udls 3074 # error "__cpp_lib_string_udls should be defined in c++17" 3075 # endif 3076 # if __cpp_lib_string_udls != 201304L 3077 # error "__cpp_lib_string_udls should have the value 201304L in c++17" 3078 # endif 3079 3080 # ifndef __cpp_lib_string_view 3081 # error "__cpp_lib_string_view should be defined in c++17" 3082 # endif 3083 # if __cpp_lib_string_view != 201606L 3084 # error "__cpp_lib_string_view should have the value 201606L in c++17" 3085 # endif 3086 3087 # ifdef __cpp_lib_submdspan 3088 # error "__cpp_lib_submdspan should not be defined before c++26" 3089 # endif 3090 3091 # ifdef __cpp_lib_syncbuf 3092 # error "__cpp_lib_syncbuf should not be defined before c++20" 3093 # endif 3094 3095 # ifdef __cpp_lib_text_encoding 3096 # error "__cpp_lib_text_encoding should not be defined before c++26" 3097 # endif 3098 3099 # ifdef __cpp_lib_three_way_comparison 3100 # error "__cpp_lib_three_way_comparison should not be defined before c++20" 3101 # endif 3102 3103 # ifdef __cpp_lib_to_address 3104 # error "__cpp_lib_to_address should not be defined before c++20" 3105 # endif 3106 3107 # ifdef __cpp_lib_to_array 3108 # error "__cpp_lib_to_array should not be defined before c++20" 3109 # endif 3110 3111 # if !defined(_LIBCPP_VERSION) 3112 # ifndef __cpp_lib_to_chars 3113 # error "__cpp_lib_to_chars should be defined in c++17" 3114 # endif 3115 # if __cpp_lib_to_chars != 201611L 3116 # error "__cpp_lib_to_chars should have the value 201611L in c++17" 3117 # endif 3118 # else // _LIBCPP_VERSION 3119 # ifdef __cpp_lib_to_chars 3120 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!" 3121 # endif 3122 # endif 3123 3124 # ifdef __cpp_lib_to_string 3125 # error "__cpp_lib_to_string should not be defined before c++26" 3126 # endif 3127 3128 # ifdef __cpp_lib_to_underlying 3129 # error "__cpp_lib_to_underlying should not be defined before c++23" 3130 # endif 3131 3132 # ifndef __cpp_lib_transformation_trait_aliases 3133 # error "__cpp_lib_transformation_trait_aliases should be defined in c++17" 3134 # endif 3135 # if __cpp_lib_transformation_trait_aliases != 201304L 3136 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17" 3137 # endif 3138 3139 # ifndef __cpp_lib_transparent_operators 3140 # error "__cpp_lib_transparent_operators should be defined in c++17" 3141 # endif 3142 # if __cpp_lib_transparent_operators != 201510L 3143 # error "__cpp_lib_transparent_operators should have the value 201510L in c++17" 3144 # endif 3145 3146 # ifndef __cpp_lib_tuple_element_t 3147 # error "__cpp_lib_tuple_element_t should be defined in c++17" 3148 # endif 3149 # if __cpp_lib_tuple_element_t != 201402L 3150 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++17" 3151 # endif 3152 3153 # ifdef __cpp_lib_tuple_like 3154 # error "__cpp_lib_tuple_like should not be defined before c++23" 3155 # endif 3156 3157 # ifndef __cpp_lib_tuples_by_type 3158 # error "__cpp_lib_tuples_by_type should be defined in c++17" 3159 # endif 3160 # if __cpp_lib_tuples_by_type != 201304L 3161 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++17" 3162 # endif 3163 3164 # ifdef __cpp_lib_type_identity 3165 # error "__cpp_lib_type_identity should not be defined before c++20" 3166 # endif 3167 3168 # ifndef __cpp_lib_type_trait_variable_templates 3169 # error "__cpp_lib_type_trait_variable_templates should be defined in c++17" 3170 # endif 3171 # if __cpp_lib_type_trait_variable_templates != 201510L 3172 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17" 3173 # endif 3174 3175 # ifndef __cpp_lib_uncaught_exceptions 3176 # error "__cpp_lib_uncaught_exceptions should be defined in c++17" 3177 # endif 3178 # if __cpp_lib_uncaught_exceptions != 201411L 3179 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17" 3180 # endif 3181 3182 # ifndef __cpp_lib_unordered_map_try_emplace 3183 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++17" 3184 # endif 3185 # if __cpp_lib_unordered_map_try_emplace != 201411L 3186 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17" 3187 # endif 3188 3189 # ifdef __cpp_lib_unreachable 3190 # error "__cpp_lib_unreachable should not be defined before c++23" 3191 # endif 3192 3193 # ifdef __cpp_lib_unwrap_ref 3194 # error "__cpp_lib_unwrap_ref should not be defined before c++20" 3195 # endif 3196 3197 # ifndef __cpp_lib_variant 3198 # error "__cpp_lib_variant should be defined in c++17" 3199 # endif 3200 # if __cpp_lib_variant != 202102L 3201 # error "__cpp_lib_variant should have the value 202102L in c++17" 3202 # endif 3203 3204 # ifndef __cpp_lib_void_t 3205 # error "__cpp_lib_void_t should be defined in c++17" 3206 # endif 3207 # if __cpp_lib_void_t != 201411L 3208 # error "__cpp_lib_void_t should have the value 201411L in c++17" 3209 # endif 3210 3211 #elif TEST_STD_VER == 20 3212 3213 # ifdef __cpp_lib_adaptor_iterator_pair_constructor 3214 # error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++23" 3215 # endif 3216 3217 # ifndef __cpp_lib_addressof_constexpr 3218 # error "__cpp_lib_addressof_constexpr should be defined in c++20" 3219 # endif 3220 # if __cpp_lib_addressof_constexpr != 201603L 3221 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20" 3222 # endif 3223 3224 # ifdef __cpp_lib_allocate_at_least 3225 # error "__cpp_lib_allocate_at_least should not be defined before c++23" 3226 # endif 3227 3228 # ifndef __cpp_lib_allocator_traits_is_always_equal 3229 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20" 3230 # endif 3231 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 3232 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20" 3233 # endif 3234 3235 # ifndef __cpp_lib_any 3236 # error "__cpp_lib_any should be defined in c++20" 3237 # endif 3238 # if __cpp_lib_any != 201606L 3239 # error "__cpp_lib_any should have the value 201606L in c++20" 3240 # endif 3241 3242 # ifndef __cpp_lib_apply 3243 # error "__cpp_lib_apply should be defined in c++20" 3244 # endif 3245 # if __cpp_lib_apply != 201603L 3246 # error "__cpp_lib_apply should have the value 201603L in c++20" 3247 # endif 3248 3249 # ifndef __cpp_lib_array_constexpr 3250 # error "__cpp_lib_array_constexpr should be defined in c++20" 3251 # endif 3252 # if __cpp_lib_array_constexpr != 201811L 3253 # error "__cpp_lib_array_constexpr should have the value 201811L in c++20" 3254 # endif 3255 3256 # ifndef __cpp_lib_as_const 3257 # error "__cpp_lib_as_const should be defined in c++20" 3258 # endif 3259 # if __cpp_lib_as_const != 201510L 3260 # error "__cpp_lib_as_const should have the value 201510L in c++20" 3261 # endif 3262 3263 # ifdef __cpp_lib_associative_heterogeneous_erasure 3264 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++23" 3265 # endif 3266 3267 # ifdef __cpp_lib_associative_heterogeneous_insertion 3268 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26" 3269 # endif 3270 3271 # ifndef __cpp_lib_assume_aligned 3272 # error "__cpp_lib_assume_aligned should be defined in c++20" 3273 # endif 3274 # if __cpp_lib_assume_aligned != 201811L 3275 # error "__cpp_lib_assume_aligned should have the value 201811L in c++20" 3276 # endif 3277 3278 # ifndef __cpp_lib_atomic_flag_test 3279 # error "__cpp_lib_atomic_flag_test should be defined in c++20" 3280 # endif 3281 # if __cpp_lib_atomic_flag_test != 201907L 3282 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++20" 3283 # endif 3284 3285 # if !defined(_LIBCPP_VERSION) 3286 # ifndef __cpp_lib_atomic_float 3287 # error "__cpp_lib_atomic_float should be defined in c++20" 3288 # endif 3289 # if __cpp_lib_atomic_float != 201711L 3290 # error "__cpp_lib_atomic_float should have the value 201711L in c++20" 3291 # endif 3292 # else // _LIBCPP_VERSION 3293 # ifdef __cpp_lib_atomic_float 3294 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!" 3295 # endif 3296 # endif 3297 3298 # ifndef __cpp_lib_atomic_is_always_lock_free 3299 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++20" 3300 # endif 3301 # if __cpp_lib_atomic_is_always_lock_free != 201603L 3302 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++20" 3303 # endif 3304 3305 # ifndef __cpp_lib_atomic_lock_free_type_aliases 3306 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++20" 3307 # endif 3308 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L 3309 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++20" 3310 # endif 3311 3312 # ifdef __cpp_lib_atomic_min_max 3313 # error "__cpp_lib_atomic_min_max should not be defined before c++26" 3314 # endif 3315 3316 # ifndef __cpp_lib_atomic_ref 3317 # error "__cpp_lib_atomic_ref should be defined in c++20" 3318 # endif 3319 # if __cpp_lib_atomic_ref != 201806L 3320 # error "__cpp_lib_atomic_ref should have the value 201806L in c++20" 3321 # endif 3322 3323 # if !defined(_LIBCPP_VERSION) 3324 # ifndef __cpp_lib_atomic_shared_ptr 3325 # error "__cpp_lib_atomic_shared_ptr should be defined in c++20" 3326 # endif 3327 # if __cpp_lib_atomic_shared_ptr != 201711L 3328 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++20" 3329 # endif 3330 # else // _LIBCPP_VERSION 3331 # ifdef __cpp_lib_atomic_shared_ptr 3332 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!" 3333 # endif 3334 # endif 3335 3336 # ifndef __cpp_lib_atomic_value_initialization 3337 # error "__cpp_lib_atomic_value_initialization should be defined in c++20" 3338 # endif 3339 # if __cpp_lib_atomic_value_initialization != 201911L 3340 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20" 3341 # endif 3342 3343 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC 3344 # ifndef __cpp_lib_atomic_wait 3345 # error "__cpp_lib_atomic_wait should be defined in c++20" 3346 # endif 3347 # if __cpp_lib_atomic_wait != 201907L 3348 # error "__cpp_lib_atomic_wait should have the value 201907L in c++20" 3349 # endif 3350 # else 3351 # ifdef __cpp_lib_atomic_wait 3352 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!" 3353 # endif 3354 # endif 3355 3356 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 3357 # ifndef __cpp_lib_barrier 3358 # error "__cpp_lib_barrier should be defined in c++20" 3359 # endif 3360 # if __cpp_lib_barrier != 201907L 3361 # error "__cpp_lib_barrier should have the value 201907L in c++20" 3362 # endif 3363 # else 3364 # ifdef __cpp_lib_barrier 3365 # error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 3366 # endif 3367 # endif 3368 3369 # ifdef __cpp_lib_bind_back 3370 # error "__cpp_lib_bind_back should not be defined before c++23" 3371 # endif 3372 3373 # ifndef __cpp_lib_bind_front 3374 # error "__cpp_lib_bind_front should be defined in c++20" 3375 # endif 3376 # if __cpp_lib_bind_front != 201907L 3377 # error "__cpp_lib_bind_front should have the value 201907L in c++20" 3378 # endif 3379 3380 # ifndef __cpp_lib_bit_cast 3381 # error "__cpp_lib_bit_cast should be defined in c++20" 3382 # endif 3383 # if __cpp_lib_bit_cast != 201806L 3384 # error "__cpp_lib_bit_cast should have the value 201806L in c++20" 3385 # endif 3386 3387 # ifndef __cpp_lib_bitops 3388 # error "__cpp_lib_bitops should be defined in c++20" 3389 # endif 3390 # if __cpp_lib_bitops != 201907L 3391 # error "__cpp_lib_bitops should have the value 201907L in c++20" 3392 # endif 3393 3394 # ifdef __cpp_lib_bitset 3395 # error "__cpp_lib_bitset should not be defined before c++26" 3396 # endif 3397 3398 # ifndef __cpp_lib_bool_constant 3399 # error "__cpp_lib_bool_constant should be defined in c++20" 3400 # endif 3401 # if __cpp_lib_bool_constant != 201505L 3402 # error "__cpp_lib_bool_constant should have the value 201505L in c++20" 3403 # endif 3404 3405 # ifndef __cpp_lib_bounded_array_traits 3406 # error "__cpp_lib_bounded_array_traits should be defined in c++20" 3407 # endif 3408 # if __cpp_lib_bounded_array_traits != 201902L 3409 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++20" 3410 # endif 3411 3412 # ifndef __cpp_lib_boyer_moore_searcher 3413 # error "__cpp_lib_boyer_moore_searcher should be defined in c++20" 3414 # endif 3415 # if __cpp_lib_boyer_moore_searcher != 201603L 3416 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20" 3417 # endif 3418 3419 # ifndef __cpp_lib_byte 3420 # error "__cpp_lib_byte should be defined in c++20" 3421 # endif 3422 # if __cpp_lib_byte != 201603L 3423 # error "__cpp_lib_byte should have the value 201603L in c++20" 3424 # endif 3425 3426 # ifdef __cpp_lib_byteswap 3427 # error "__cpp_lib_byteswap should not be defined before c++23" 3428 # endif 3429 3430 # if defined(__cpp_char8_t) 3431 # ifndef __cpp_lib_char8_t 3432 # error "__cpp_lib_char8_t should be defined in c++20" 3433 # endif 3434 # if __cpp_lib_char8_t != 201907L 3435 # error "__cpp_lib_char8_t should have the value 201907L in c++20" 3436 # endif 3437 # else 3438 # ifdef __cpp_lib_char8_t 3439 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!" 3440 # endif 3441 # endif 3442 3443 # ifndef __cpp_lib_chrono 3444 # error "__cpp_lib_chrono should be defined in c++20" 3445 # endif 3446 # if __cpp_lib_chrono != 201611L 3447 # error "__cpp_lib_chrono should have the value 201611L in c++20" 3448 # endif 3449 3450 # ifndef __cpp_lib_chrono_udls 3451 # error "__cpp_lib_chrono_udls should be defined in c++20" 3452 # endif 3453 # if __cpp_lib_chrono_udls != 201304L 3454 # error "__cpp_lib_chrono_udls should have the value 201304L in c++20" 3455 # endif 3456 3457 # ifndef __cpp_lib_clamp 3458 # error "__cpp_lib_clamp should be defined in c++20" 3459 # endif 3460 # if __cpp_lib_clamp != 201603L 3461 # error "__cpp_lib_clamp should have the value 201603L in c++20" 3462 # endif 3463 3464 # ifndef __cpp_lib_complex_udls 3465 # error "__cpp_lib_complex_udls should be defined in c++20" 3466 # endif 3467 # if __cpp_lib_complex_udls != 201309L 3468 # error "__cpp_lib_complex_udls should have the value 201309L in c++20" 3469 # endif 3470 3471 # ifndef __cpp_lib_concepts 3472 # error "__cpp_lib_concepts should be defined in c++20" 3473 # endif 3474 # if __cpp_lib_concepts != 202002L 3475 # error "__cpp_lib_concepts should have the value 202002L in c++20" 3476 # endif 3477 3478 # ifndef __cpp_lib_constexpr_algorithms 3479 # error "__cpp_lib_constexpr_algorithms should be defined in c++20" 3480 # endif 3481 # if __cpp_lib_constexpr_algorithms != 201806L 3482 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20" 3483 # endif 3484 3485 # ifdef __cpp_lib_constexpr_bitset 3486 # error "__cpp_lib_constexpr_bitset should not be defined before c++23" 3487 # endif 3488 3489 # ifdef __cpp_lib_constexpr_charconv 3490 # error "__cpp_lib_constexpr_charconv should not be defined before c++23" 3491 # endif 3492 3493 # ifdef __cpp_lib_constexpr_cmath 3494 # error "__cpp_lib_constexpr_cmath should not be defined before c++23" 3495 # endif 3496 3497 # ifndef __cpp_lib_constexpr_complex 3498 # error "__cpp_lib_constexpr_complex should be defined in c++20" 3499 # endif 3500 # if __cpp_lib_constexpr_complex != 201711L 3501 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++20" 3502 # endif 3503 3504 # ifndef __cpp_lib_constexpr_dynamic_alloc 3505 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20" 3506 # endif 3507 # if __cpp_lib_constexpr_dynamic_alloc != 201907L 3508 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20" 3509 # endif 3510 3511 # ifndef __cpp_lib_constexpr_functional 3512 # error "__cpp_lib_constexpr_functional should be defined in c++20" 3513 # endif 3514 # if __cpp_lib_constexpr_functional != 201907L 3515 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++20" 3516 # endif 3517 3518 # ifndef __cpp_lib_constexpr_iterator 3519 # error "__cpp_lib_constexpr_iterator should be defined in c++20" 3520 # endif 3521 # if __cpp_lib_constexpr_iterator != 201811L 3522 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++20" 3523 # endif 3524 3525 # ifndef __cpp_lib_constexpr_memory 3526 # error "__cpp_lib_constexpr_memory should be defined in c++20" 3527 # endif 3528 # if __cpp_lib_constexpr_memory != 201811L 3529 # error "__cpp_lib_constexpr_memory should have the value 201811L in c++20" 3530 # endif 3531 3532 # ifdef __cpp_lib_constexpr_new 3533 # error "__cpp_lib_constexpr_new should not be defined before c++26" 3534 # endif 3535 3536 # ifndef __cpp_lib_constexpr_numeric 3537 # error "__cpp_lib_constexpr_numeric should be defined in c++20" 3538 # endif 3539 # if __cpp_lib_constexpr_numeric != 201911L 3540 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++20" 3541 # endif 3542 3543 # ifndef __cpp_lib_constexpr_string 3544 # error "__cpp_lib_constexpr_string should be defined in c++20" 3545 # endif 3546 # if __cpp_lib_constexpr_string != 201907L 3547 # error "__cpp_lib_constexpr_string should have the value 201907L in c++20" 3548 # endif 3549 3550 # ifndef __cpp_lib_constexpr_string_view 3551 # error "__cpp_lib_constexpr_string_view should be defined in c++20" 3552 # endif 3553 # if __cpp_lib_constexpr_string_view != 201811L 3554 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++20" 3555 # endif 3556 3557 # ifndef __cpp_lib_constexpr_tuple 3558 # error "__cpp_lib_constexpr_tuple should be defined in c++20" 3559 # endif 3560 # if __cpp_lib_constexpr_tuple != 201811L 3561 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++20" 3562 # endif 3563 3564 # ifdef __cpp_lib_constexpr_typeinfo 3565 # error "__cpp_lib_constexpr_typeinfo should not be defined before c++23" 3566 # endif 3567 3568 # ifndef __cpp_lib_constexpr_utility 3569 # error "__cpp_lib_constexpr_utility should be defined in c++20" 3570 # endif 3571 # if __cpp_lib_constexpr_utility != 201811L 3572 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++20" 3573 # endif 3574 3575 # ifndef __cpp_lib_constexpr_vector 3576 # error "__cpp_lib_constexpr_vector should be defined in c++20" 3577 # endif 3578 # if __cpp_lib_constexpr_vector != 201907L 3579 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++20" 3580 # endif 3581 3582 # ifdef __cpp_lib_constrained_equality 3583 # error "__cpp_lib_constrained_equality should not be defined before c++26" 3584 # endif 3585 3586 # ifdef __cpp_lib_containers_ranges 3587 # error "__cpp_lib_containers_ranges should not be defined before c++23" 3588 # endif 3589 3590 # ifdef __cpp_lib_copyable_function 3591 # error "__cpp_lib_copyable_function should not be defined before c++26" 3592 # endif 3593 3594 # ifndef __cpp_lib_coroutine 3595 # error "__cpp_lib_coroutine should be defined in c++20" 3596 # endif 3597 # if __cpp_lib_coroutine != 201902L 3598 # error "__cpp_lib_coroutine should have the value 201902L in c++20" 3599 # endif 3600 3601 # ifdef __cpp_lib_debugging 3602 # error "__cpp_lib_debugging should not be defined before c++26" 3603 # endif 3604 3605 # ifdef __cpp_lib_default_template_type_for_algorithm_values 3606 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26" 3607 # endif 3608 3609 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L 3610 # ifndef __cpp_lib_destroying_delete 3611 # error "__cpp_lib_destroying_delete should be defined in c++20" 3612 # endif 3613 # if __cpp_lib_destroying_delete != 201806L 3614 # error "__cpp_lib_destroying_delete should have the value 201806L in c++20" 3615 # endif 3616 # else 3617 # ifdef __cpp_lib_destroying_delete 3618 # 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!" 3619 # endif 3620 # endif 3621 3622 # ifndef __cpp_lib_enable_shared_from_this 3623 # error "__cpp_lib_enable_shared_from_this should be defined in c++20" 3624 # endif 3625 # if __cpp_lib_enable_shared_from_this != 201603L 3626 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20" 3627 # endif 3628 3629 # ifndef __cpp_lib_endian 3630 # error "__cpp_lib_endian should be defined in c++20" 3631 # endif 3632 # if __cpp_lib_endian != 201907L 3633 # error "__cpp_lib_endian should have the value 201907L in c++20" 3634 # endif 3635 3636 # ifndef __cpp_lib_erase_if 3637 # error "__cpp_lib_erase_if should be defined in c++20" 3638 # endif 3639 # if __cpp_lib_erase_if != 202002L 3640 # error "__cpp_lib_erase_if should have the value 202002L in c++20" 3641 # endif 3642 3643 # ifndef __cpp_lib_exchange_function 3644 # error "__cpp_lib_exchange_function should be defined in c++20" 3645 # endif 3646 # if __cpp_lib_exchange_function != 201304L 3647 # error "__cpp_lib_exchange_function should have the value 201304L in c++20" 3648 # endif 3649 3650 # if !defined(_LIBCPP_VERSION) 3651 # ifndef __cpp_lib_execution 3652 # error "__cpp_lib_execution should be defined in c++20" 3653 # endif 3654 # if __cpp_lib_execution != 201902L 3655 # error "__cpp_lib_execution should have the value 201902L in c++20" 3656 # endif 3657 # else // _LIBCPP_VERSION 3658 # ifdef __cpp_lib_execution 3659 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!" 3660 # endif 3661 # endif 3662 3663 # ifdef __cpp_lib_expected 3664 # error "__cpp_lib_expected should not be defined before c++23" 3665 # endif 3666 3667 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY) 3668 # ifndef __cpp_lib_filesystem 3669 # error "__cpp_lib_filesystem should be defined in c++20" 3670 # endif 3671 # if __cpp_lib_filesystem != 201703L 3672 # error "__cpp_lib_filesystem should have the value 201703L in c++20" 3673 # endif 3674 # else 3675 # ifdef __cpp_lib_filesystem 3676 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!" 3677 # endif 3678 # endif 3679 3680 # ifdef __cpp_lib_flat_map 3681 # error "__cpp_lib_flat_map should not be defined before c++23" 3682 # endif 3683 3684 # ifdef __cpp_lib_flat_set 3685 # error "__cpp_lib_flat_set should not be defined before c++23" 3686 # endif 3687 3688 # ifndef __cpp_lib_format 3689 # error "__cpp_lib_format should be defined in c++20" 3690 # endif 3691 # if __cpp_lib_format != 202110L 3692 # error "__cpp_lib_format should have the value 202110L in c++20" 3693 # endif 3694 3695 # ifdef __cpp_lib_format_path 3696 # error "__cpp_lib_format_path should not be defined before c++26" 3697 # endif 3698 3699 # ifdef __cpp_lib_format_ranges 3700 # error "__cpp_lib_format_ranges should not be defined before c++23" 3701 # endif 3702 3703 # ifndef __cpp_lib_format_uchar 3704 # error "__cpp_lib_format_uchar should be defined in c++20" 3705 # endif 3706 # if __cpp_lib_format_uchar != 202311L 3707 # error "__cpp_lib_format_uchar should have the value 202311L in c++20" 3708 # endif 3709 3710 # ifdef __cpp_lib_formatters 3711 # error "__cpp_lib_formatters should not be defined before c++23" 3712 # endif 3713 3714 # ifdef __cpp_lib_forward_like 3715 # error "__cpp_lib_forward_like should not be defined before c++23" 3716 # endif 3717 3718 # ifdef __cpp_lib_freestanding_algorithm 3719 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26" 3720 # endif 3721 3722 # ifdef __cpp_lib_freestanding_array 3723 # error "__cpp_lib_freestanding_array should not be defined before c++26" 3724 # endif 3725 3726 # ifdef __cpp_lib_freestanding_cstring 3727 # error "__cpp_lib_freestanding_cstring should not be defined before c++26" 3728 # endif 3729 3730 # ifdef __cpp_lib_freestanding_expected 3731 # error "__cpp_lib_freestanding_expected should not be defined before c++26" 3732 # endif 3733 3734 # ifdef __cpp_lib_freestanding_mdspan 3735 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26" 3736 # endif 3737 3738 # ifdef __cpp_lib_freestanding_optional 3739 # error "__cpp_lib_freestanding_optional should not be defined before c++26" 3740 # endif 3741 3742 # ifdef __cpp_lib_freestanding_string_view 3743 # error "__cpp_lib_freestanding_string_view should not be defined before c++26" 3744 # endif 3745 3746 # ifdef __cpp_lib_freestanding_variant 3747 # error "__cpp_lib_freestanding_variant should not be defined before c++26" 3748 # endif 3749 3750 # ifdef __cpp_lib_fstream_native_handle 3751 # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 3752 # endif 3753 3754 # ifdef __cpp_lib_function_ref 3755 # error "__cpp_lib_function_ref should not be defined before c++26" 3756 # endif 3757 3758 # ifndef __cpp_lib_gcd_lcm 3759 # error "__cpp_lib_gcd_lcm should be defined in c++20" 3760 # endif 3761 # if __cpp_lib_gcd_lcm != 201606L 3762 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++20" 3763 # endif 3764 3765 # ifdef __cpp_lib_generate_random 3766 # error "__cpp_lib_generate_random should not be defined before c++26" 3767 # endif 3768 3769 # ifndef __cpp_lib_generic_associative_lookup 3770 # error "__cpp_lib_generic_associative_lookup should be defined in c++20" 3771 # endif 3772 # if __cpp_lib_generic_associative_lookup != 201304L 3773 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++20" 3774 # endif 3775 3776 # ifndef __cpp_lib_generic_unordered_lookup 3777 # error "__cpp_lib_generic_unordered_lookup should be defined in c++20" 3778 # endif 3779 # if __cpp_lib_generic_unordered_lookup != 201811L 3780 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++20" 3781 # endif 3782 3783 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)) 3784 # ifndef __cpp_lib_hardware_interference_size 3785 # error "__cpp_lib_hardware_interference_size should be defined in c++20" 3786 # endif 3787 # if __cpp_lib_hardware_interference_size != 201703L 3788 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++20" 3789 # endif 3790 # else 3791 # ifdef __cpp_lib_hardware_interference_size 3792 # 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!" 3793 # endif 3794 # endif 3795 3796 # ifndef __cpp_lib_has_unique_object_representations 3797 # error "__cpp_lib_has_unique_object_representations should be defined in c++20" 3798 # endif 3799 # if __cpp_lib_has_unique_object_representations != 201606L 3800 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20" 3801 # endif 3802 3803 # ifdef __cpp_lib_hazard_pointer 3804 # error "__cpp_lib_hazard_pointer should not be defined before c++26" 3805 # endif 3806 3807 # ifndef __cpp_lib_hypot 3808 # error "__cpp_lib_hypot should be defined in c++20" 3809 # endif 3810 # if __cpp_lib_hypot != 201603L 3811 # error "__cpp_lib_hypot should have the value 201603L in c++20" 3812 # endif 3813 3814 # ifndef __cpp_lib_incomplete_container_elements 3815 # error "__cpp_lib_incomplete_container_elements should be defined in c++20" 3816 # endif 3817 # if __cpp_lib_incomplete_container_elements != 201505L 3818 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++20" 3819 # endif 3820 3821 # ifdef __cpp_lib_inplace_vector 3822 # error "__cpp_lib_inplace_vector should not be defined before c++26" 3823 # endif 3824 3825 # ifndef __cpp_lib_int_pow2 3826 # error "__cpp_lib_int_pow2 should be defined in c++20" 3827 # endif 3828 # if __cpp_lib_int_pow2 != 202002L 3829 # error "__cpp_lib_int_pow2 should have the value 202002L in c++20" 3830 # endif 3831 3832 # ifndef __cpp_lib_integer_comparison_functions 3833 # error "__cpp_lib_integer_comparison_functions should be defined in c++20" 3834 # endif 3835 # if __cpp_lib_integer_comparison_functions != 202002L 3836 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++20" 3837 # endif 3838 3839 # ifndef __cpp_lib_integer_sequence 3840 # error "__cpp_lib_integer_sequence should be defined in c++20" 3841 # endif 3842 # if __cpp_lib_integer_sequence != 201304L 3843 # error "__cpp_lib_integer_sequence should have the value 201304L in c++20" 3844 # endif 3845 3846 # ifndef __cpp_lib_integral_constant_callable 3847 # error "__cpp_lib_integral_constant_callable should be defined in c++20" 3848 # endif 3849 # if __cpp_lib_integral_constant_callable != 201304L 3850 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++20" 3851 # endif 3852 3853 # ifndef __cpp_lib_interpolate 3854 # error "__cpp_lib_interpolate should be defined in c++20" 3855 # endif 3856 # if __cpp_lib_interpolate != 201902L 3857 # error "__cpp_lib_interpolate should have the value 201902L in c++20" 3858 # endif 3859 3860 # ifndef __cpp_lib_invoke 3861 # error "__cpp_lib_invoke should be defined in c++20" 3862 # endif 3863 # if __cpp_lib_invoke != 201411L 3864 # error "__cpp_lib_invoke should have the value 201411L in c++20" 3865 # endif 3866 3867 # ifdef __cpp_lib_invoke_r 3868 # error "__cpp_lib_invoke_r should not be defined before c++23" 3869 # endif 3870 3871 # ifdef __cpp_lib_ios_noreplace 3872 # error "__cpp_lib_ios_noreplace should not be defined before c++23" 3873 # endif 3874 3875 # ifndef __cpp_lib_is_aggregate 3876 # error "__cpp_lib_is_aggregate should be defined in c++20" 3877 # endif 3878 # if __cpp_lib_is_aggregate != 201703L 3879 # error "__cpp_lib_is_aggregate should have the value 201703L in c++20" 3880 # endif 3881 3882 # ifndef __cpp_lib_is_constant_evaluated 3883 # error "__cpp_lib_is_constant_evaluated should be defined in c++20" 3884 # endif 3885 # if __cpp_lib_is_constant_evaluated != 201811L 3886 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++20" 3887 # endif 3888 3889 # ifndef __cpp_lib_is_final 3890 # error "__cpp_lib_is_final should be defined in c++20" 3891 # endif 3892 # if __cpp_lib_is_final != 201402L 3893 # error "__cpp_lib_is_final should have the value 201402L in c++20" 3894 # endif 3895 3896 # ifdef __cpp_lib_is_implicit_lifetime 3897 # error "__cpp_lib_is_implicit_lifetime should not be defined before c++23" 3898 # endif 3899 3900 # ifndef __cpp_lib_is_invocable 3901 # error "__cpp_lib_is_invocable should be defined in c++20" 3902 # endif 3903 # if __cpp_lib_is_invocable != 201703L 3904 # error "__cpp_lib_is_invocable should have the value 201703L in c++20" 3905 # endif 3906 3907 # if !defined(_LIBCPP_VERSION) 3908 # ifndef __cpp_lib_is_layout_compatible 3909 # error "__cpp_lib_is_layout_compatible should be defined in c++20" 3910 # endif 3911 # if __cpp_lib_is_layout_compatible != 201907L 3912 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++20" 3913 # endif 3914 # else // _LIBCPP_VERSION 3915 # ifdef __cpp_lib_is_layout_compatible 3916 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!" 3917 # endif 3918 # endif 3919 3920 # ifndef __cpp_lib_is_nothrow_convertible 3921 # error "__cpp_lib_is_nothrow_convertible should be defined in c++20" 3922 # endif 3923 # if __cpp_lib_is_nothrow_convertible != 201806L 3924 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++20" 3925 # endif 3926 3927 # ifndef __cpp_lib_is_null_pointer 3928 # error "__cpp_lib_is_null_pointer should be defined in c++20" 3929 # endif 3930 # if __cpp_lib_is_null_pointer != 201309L 3931 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++20" 3932 # endif 3933 3934 # if !defined(_LIBCPP_VERSION) 3935 # ifndef __cpp_lib_is_pointer_interconvertible 3936 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++20" 3937 # endif 3938 # if __cpp_lib_is_pointer_interconvertible != 201907L 3939 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++20" 3940 # endif 3941 # else // _LIBCPP_VERSION 3942 # ifdef __cpp_lib_is_pointer_interconvertible 3943 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!" 3944 # endif 3945 # endif 3946 3947 # ifdef __cpp_lib_is_scoped_enum 3948 # error "__cpp_lib_is_scoped_enum should not be defined before c++23" 3949 # endif 3950 3951 # ifndef __cpp_lib_is_swappable 3952 # error "__cpp_lib_is_swappable should be defined in c++20" 3953 # endif 3954 # if __cpp_lib_is_swappable != 201603L 3955 # error "__cpp_lib_is_swappable should have the value 201603L in c++20" 3956 # endif 3957 3958 # ifdef __cpp_lib_is_virtual_base_of 3959 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26" 3960 # endif 3961 3962 # ifdef __cpp_lib_is_within_lifetime 3963 # error "__cpp_lib_is_within_lifetime should not be defined before c++26" 3964 # endif 3965 3966 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 3967 # ifndef __cpp_lib_jthread 3968 # error "__cpp_lib_jthread should be defined in c++20" 3969 # endif 3970 # if __cpp_lib_jthread != 201911L 3971 # error "__cpp_lib_jthread should have the value 201911L in c++20" 3972 # endif 3973 # else 3974 # ifdef __cpp_lib_jthread 3975 # error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 3976 # endif 3977 # endif 3978 3979 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 3980 # ifndef __cpp_lib_latch 3981 # error "__cpp_lib_latch should be defined in c++20" 3982 # endif 3983 # if __cpp_lib_latch != 201907L 3984 # error "__cpp_lib_latch should have the value 201907L in c++20" 3985 # endif 3986 # else 3987 # ifdef __cpp_lib_latch 3988 # error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 3989 # endif 3990 # endif 3991 3992 # ifndef __cpp_lib_launder 3993 # error "__cpp_lib_launder should be defined in c++20" 3994 # endif 3995 # if __cpp_lib_launder != 201606L 3996 # error "__cpp_lib_launder should have the value 201606L in c++20" 3997 # endif 3998 3999 # ifdef __cpp_lib_linalg 4000 # error "__cpp_lib_linalg should not be defined before c++26" 4001 # endif 4002 4003 # ifndef __cpp_lib_list_remove_return_type 4004 # error "__cpp_lib_list_remove_return_type should be defined in c++20" 4005 # endif 4006 # if __cpp_lib_list_remove_return_type != 201806L 4007 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++20" 4008 # endif 4009 4010 # ifndef __cpp_lib_logical_traits 4011 # error "__cpp_lib_logical_traits should be defined in c++20" 4012 # endif 4013 # if __cpp_lib_logical_traits != 201510L 4014 # error "__cpp_lib_logical_traits should have the value 201510L in c++20" 4015 # endif 4016 4017 # ifndef __cpp_lib_make_from_tuple 4018 # error "__cpp_lib_make_from_tuple should be defined in c++20" 4019 # endif 4020 # if __cpp_lib_make_from_tuple != 201606L 4021 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++20" 4022 # endif 4023 4024 # ifndef __cpp_lib_make_reverse_iterator 4025 # error "__cpp_lib_make_reverse_iterator should be defined in c++20" 4026 # endif 4027 # if __cpp_lib_make_reverse_iterator != 201402L 4028 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++20" 4029 # endif 4030 4031 # ifndef __cpp_lib_make_unique 4032 # error "__cpp_lib_make_unique should be defined in c++20" 4033 # endif 4034 # if __cpp_lib_make_unique != 201304L 4035 # error "__cpp_lib_make_unique should have the value 201304L in c++20" 4036 # endif 4037 4038 # ifndef __cpp_lib_map_try_emplace 4039 # error "__cpp_lib_map_try_emplace should be defined in c++20" 4040 # endif 4041 # if __cpp_lib_map_try_emplace != 201411L 4042 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++20" 4043 # endif 4044 4045 # ifndef __cpp_lib_math_constants 4046 # error "__cpp_lib_math_constants should be defined in c++20" 4047 # endif 4048 # if __cpp_lib_math_constants != 201907L 4049 # error "__cpp_lib_math_constants should have the value 201907L in c++20" 4050 # endif 4051 4052 # if !defined(_LIBCPP_VERSION) 4053 # ifndef __cpp_lib_math_special_functions 4054 # error "__cpp_lib_math_special_functions should be defined in c++20" 4055 # endif 4056 # if __cpp_lib_math_special_functions != 201603L 4057 # error "__cpp_lib_math_special_functions should have the value 201603L in c++20" 4058 # endif 4059 # else // _LIBCPP_VERSION 4060 # ifdef __cpp_lib_math_special_functions 4061 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!" 4062 # endif 4063 # endif 4064 4065 # ifdef __cpp_lib_mdspan 4066 # error "__cpp_lib_mdspan should not be defined before c++23" 4067 # endif 4068 4069 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR 4070 # ifndef __cpp_lib_memory_resource 4071 # error "__cpp_lib_memory_resource should be defined in c++20" 4072 # endif 4073 # if __cpp_lib_memory_resource != 201603L 4074 # error "__cpp_lib_memory_resource should have the value 201603L in c++20" 4075 # endif 4076 # else 4077 # ifdef __cpp_lib_memory_resource 4078 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!" 4079 # endif 4080 # endif 4081 4082 # ifdef __cpp_lib_modules 4083 # error "__cpp_lib_modules should not be defined before c++23" 4084 # endif 4085 4086 # ifndef __cpp_lib_move_iterator_concept 4087 # error "__cpp_lib_move_iterator_concept should be defined in c++20" 4088 # endif 4089 # if __cpp_lib_move_iterator_concept != 202207L 4090 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++20" 4091 # endif 4092 4093 # ifdef __cpp_lib_move_only_function 4094 # error "__cpp_lib_move_only_function should not be defined before c++23" 4095 # endif 4096 4097 # ifndef __cpp_lib_node_extract 4098 # error "__cpp_lib_node_extract should be defined in c++20" 4099 # endif 4100 # if __cpp_lib_node_extract != 201606L 4101 # error "__cpp_lib_node_extract should have the value 201606L in c++20" 4102 # endif 4103 4104 # ifndef __cpp_lib_nonmember_container_access 4105 # error "__cpp_lib_nonmember_container_access should be defined in c++20" 4106 # endif 4107 # if __cpp_lib_nonmember_container_access != 201411L 4108 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++20" 4109 # endif 4110 4111 # ifndef __cpp_lib_not_fn 4112 # error "__cpp_lib_not_fn should be defined in c++20" 4113 # endif 4114 # if __cpp_lib_not_fn != 201603L 4115 # error "__cpp_lib_not_fn should have the value 201603L in c++20" 4116 # endif 4117 4118 # ifndef __cpp_lib_null_iterators 4119 # error "__cpp_lib_null_iterators should be defined in c++20" 4120 # endif 4121 # if __cpp_lib_null_iterators != 201304L 4122 # error "__cpp_lib_null_iterators should have the value 201304L in c++20" 4123 # endif 4124 4125 # ifndef __cpp_lib_optional 4126 # error "__cpp_lib_optional should be defined in c++20" 4127 # endif 4128 # if __cpp_lib_optional != 202106L 4129 # error "__cpp_lib_optional should have the value 202106L in c++20" 4130 # endif 4131 4132 # ifdef __cpp_lib_optional_range_support 4133 # error "__cpp_lib_optional_range_support should not be defined before c++26" 4134 # endif 4135 4136 # ifdef __cpp_lib_out_ptr 4137 # error "__cpp_lib_out_ptr should not be defined before c++23" 4138 # endif 4139 4140 # if !defined(_LIBCPP_VERSION) 4141 # ifndef __cpp_lib_parallel_algorithm 4142 # error "__cpp_lib_parallel_algorithm should be defined in c++20" 4143 # endif 4144 # if __cpp_lib_parallel_algorithm != 201603L 4145 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++20" 4146 # endif 4147 # else // _LIBCPP_VERSION 4148 # ifdef __cpp_lib_parallel_algorithm 4149 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!" 4150 # endif 4151 # endif 4152 4153 # ifdef __cpp_lib_philox_engine 4154 # error "__cpp_lib_philox_engine should not be defined before c++26" 4155 # endif 4156 4157 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR 4158 # ifndef __cpp_lib_polymorphic_allocator 4159 # error "__cpp_lib_polymorphic_allocator should be defined in c++20" 4160 # endif 4161 # if __cpp_lib_polymorphic_allocator != 201902L 4162 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++20" 4163 # endif 4164 # else 4165 # ifdef __cpp_lib_polymorphic_allocator 4166 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!" 4167 # endif 4168 # endif 4169 4170 # ifdef __cpp_lib_print 4171 # error "__cpp_lib_print should not be defined before c++23" 4172 # endif 4173 4174 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION 4175 # ifndef __cpp_lib_quoted_string_io 4176 # error "__cpp_lib_quoted_string_io should be defined in c++20" 4177 # endif 4178 # if __cpp_lib_quoted_string_io != 201304L 4179 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++20" 4180 # endif 4181 # else 4182 # ifdef __cpp_lib_quoted_string_io 4183 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!" 4184 # endif 4185 # endif 4186 4187 # ifndef __cpp_lib_ranges 4188 # error "__cpp_lib_ranges should be defined in c++20" 4189 # endif 4190 # if __cpp_lib_ranges != 202110L 4191 # error "__cpp_lib_ranges should have the value 202110L in c++20" 4192 # endif 4193 4194 # ifdef __cpp_lib_ranges_as_const 4195 # error "__cpp_lib_ranges_as_const should not be defined before c++23" 4196 # endif 4197 4198 # ifdef __cpp_lib_ranges_as_rvalue 4199 # error "__cpp_lib_ranges_as_rvalue should not be defined before c++23" 4200 # endif 4201 4202 # ifdef __cpp_lib_ranges_chunk 4203 # error "__cpp_lib_ranges_chunk should not be defined before c++23" 4204 # endif 4205 4206 # ifdef __cpp_lib_ranges_chunk_by 4207 # error "__cpp_lib_ranges_chunk_by should not be defined before c++23" 4208 # endif 4209 4210 # ifdef __cpp_lib_ranges_concat 4211 # error "__cpp_lib_ranges_concat should not be defined before c++26" 4212 # endif 4213 4214 # ifdef __cpp_lib_ranges_contains 4215 # error "__cpp_lib_ranges_contains should not be defined before c++23" 4216 # endif 4217 4218 # ifdef __cpp_lib_ranges_find_last 4219 # error "__cpp_lib_ranges_find_last should not be defined before c++23" 4220 # endif 4221 4222 # ifdef __cpp_lib_ranges_iota 4223 # error "__cpp_lib_ranges_iota should not be defined before c++23" 4224 # endif 4225 4226 # ifdef __cpp_lib_ranges_join_with 4227 # error "__cpp_lib_ranges_join_with should not be defined before c++23" 4228 # endif 4229 4230 # ifdef __cpp_lib_ranges_repeat 4231 # error "__cpp_lib_ranges_repeat should not be defined before c++23" 4232 # endif 4233 4234 # ifdef __cpp_lib_ranges_slide 4235 # error "__cpp_lib_ranges_slide should not be defined before c++23" 4236 # endif 4237 4238 # ifdef __cpp_lib_ranges_starts_ends_with 4239 # error "__cpp_lib_ranges_starts_ends_with should not be defined before c++23" 4240 # endif 4241 4242 # ifdef __cpp_lib_ranges_to_container 4243 # error "__cpp_lib_ranges_to_container should not be defined before c++23" 4244 # endif 4245 4246 # ifdef __cpp_lib_ranges_zip 4247 # error "__cpp_lib_ranges_zip should not be defined before c++23" 4248 # endif 4249 4250 # ifdef __cpp_lib_ratio 4251 # error "__cpp_lib_ratio should not be defined before c++26" 4252 # endif 4253 4254 # ifndef __cpp_lib_raw_memory_algorithms 4255 # error "__cpp_lib_raw_memory_algorithms should be defined in c++20" 4256 # endif 4257 # if __cpp_lib_raw_memory_algorithms != 201606L 4258 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20" 4259 # endif 4260 4261 # ifdef __cpp_lib_rcu 4262 # error "__cpp_lib_rcu should not be defined before c++26" 4263 # endif 4264 4265 # ifdef __cpp_lib_reference_from_temporary 4266 # error "__cpp_lib_reference_from_temporary should not be defined before c++23" 4267 # endif 4268 4269 # ifdef __cpp_lib_reference_wrapper 4270 # error "__cpp_lib_reference_wrapper should not be defined before c++26" 4271 # endif 4272 4273 # ifndef __cpp_lib_remove_cvref 4274 # error "__cpp_lib_remove_cvref should be defined in c++20" 4275 # endif 4276 # if __cpp_lib_remove_cvref != 201711L 4277 # error "__cpp_lib_remove_cvref should have the value 201711L in c++20" 4278 # endif 4279 4280 # ifndef __cpp_lib_result_of_sfinae 4281 # error "__cpp_lib_result_of_sfinae should be defined in c++20" 4282 # endif 4283 # if __cpp_lib_result_of_sfinae != 201210L 4284 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20" 4285 # endif 4286 4287 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 4288 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++20" 4289 # endif 4290 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 4291 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++20" 4292 # endif 4293 4294 # ifndef __cpp_lib_sample 4295 # error "__cpp_lib_sample should be defined in c++20" 4296 # endif 4297 # if __cpp_lib_sample != 201603L 4298 # error "__cpp_lib_sample should have the value 201603L in c++20" 4299 # endif 4300 4301 # ifdef __cpp_lib_saturation_arithmetic 4302 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26" 4303 # endif 4304 4305 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS 4306 # ifndef __cpp_lib_scoped_lock 4307 # error "__cpp_lib_scoped_lock should be defined in c++20" 4308 # endif 4309 # if __cpp_lib_scoped_lock != 201703L 4310 # error "__cpp_lib_scoped_lock should have the value 201703L in c++20" 4311 # endif 4312 # else 4313 # ifdef __cpp_lib_scoped_lock 4314 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!" 4315 # endif 4316 # endif 4317 4318 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 4319 # ifndef __cpp_lib_semaphore 4320 # error "__cpp_lib_semaphore should be defined in c++20" 4321 # endif 4322 # if __cpp_lib_semaphore != 201907L 4323 # error "__cpp_lib_semaphore should have the value 201907L in c++20" 4324 # endif 4325 # else 4326 # ifdef __cpp_lib_semaphore 4327 # error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 4328 # endif 4329 # endif 4330 4331 # ifdef __cpp_lib_senders 4332 # error "__cpp_lib_senders should not be defined before c++26" 4333 # endif 4334 4335 # if _LIBCPP_HAS_THREADS 4336 # ifndef __cpp_lib_shared_mutex 4337 # error "__cpp_lib_shared_mutex should be defined in c++20" 4338 # endif 4339 # if __cpp_lib_shared_mutex != 201505L 4340 # error "__cpp_lib_shared_mutex should have the value 201505L in c++20" 4341 # endif 4342 # else 4343 # ifdef __cpp_lib_shared_mutex 4344 # error "__cpp_lib_shared_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 4345 # endif 4346 # endif 4347 4348 # ifndef __cpp_lib_shared_ptr_arrays 4349 # error "__cpp_lib_shared_ptr_arrays should be defined in c++20" 4350 # endif 4351 # if __cpp_lib_shared_ptr_arrays != 201707L 4352 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++20" 4353 # endif 4354 4355 # ifndef __cpp_lib_shared_ptr_weak_type 4356 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++20" 4357 # endif 4358 # if __cpp_lib_shared_ptr_weak_type != 201606L 4359 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20" 4360 # endif 4361 4362 # if _LIBCPP_HAS_THREADS 4363 # ifndef __cpp_lib_shared_timed_mutex 4364 # error "__cpp_lib_shared_timed_mutex should be defined in c++20" 4365 # endif 4366 # if __cpp_lib_shared_timed_mutex != 201402L 4367 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++20" 4368 # endif 4369 # else 4370 # ifdef __cpp_lib_shared_timed_mutex 4371 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 4372 # endif 4373 # endif 4374 4375 # ifndef __cpp_lib_shift 4376 # error "__cpp_lib_shift should be defined in c++20" 4377 # endif 4378 # if __cpp_lib_shift != 201806L 4379 # error "__cpp_lib_shift should have the value 201806L in c++20" 4380 # endif 4381 4382 # ifndef __cpp_lib_smart_ptr_for_overwrite 4383 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20" 4384 # endif 4385 # if __cpp_lib_smart_ptr_for_overwrite != 202002L 4386 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20" 4387 # endif 4388 4389 # ifdef __cpp_lib_smart_ptr_owner_equality 4390 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 4391 # endif 4392 4393 # ifndef __cpp_lib_source_location 4394 # error "__cpp_lib_source_location should be defined in c++20" 4395 # endif 4396 # if __cpp_lib_source_location != 201907L 4397 # error "__cpp_lib_source_location should have the value 201907L in c++20" 4398 # endif 4399 4400 # ifndef __cpp_lib_span 4401 # error "__cpp_lib_span should be defined in c++20" 4402 # endif 4403 # if __cpp_lib_span != 202002L 4404 # error "__cpp_lib_span should have the value 202002L in c++20" 4405 # endif 4406 4407 # ifdef __cpp_lib_span_at 4408 # error "__cpp_lib_span_at should not be defined before c++26" 4409 # endif 4410 4411 # ifdef __cpp_lib_span_initializer_list 4412 # error "__cpp_lib_span_initializer_list should not be defined before c++26" 4413 # endif 4414 4415 # ifdef __cpp_lib_spanstream 4416 # error "__cpp_lib_spanstream should not be defined before c++23" 4417 # endif 4418 4419 # ifndef __cpp_lib_ssize 4420 # error "__cpp_lib_ssize should be defined in c++20" 4421 # endif 4422 # if __cpp_lib_ssize != 201902L 4423 # error "__cpp_lib_ssize should have the value 201902L in c++20" 4424 # endif 4425 4426 # ifdef __cpp_lib_sstream_from_string_view 4427 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26" 4428 # endif 4429 4430 # ifdef __cpp_lib_stacktrace 4431 # error "__cpp_lib_stacktrace should not be defined before c++23" 4432 # endif 4433 4434 # ifndef __cpp_lib_starts_ends_with 4435 # error "__cpp_lib_starts_ends_with should be defined in c++20" 4436 # endif 4437 # if __cpp_lib_starts_ends_with != 201711L 4438 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++20" 4439 # endif 4440 4441 # ifdef __cpp_lib_stdatomic_h 4442 # error "__cpp_lib_stdatomic_h should not be defined before c++23" 4443 # endif 4444 4445 # ifdef __cpp_lib_string_contains 4446 # error "__cpp_lib_string_contains should not be defined before c++23" 4447 # endif 4448 4449 # ifdef __cpp_lib_string_resize_and_overwrite 4450 # error "__cpp_lib_string_resize_and_overwrite should not be defined before c++23" 4451 # endif 4452 4453 # ifndef __cpp_lib_string_udls 4454 # error "__cpp_lib_string_udls should be defined in c++20" 4455 # endif 4456 # if __cpp_lib_string_udls != 201304L 4457 # error "__cpp_lib_string_udls should have the value 201304L in c++20" 4458 # endif 4459 4460 # ifndef __cpp_lib_string_view 4461 # error "__cpp_lib_string_view should be defined in c++20" 4462 # endif 4463 # if __cpp_lib_string_view != 201803L 4464 # error "__cpp_lib_string_view should have the value 201803L in c++20" 4465 # endif 4466 4467 # ifdef __cpp_lib_submdspan 4468 # error "__cpp_lib_submdspan should not be defined before c++26" 4469 # endif 4470 4471 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM 4472 # ifndef __cpp_lib_syncbuf 4473 # error "__cpp_lib_syncbuf should be defined in c++20" 4474 # endif 4475 # if __cpp_lib_syncbuf != 201803L 4476 # error "__cpp_lib_syncbuf should have the value 201803L in c++20" 4477 # endif 4478 # else 4479 # ifdef __cpp_lib_syncbuf 4480 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM' is not met!" 4481 # endif 4482 # endif 4483 4484 # ifdef __cpp_lib_text_encoding 4485 # error "__cpp_lib_text_encoding should not be defined before c++26" 4486 # endif 4487 4488 # ifndef __cpp_lib_three_way_comparison 4489 # error "__cpp_lib_three_way_comparison should be defined in c++20" 4490 # endif 4491 # if __cpp_lib_three_way_comparison != 201907L 4492 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++20" 4493 # endif 4494 4495 # ifndef __cpp_lib_to_address 4496 # error "__cpp_lib_to_address should be defined in c++20" 4497 # endif 4498 # if __cpp_lib_to_address != 201711L 4499 # error "__cpp_lib_to_address should have the value 201711L in c++20" 4500 # endif 4501 4502 # ifndef __cpp_lib_to_array 4503 # error "__cpp_lib_to_array should be defined in c++20" 4504 # endif 4505 # if __cpp_lib_to_array != 201907L 4506 # error "__cpp_lib_to_array should have the value 201907L in c++20" 4507 # endif 4508 4509 # if !defined(_LIBCPP_VERSION) 4510 # ifndef __cpp_lib_to_chars 4511 # error "__cpp_lib_to_chars should be defined in c++20" 4512 # endif 4513 # if __cpp_lib_to_chars != 201611L 4514 # error "__cpp_lib_to_chars should have the value 201611L in c++20" 4515 # endif 4516 # else // _LIBCPP_VERSION 4517 # ifdef __cpp_lib_to_chars 4518 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!" 4519 # endif 4520 # endif 4521 4522 # ifdef __cpp_lib_to_string 4523 # error "__cpp_lib_to_string should not be defined before c++26" 4524 # endif 4525 4526 # ifdef __cpp_lib_to_underlying 4527 # error "__cpp_lib_to_underlying should not be defined before c++23" 4528 # endif 4529 4530 # ifndef __cpp_lib_transformation_trait_aliases 4531 # error "__cpp_lib_transformation_trait_aliases should be defined in c++20" 4532 # endif 4533 # if __cpp_lib_transformation_trait_aliases != 201304L 4534 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++20" 4535 # endif 4536 4537 # ifndef __cpp_lib_transparent_operators 4538 # error "__cpp_lib_transparent_operators should be defined in c++20" 4539 # endif 4540 # if __cpp_lib_transparent_operators != 201510L 4541 # error "__cpp_lib_transparent_operators should have the value 201510L in c++20" 4542 # endif 4543 4544 # ifndef __cpp_lib_tuple_element_t 4545 # error "__cpp_lib_tuple_element_t should be defined in c++20" 4546 # endif 4547 # if __cpp_lib_tuple_element_t != 201402L 4548 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++20" 4549 # endif 4550 4551 # ifdef __cpp_lib_tuple_like 4552 # error "__cpp_lib_tuple_like should not be defined before c++23" 4553 # endif 4554 4555 # ifndef __cpp_lib_tuples_by_type 4556 # error "__cpp_lib_tuples_by_type should be defined in c++20" 4557 # endif 4558 # if __cpp_lib_tuples_by_type != 201304L 4559 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++20" 4560 # endif 4561 4562 # ifndef __cpp_lib_type_identity 4563 # error "__cpp_lib_type_identity should be defined in c++20" 4564 # endif 4565 # if __cpp_lib_type_identity != 201806L 4566 # error "__cpp_lib_type_identity should have the value 201806L in c++20" 4567 # endif 4568 4569 # ifndef __cpp_lib_type_trait_variable_templates 4570 # error "__cpp_lib_type_trait_variable_templates should be defined in c++20" 4571 # endif 4572 # if __cpp_lib_type_trait_variable_templates != 201510L 4573 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++20" 4574 # endif 4575 4576 # ifndef __cpp_lib_uncaught_exceptions 4577 # error "__cpp_lib_uncaught_exceptions should be defined in c++20" 4578 # endif 4579 # if __cpp_lib_uncaught_exceptions != 201411L 4580 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++20" 4581 # endif 4582 4583 # ifndef __cpp_lib_unordered_map_try_emplace 4584 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++20" 4585 # endif 4586 # if __cpp_lib_unordered_map_try_emplace != 201411L 4587 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++20" 4588 # endif 4589 4590 # ifdef __cpp_lib_unreachable 4591 # error "__cpp_lib_unreachable should not be defined before c++23" 4592 # endif 4593 4594 # ifndef __cpp_lib_unwrap_ref 4595 # error "__cpp_lib_unwrap_ref should be defined in c++20" 4596 # endif 4597 # if __cpp_lib_unwrap_ref != 201811L 4598 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++20" 4599 # endif 4600 4601 # ifndef __cpp_lib_variant 4602 # error "__cpp_lib_variant should be defined in c++20" 4603 # endif 4604 # if __cpp_lib_variant != 202106L 4605 # error "__cpp_lib_variant should have the value 202106L in c++20" 4606 # endif 4607 4608 # ifndef __cpp_lib_void_t 4609 # error "__cpp_lib_void_t should be defined in c++20" 4610 # endif 4611 # if __cpp_lib_void_t != 201411L 4612 # error "__cpp_lib_void_t should have the value 201411L in c++20" 4613 # endif 4614 4615 #elif TEST_STD_VER == 23 4616 4617 # ifndef __cpp_lib_adaptor_iterator_pair_constructor 4618 # error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++23" 4619 # endif 4620 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L 4621 # error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++23" 4622 # endif 4623 4624 # ifndef __cpp_lib_addressof_constexpr 4625 # error "__cpp_lib_addressof_constexpr should be defined in c++23" 4626 # endif 4627 # if __cpp_lib_addressof_constexpr != 201603L 4628 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++23" 4629 # endif 4630 4631 # ifndef __cpp_lib_allocate_at_least 4632 # error "__cpp_lib_allocate_at_least should be defined in c++23" 4633 # endif 4634 # if __cpp_lib_allocate_at_least != 202302L 4635 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++23" 4636 # endif 4637 4638 # ifndef __cpp_lib_allocator_traits_is_always_equal 4639 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++23" 4640 # endif 4641 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 4642 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++23" 4643 # endif 4644 4645 # ifndef __cpp_lib_any 4646 # error "__cpp_lib_any should be defined in c++23" 4647 # endif 4648 # if __cpp_lib_any != 201606L 4649 # error "__cpp_lib_any should have the value 201606L in c++23" 4650 # endif 4651 4652 # ifndef __cpp_lib_apply 4653 # error "__cpp_lib_apply should be defined in c++23" 4654 # endif 4655 # if __cpp_lib_apply != 201603L 4656 # error "__cpp_lib_apply should have the value 201603L in c++23" 4657 # endif 4658 4659 # ifndef __cpp_lib_array_constexpr 4660 # error "__cpp_lib_array_constexpr should be defined in c++23" 4661 # endif 4662 # if __cpp_lib_array_constexpr != 201811L 4663 # error "__cpp_lib_array_constexpr should have the value 201811L in c++23" 4664 # endif 4665 4666 # ifndef __cpp_lib_as_const 4667 # error "__cpp_lib_as_const should be defined in c++23" 4668 # endif 4669 # if __cpp_lib_as_const != 201510L 4670 # error "__cpp_lib_as_const should have the value 201510L in c++23" 4671 # endif 4672 4673 # if !defined(_LIBCPP_VERSION) 4674 # ifndef __cpp_lib_associative_heterogeneous_erasure 4675 # error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++23" 4676 # endif 4677 # if __cpp_lib_associative_heterogeneous_erasure != 202110L 4678 # error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++23" 4679 # endif 4680 # else // _LIBCPP_VERSION 4681 # ifdef __cpp_lib_associative_heterogeneous_erasure 4682 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!" 4683 # endif 4684 # endif 4685 4686 # ifdef __cpp_lib_associative_heterogeneous_insertion 4687 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined before c++26" 4688 # endif 4689 4690 # ifndef __cpp_lib_assume_aligned 4691 # error "__cpp_lib_assume_aligned should be defined in c++23" 4692 # endif 4693 # if __cpp_lib_assume_aligned != 201811L 4694 # error "__cpp_lib_assume_aligned should have the value 201811L in c++23" 4695 # endif 4696 4697 # ifndef __cpp_lib_atomic_flag_test 4698 # error "__cpp_lib_atomic_flag_test should be defined in c++23" 4699 # endif 4700 # if __cpp_lib_atomic_flag_test != 201907L 4701 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++23" 4702 # endif 4703 4704 # if !defined(_LIBCPP_VERSION) 4705 # ifndef __cpp_lib_atomic_float 4706 # error "__cpp_lib_atomic_float should be defined in c++23" 4707 # endif 4708 # if __cpp_lib_atomic_float != 201711L 4709 # error "__cpp_lib_atomic_float should have the value 201711L in c++23" 4710 # endif 4711 # else // _LIBCPP_VERSION 4712 # ifdef __cpp_lib_atomic_float 4713 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!" 4714 # endif 4715 # endif 4716 4717 # ifndef __cpp_lib_atomic_is_always_lock_free 4718 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++23" 4719 # endif 4720 # if __cpp_lib_atomic_is_always_lock_free != 201603L 4721 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++23" 4722 # endif 4723 4724 # ifndef __cpp_lib_atomic_lock_free_type_aliases 4725 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++23" 4726 # endif 4727 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L 4728 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++23" 4729 # endif 4730 4731 # ifdef __cpp_lib_atomic_min_max 4732 # error "__cpp_lib_atomic_min_max should not be defined before c++26" 4733 # endif 4734 4735 # ifndef __cpp_lib_atomic_ref 4736 # error "__cpp_lib_atomic_ref should be defined in c++23" 4737 # endif 4738 # if __cpp_lib_atomic_ref != 201806L 4739 # error "__cpp_lib_atomic_ref should have the value 201806L in c++23" 4740 # endif 4741 4742 # if !defined(_LIBCPP_VERSION) 4743 # ifndef __cpp_lib_atomic_shared_ptr 4744 # error "__cpp_lib_atomic_shared_ptr should be defined in c++23" 4745 # endif 4746 # if __cpp_lib_atomic_shared_ptr != 201711L 4747 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++23" 4748 # endif 4749 # else // _LIBCPP_VERSION 4750 # ifdef __cpp_lib_atomic_shared_ptr 4751 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!" 4752 # endif 4753 # endif 4754 4755 # ifndef __cpp_lib_atomic_value_initialization 4756 # error "__cpp_lib_atomic_value_initialization should be defined in c++23" 4757 # endif 4758 # if __cpp_lib_atomic_value_initialization != 201911L 4759 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++23" 4760 # endif 4761 4762 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC 4763 # ifndef __cpp_lib_atomic_wait 4764 # error "__cpp_lib_atomic_wait should be defined in c++23" 4765 # endif 4766 # if __cpp_lib_atomic_wait != 201907L 4767 # error "__cpp_lib_atomic_wait should have the value 201907L in c++23" 4768 # endif 4769 # else 4770 # ifdef __cpp_lib_atomic_wait 4771 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!" 4772 # endif 4773 # endif 4774 4775 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 4776 # ifndef __cpp_lib_barrier 4777 # error "__cpp_lib_barrier should be defined in c++23" 4778 # endif 4779 # if __cpp_lib_barrier != 201907L 4780 # error "__cpp_lib_barrier should have the value 201907L in c++23" 4781 # endif 4782 # else 4783 # ifdef __cpp_lib_barrier 4784 # error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 4785 # endif 4786 # endif 4787 4788 # ifndef __cpp_lib_bind_back 4789 # error "__cpp_lib_bind_back should be defined in c++23" 4790 # endif 4791 # if __cpp_lib_bind_back != 202202L 4792 # error "__cpp_lib_bind_back should have the value 202202L in c++23" 4793 # endif 4794 4795 # ifndef __cpp_lib_bind_front 4796 # error "__cpp_lib_bind_front should be defined in c++23" 4797 # endif 4798 # if __cpp_lib_bind_front != 201907L 4799 # error "__cpp_lib_bind_front should have the value 201907L in c++23" 4800 # endif 4801 4802 # ifndef __cpp_lib_bit_cast 4803 # error "__cpp_lib_bit_cast should be defined in c++23" 4804 # endif 4805 # if __cpp_lib_bit_cast != 201806L 4806 # error "__cpp_lib_bit_cast should have the value 201806L in c++23" 4807 # endif 4808 4809 # ifndef __cpp_lib_bitops 4810 # error "__cpp_lib_bitops should be defined in c++23" 4811 # endif 4812 # if __cpp_lib_bitops != 201907L 4813 # error "__cpp_lib_bitops should have the value 201907L in c++23" 4814 # endif 4815 4816 # ifdef __cpp_lib_bitset 4817 # error "__cpp_lib_bitset should not be defined before c++26" 4818 # endif 4819 4820 # ifndef __cpp_lib_bool_constant 4821 # error "__cpp_lib_bool_constant should be defined in c++23" 4822 # endif 4823 # if __cpp_lib_bool_constant != 201505L 4824 # error "__cpp_lib_bool_constant should have the value 201505L in c++23" 4825 # endif 4826 4827 # ifndef __cpp_lib_bounded_array_traits 4828 # error "__cpp_lib_bounded_array_traits should be defined in c++23" 4829 # endif 4830 # if __cpp_lib_bounded_array_traits != 201902L 4831 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++23" 4832 # endif 4833 4834 # ifndef __cpp_lib_boyer_moore_searcher 4835 # error "__cpp_lib_boyer_moore_searcher should be defined in c++23" 4836 # endif 4837 # if __cpp_lib_boyer_moore_searcher != 201603L 4838 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++23" 4839 # endif 4840 4841 # ifndef __cpp_lib_byte 4842 # error "__cpp_lib_byte should be defined in c++23" 4843 # endif 4844 # if __cpp_lib_byte != 201603L 4845 # error "__cpp_lib_byte should have the value 201603L in c++23" 4846 # endif 4847 4848 # ifndef __cpp_lib_byteswap 4849 # error "__cpp_lib_byteswap should be defined in c++23" 4850 # endif 4851 # if __cpp_lib_byteswap != 202110L 4852 # error "__cpp_lib_byteswap should have the value 202110L in c++23" 4853 # endif 4854 4855 # if defined(__cpp_char8_t) 4856 # ifndef __cpp_lib_char8_t 4857 # error "__cpp_lib_char8_t should be defined in c++23" 4858 # endif 4859 # if __cpp_lib_char8_t != 201907L 4860 # error "__cpp_lib_char8_t should have the value 201907L in c++23" 4861 # endif 4862 # else 4863 # ifdef __cpp_lib_char8_t 4864 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!" 4865 # endif 4866 # endif 4867 4868 # ifndef __cpp_lib_chrono 4869 # error "__cpp_lib_chrono should be defined in c++23" 4870 # endif 4871 # if __cpp_lib_chrono != 201611L 4872 # error "__cpp_lib_chrono should have the value 201611L in c++23" 4873 # endif 4874 4875 # ifndef __cpp_lib_chrono_udls 4876 # error "__cpp_lib_chrono_udls should be defined in c++23" 4877 # endif 4878 # if __cpp_lib_chrono_udls != 201304L 4879 # error "__cpp_lib_chrono_udls should have the value 201304L in c++23" 4880 # endif 4881 4882 # ifndef __cpp_lib_clamp 4883 # error "__cpp_lib_clamp should be defined in c++23" 4884 # endif 4885 # if __cpp_lib_clamp != 201603L 4886 # error "__cpp_lib_clamp should have the value 201603L in c++23" 4887 # endif 4888 4889 # ifndef __cpp_lib_complex_udls 4890 # error "__cpp_lib_complex_udls should be defined in c++23" 4891 # endif 4892 # if __cpp_lib_complex_udls != 201309L 4893 # error "__cpp_lib_complex_udls should have the value 201309L in c++23" 4894 # endif 4895 4896 # ifndef __cpp_lib_concepts 4897 # error "__cpp_lib_concepts should be defined in c++23" 4898 # endif 4899 # if __cpp_lib_concepts != 202002L 4900 # error "__cpp_lib_concepts should have the value 202002L in c++23" 4901 # endif 4902 4903 # ifndef __cpp_lib_constexpr_algorithms 4904 # error "__cpp_lib_constexpr_algorithms should be defined in c++23" 4905 # endif 4906 # if __cpp_lib_constexpr_algorithms != 201806L 4907 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++23" 4908 # endif 4909 4910 # ifndef __cpp_lib_constexpr_bitset 4911 # error "__cpp_lib_constexpr_bitset should be defined in c++23" 4912 # endif 4913 # if __cpp_lib_constexpr_bitset != 202207L 4914 # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++23" 4915 # endif 4916 4917 # ifndef __cpp_lib_constexpr_charconv 4918 # error "__cpp_lib_constexpr_charconv should be defined in c++23" 4919 # endif 4920 # if __cpp_lib_constexpr_charconv != 202207L 4921 # error "__cpp_lib_constexpr_charconv should have the value 202207L in c++23" 4922 # endif 4923 4924 # if !defined(_LIBCPP_VERSION) 4925 # ifndef __cpp_lib_constexpr_cmath 4926 # error "__cpp_lib_constexpr_cmath should be defined in c++23" 4927 # endif 4928 # if __cpp_lib_constexpr_cmath != 202202L 4929 # error "__cpp_lib_constexpr_cmath should have the value 202202L in c++23" 4930 # endif 4931 # else // _LIBCPP_VERSION 4932 # ifdef __cpp_lib_constexpr_cmath 4933 # error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!" 4934 # endif 4935 # endif 4936 4937 # ifndef __cpp_lib_constexpr_complex 4938 # error "__cpp_lib_constexpr_complex should be defined in c++23" 4939 # endif 4940 # if __cpp_lib_constexpr_complex != 201711L 4941 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++23" 4942 # endif 4943 4944 # ifndef __cpp_lib_constexpr_dynamic_alloc 4945 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++23" 4946 # endif 4947 # if __cpp_lib_constexpr_dynamic_alloc != 201907L 4948 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++23" 4949 # endif 4950 4951 # ifndef __cpp_lib_constexpr_functional 4952 # error "__cpp_lib_constexpr_functional should be defined in c++23" 4953 # endif 4954 # if __cpp_lib_constexpr_functional != 201907L 4955 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++23" 4956 # endif 4957 4958 # ifndef __cpp_lib_constexpr_iterator 4959 # error "__cpp_lib_constexpr_iterator should be defined in c++23" 4960 # endif 4961 # if __cpp_lib_constexpr_iterator != 201811L 4962 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++23" 4963 # endif 4964 4965 # ifndef __cpp_lib_constexpr_memory 4966 # error "__cpp_lib_constexpr_memory should be defined in c++23" 4967 # endif 4968 # if __cpp_lib_constexpr_memory != 202202L 4969 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++23" 4970 # endif 4971 4972 # ifdef __cpp_lib_constexpr_new 4973 # error "__cpp_lib_constexpr_new should not be defined before c++26" 4974 # endif 4975 4976 # ifndef __cpp_lib_constexpr_numeric 4977 # error "__cpp_lib_constexpr_numeric should be defined in c++23" 4978 # endif 4979 # if __cpp_lib_constexpr_numeric != 201911L 4980 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++23" 4981 # endif 4982 4983 # ifndef __cpp_lib_constexpr_string 4984 # error "__cpp_lib_constexpr_string should be defined in c++23" 4985 # endif 4986 # if __cpp_lib_constexpr_string != 201907L 4987 # error "__cpp_lib_constexpr_string should have the value 201907L in c++23" 4988 # endif 4989 4990 # ifndef __cpp_lib_constexpr_string_view 4991 # error "__cpp_lib_constexpr_string_view should be defined in c++23" 4992 # endif 4993 # if __cpp_lib_constexpr_string_view != 201811L 4994 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++23" 4995 # endif 4996 4997 # ifndef __cpp_lib_constexpr_tuple 4998 # error "__cpp_lib_constexpr_tuple should be defined in c++23" 4999 # endif 5000 # if __cpp_lib_constexpr_tuple != 201811L 5001 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++23" 5002 # endif 5003 5004 # ifndef __cpp_lib_constexpr_typeinfo 5005 # error "__cpp_lib_constexpr_typeinfo should be defined in c++23" 5006 # endif 5007 # if __cpp_lib_constexpr_typeinfo != 202106L 5008 # error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++23" 5009 # endif 5010 5011 # ifndef __cpp_lib_constexpr_utility 5012 # error "__cpp_lib_constexpr_utility should be defined in c++23" 5013 # endif 5014 # if __cpp_lib_constexpr_utility != 201811L 5015 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++23" 5016 # endif 5017 5018 # ifndef __cpp_lib_constexpr_vector 5019 # error "__cpp_lib_constexpr_vector should be defined in c++23" 5020 # endif 5021 # if __cpp_lib_constexpr_vector != 201907L 5022 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++23" 5023 # endif 5024 5025 # ifdef __cpp_lib_constrained_equality 5026 # error "__cpp_lib_constrained_equality should not be defined before c++26" 5027 # endif 5028 5029 # ifndef __cpp_lib_containers_ranges 5030 # error "__cpp_lib_containers_ranges should be defined in c++23" 5031 # endif 5032 # if __cpp_lib_containers_ranges != 202202L 5033 # error "__cpp_lib_containers_ranges should have the value 202202L in c++23" 5034 # endif 5035 5036 # ifdef __cpp_lib_copyable_function 5037 # error "__cpp_lib_copyable_function should not be defined before c++26" 5038 # endif 5039 5040 # ifndef __cpp_lib_coroutine 5041 # error "__cpp_lib_coroutine should be defined in c++23" 5042 # endif 5043 # if __cpp_lib_coroutine != 201902L 5044 # error "__cpp_lib_coroutine should have the value 201902L in c++23" 5045 # endif 5046 5047 # ifdef __cpp_lib_debugging 5048 # error "__cpp_lib_debugging should not be defined before c++26" 5049 # endif 5050 5051 # ifdef __cpp_lib_default_template_type_for_algorithm_values 5052 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined before c++26" 5053 # endif 5054 5055 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L 5056 # ifndef __cpp_lib_destroying_delete 5057 # error "__cpp_lib_destroying_delete should be defined in c++23" 5058 # endif 5059 # if __cpp_lib_destroying_delete != 201806L 5060 # error "__cpp_lib_destroying_delete should have the value 201806L in c++23" 5061 # endif 5062 # else 5063 # ifdef __cpp_lib_destroying_delete 5064 # 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!" 5065 # endif 5066 # endif 5067 5068 # ifndef __cpp_lib_enable_shared_from_this 5069 # error "__cpp_lib_enable_shared_from_this should be defined in c++23" 5070 # endif 5071 # if __cpp_lib_enable_shared_from_this != 201603L 5072 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++23" 5073 # endif 5074 5075 # ifndef __cpp_lib_endian 5076 # error "__cpp_lib_endian should be defined in c++23" 5077 # endif 5078 # if __cpp_lib_endian != 201907L 5079 # error "__cpp_lib_endian should have the value 201907L in c++23" 5080 # endif 5081 5082 # ifndef __cpp_lib_erase_if 5083 # error "__cpp_lib_erase_if should be defined in c++23" 5084 # endif 5085 # if __cpp_lib_erase_if != 202002L 5086 # error "__cpp_lib_erase_if should have the value 202002L in c++23" 5087 # endif 5088 5089 # ifndef __cpp_lib_exchange_function 5090 # error "__cpp_lib_exchange_function should be defined in c++23" 5091 # endif 5092 # if __cpp_lib_exchange_function != 201304L 5093 # error "__cpp_lib_exchange_function should have the value 201304L in c++23" 5094 # endif 5095 5096 # if !defined(_LIBCPP_VERSION) 5097 # ifndef __cpp_lib_execution 5098 # error "__cpp_lib_execution should be defined in c++23" 5099 # endif 5100 # if __cpp_lib_execution != 201902L 5101 # error "__cpp_lib_execution should have the value 201902L in c++23" 5102 # endif 5103 # else // _LIBCPP_VERSION 5104 # ifdef __cpp_lib_execution 5105 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!" 5106 # endif 5107 # endif 5108 5109 # ifndef __cpp_lib_expected 5110 # error "__cpp_lib_expected should be defined in c++23" 5111 # endif 5112 # if __cpp_lib_expected != 202211L 5113 # error "__cpp_lib_expected should have the value 202211L in c++23" 5114 # endif 5115 5116 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY) 5117 # ifndef __cpp_lib_filesystem 5118 # error "__cpp_lib_filesystem should be defined in c++23" 5119 # endif 5120 # if __cpp_lib_filesystem != 201703L 5121 # error "__cpp_lib_filesystem should have the value 201703L in c++23" 5122 # endif 5123 # else 5124 # ifdef __cpp_lib_filesystem 5125 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!" 5126 # endif 5127 # endif 5128 5129 # ifndef __cpp_lib_flat_map 5130 # error "__cpp_lib_flat_map should be defined in c++23" 5131 # endif 5132 # if __cpp_lib_flat_map != 202207L 5133 # error "__cpp_lib_flat_map should have the value 202207L in c++23" 5134 # endif 5135 5136 # if !defined(_LIBCPP_VERSION) 5137 # ifndef __cpp_lib_flat_set 5138 # error "__cpp_lib_flat_set should be defined in c++23" 5139 # endif 5140 # if __cpp_lib_flat_set != 202207L 5141 # error "__cpp_lib_flat_set should have the value 202207L in c++23" 5142 # endif 5143 # else // _LIBCPP_VERSION 5144 # ifdef __cpp_lib_flat_set 5145 # error "__cpp_lib_flat_set should not be defined because it is unimplemented in libc++!" 5146 # endif 5147 # endif 5148 5149 # ifndef __cpp_lib_format 5150 # error "__cpp_lib_format should be defined in c++23" 5151 # endif 5152 # if __cpp_lib_format != 202110L 5153 # error "__cpp_lib_format should have the value 202110L in c++23" 5154 # endif 5155 5156 # ifdef __cpp_lib_format_path 5157 # error "__cpp_lib_format_path should not be defined before c++26" 5158 # endif 5159 5160 # ifndef __cpp_lib_format_ranges 5161 # error "__cpp_lib_format_ranges should be defined in c++23" 5162 # endif 5163 # if __cpp_lib_format_ranges != 202207L 5164 # error "__cpp_lib_format_ranges should have the value 202207L in c++23" 5165 # endif 5166 5167 # ifndef __cpp_lib_format_uchar 5168 # error "__cpp_lib_format_uchar should be defined in c++23" 5169 # endif 5170 # if __cpp_lib_format_uchar != 202311L 5171 # error "__cpp_lib_format_uchar should have the value 202311L in c++23" 5172 # endif 5173 5174 # if !defined(_LIBCPP_VERSION) 5175 # ifndef __cpp_lib_formatters 5176 # error "__cpp_lib_formatters should be defined in c++23" 5177 # endif 5178 # if __cpp_lib_formatters != 202302L 5179 # error "__cpp_lib_formatters should have the value 202302L in c++23" 5180 # endif 5181 # else // _LIBCPP_VERSION 5182 # ifdef __cpp_lib_formatters 5183 # error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!" 5184 # endif 5185 # endif 5186 5187 # ifndef __cpp_lib_forward_like 5188 # error "__cpp_lib_forward_like should be defined in c++23" 5189 # endif 5190 # if __cpp_lib_forward_like != 202207L 5191 # error "__cpp_lib_forward_like should have the value 202207L in c++23" 5192 # endif 5193 5194 # ifdef __cpp_lib_freestanding_algorithm 5195 # error "__cpp_lib_freestanding_algorithm should not be defined before c++26" 5196 # endif 5197 5198 # ifdef __cpp_lib_freestanding_array 5199 # error "__cpp_lib_freestanding_array should not be defined before c++26" 5200 # endif 5201 5202 # ifdef __cpp_lib_freestanding_cstring 5203 # error "__cpp_lib_freestanding_cstring should not be defined before c++26" 5204 # endif 5205 5206 # ifdef __cpp_lib_freestanding_expected 5207 # error "__cpp_lib_freestanding_expected should not be defined before c++26" 5208 # endif 5209 5210 # ifdef __cpp_lib_freestanding_mdspan 5211 # error "__cpp_lib_freestanding_mdspan should not be defined before c++26" 5212 # endif 5213 5214 # ifdef __cpp_lib_freestanding_optional 5215 # error "__cpp_lib_freestanding_optional should not be defined before c++26" 5216 # endif 5217 5218 # ifdef __cpp_lib_freestanding_string_view 5219 # error "__cpp_lib_freestanding_string_view should not be defined before c++26" 5220 # endif 5221 5222 # ifdef __cpp_lib_freestanding_variant 5223 # error "__cpp_lib_freestanding_variant should not be defined before c++26" 5224 # endif 5225 5226 # ifdef __cpp_lib_fstream_native_handle 5227 # error "__cpp_lib_fstream_native_handle should not be defined before c++26" 5228 # endif 5229 5230 # ifdef __cpp_lib_function_ref 5231 # error "__cpp_lib_function_ref should not be defined before c++26" 5232 # endif 5233 5234 # ifndef __cpp_lib_gcd_lcm 5235 # error "__cpp_lib_gcd_lcm should be defined in c++23" 5236 # endif 5237 # if __cpp_lib_gcd_lcm != 201606L 5238 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++23" 5239 # endif 5240 5241 # ifdef __cpp_lib_generate_random 5242 # error "__cpp_lib_generate_random should not be defined before c++26" 5243 # endif 5244 5245 # ifndef __cpp_lib_generic_associative_lookup 5246 # error "__cpp_lib_generic_associative_lookup should be defined in c++23" 5247 # endif 5248 # if __cpp_lib_generic_associative_lookup != 201304L 5249 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++23" 5250 # endif 5251 5252 # ifndef __cpp_lib_generic_unordered_lookup 5253 # error "__cpp_lib_generic_unordered_lookup should be defined in c++23" 5254 # endif 5255 # if __cpp_lib_generic_unordered_lookup != 201811L 5256 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++23" 5257 # endif 5258 5259 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)) 5260 # ifndef __cpp_lib_hardware_interference_size 5261 # error "__cpp_lib_hardware_interference_size should be defined in c++23" 5262 # endif 5263 # if __cpp_lib_hardware_interference_size != 201703L 5264 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++23" 5265 # endif 5266 # else 5267 # ifdef __cpp_lib_hardware_interference_size 5268 # 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!" 5269 # endif 5270 # endif 5271 5272 # ifndef __cpp_lib_has_unique_object_representations 5273 # error "__cpp_lib_has_unique_object_representations should be defined in c++23" 5274 # endif 5275 # if __cpp_lib_has_unique_object_representations != 201606L 5276 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++23" 5277 # endif 5278 5279 # ifdef __cpp_lib_hazard_pointer 5280 # error "__cpp_lib_hazard_pointer should not be defined before c++26" 5281 # endif 5282 5283 # ifndef __cpp_lib_hypot 5284 # error "__cpp_lib_hypot should be defined in c++23" 5285 # endif 5286 # if __cpp_lib_hypot != 201603L 5287 # error "__cpp_lib_hypot should have the value 201603L in c++23" 5288 # endif 5289 5290 # ifndef __cpp_lib_incomplete_container_elements 5291 # error "__cpp_lib_incomplete_container_elements should be defined in c++23" 5292 # endif 5293 # if __cpp_lib_incomplete_container_elements != 201505L 5294 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++23" 5295 # endif 5296 5297 # ifdef __cpp_lib_inplace_vector 5298 # error "__cpp_lib_inplace_vector should not be defined before c++26" 5299 # endif 5300 5301 # ifndef __cpp_lib_int_pow2 5302 # error "__cpp_lib_int_pow2 should be defined in c++23" 5303 # endif 5304 # if __cpp_lib_int_pow2 != 202002L 5305 # error "__cpp_lib_int_pow2 should have the value 202002L in c++23" 5306 # endif 5307 5308 # ifndef __cpp_lib_integer_comparison_functions 5309 # error "__cpp_lib_integer_comparison_functions should be defined in c++23" 5310 # endif 5311 # if __cpp_lib_integer_comparison_functions != 202002L 5312 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++23" 5313 # endif 5314 5315 # ifndef __cpp_lib_integer_sequence 5316 # error "__cpp_lib_integer_sequence should be defined in c++23" 5317 # endif 5318 # if __cpp_lib_integer_sequence != 201304L 5319 # error "__cpp_lib_integer_sequence should have the value 201304L in c++23" 5320 # endif 5321 5322 # ifndef __cpp_lib_integral_constant_callable 5323 # error "__cpp_lib_integral_constant_callable should be defined in c++23" 5324 # endif 5325 # if __cpp_lib_integral_constant_callable != 201304L 5326 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++23" 5327 # endif 5328 5329 # ifndef __cpp_lib_interpolate 5330 # error "__cpp_lib_interpolate should be defined in c++23" 5331 # endif 5332 # if __cpp_lib_interpolate != 201902L 5333 # error "__cpp_lib_interpolate should have the value 201902L in c++23" 5334 # endif 5335 5336 # ifndef __cpp_lib_invoke 5337 # error "__cpp_lib_invoke should be defined in c++23" 5338 # endif 5339 # if __cpp_lib_invoke != 201411L 5340 # error "__cpp_lib_invoke should have the value 201411L in c++23" 5341 # endif 5342 5343 # ifndef __cpp_lib_invoke_r 5344 # error "__cpp_lib_invoke_r should be defined in c++23" 5345 # endif 5346 # if __cpp_lib_invoke_r != 202106L 5347 # error "__cpp_lib_invoke_r should have the value 202106L in c++23" 5348 # endif 5349 5350 # ifndef __cpp_lib_ios_noreplace 5351 # error "__cpp_lib_ios_noreplace should be defined in c++23" 5352 # endif 5353 # if __cpp_lib_ios_noreplace != 202207L 5354 # error "__cpp_lib_ios_noreplace should have the value 202207L in c++23" 5355 # endif 5356 5357 # ifndef __cpp_lib_is_aggregate 5358 # error "__cpp_lib_is_aggregate should be defined in c++23" 5359 # endif 5360 # if __cpp_lib_is_aggregate != 201703L 5361 # error "__cpp_lib_is_aggregate should have the value 201703L in c++23" 5362 # endif 5363 5364 # ifndef __cpp_lib_is_constant_evaluated 5365 # error "__cpp_lib_is_constant_evaluated should be defined in c++23" 5366 # endif 5367 # if __cpp_lib_is_constant_evaluated != 201811L 5368 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++23" 5369 # endif 5370 5371 # ifndef __cpp_lib_is_final 5372 # error "__cpp_lib_is_final should be defined in c++23" 5373 # endif 5374 # if __cpp_lib_is_final != 201402L 5375 # error "__cpp_lib_is_final should have the value 201402L in c++23" 5376 # endif 5377 5378 # if __has_builtin(__builtin_is_implicit_lifetime) 5379 # ifndef __cpp_lib_is_implicit_lifetime 5380 # error "__cpp_lib_is_implicit_lifetime should be defined in c++23" 5381 # endif 5382 # if __cpp_lib_is_implicit_lifetime != 202302L 5383 # error "__cpp_lib_is_implicit_lifetime should have the value 202302L in c++23" 5384 # endif 5385 # else 5386 # ifdef __cpp_lib_is_implicit_lifetime 5387 # error "__cpp_lib_is_implicit_lifetime should not be defined when the requirement '__has_builtin(__builtin_is_implicit_lifetime)' is not met!" 5388 # endif 5389 # endif 5390 5391 # ifndef __cpp_lib_is_invocable 5392 # error "__cpp_lib_is_invocable should be defined in c++23" 5393 # endif 5394 # if __cpp_lib_is_invocable != 201703L 5395 # error "__cpp_lib_is_invocable should have the value 201703L in c++23" 5396 # endif 5397 5398 # if !defined(_LIBCPP_VERSION) 5399 # ifndef __cpp_lib_is_layout_compatible 5400 # error "__cpp_lib_is_layout_compatible should be defined in c++23" 5401 # endif 5402 # if __cpp_lib_is_layout_compatible != 201907L 5403 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++23" 5404 # endif 5405 # else // _LIBCPP_VERSION 5406 # ifdef __cpp_lib_is_layout_compatible 5407 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!" 5408 # endif 5409 # endif 5410 5411 # ifndef __cpp_lib_is_nothrow_convertible 5412 # error "__cpp_lib_is_nothrow_convertible should be defined in c++23" 5413 # endif 5414 # if __cpp_lib_is_nothrow_convertible != 201806L 5415 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++23" 5416 # endif 5417 5418 # ifndef __cpp_lib_is_null_pointer 5419 # error "__cpp_lib_is_null_pointer should be defined in c++23" 5420 # endif 5421 # if __cpp_lib_is_null_pointer != 201309L 5422 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++23" 5423 # endif 5424 5425 # if !defined(_LIBCPP_VERSION) 5426 # ifndef __cpp_lib_is_pointer_interconvertible 5427 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++23" 5428 # endif 5429 # if __cpp_lib_is_pointer_interconvertible != 201907L 5430 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++23" 5431 # endif 5432 # else // _LIBCPP_VERSION 5433 # ifdef __cpp_lib_is_pointer_interconvertible 5434 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!" 5435 # endif 5436 # endif 5437 5438 # ifndef __cpp_lib_is_scoped_enum 5439 # error "__cpp_lib_is_scoped_enum should be defined in c++23" 5440 # endif 5441 # if __cpp_lib_is_scoped_enum != 202011L 5442 # error "__cpp_lib_is_scoped_enum should have the value 202011L in c++23" 5443 # endif 5444 5445 # ifndef __cpp_lib_is_swappable 5446 # error "__cpp_lib_is_swappable should be defined in c++23" 5447 # endif 5448 # if __cpp_lib_is_swappable != 201603L 5449 # error "__cpp_lib_is_swappable should have the value 201603L in c++23" 5450 # endif 5451 5452 # ifdef __cpp_lib_is_virtual_base_of 5453 # error "__cpp_lib_is_virtual_base_of should not be defined before c++26" 5454 # endif 5455 5456 # ifdef __cpp_lib_is_within_lifetime 5457 # error "__cpp_lib_is_within_lifetime should not be defined before c++26" 5458 # endif 5459 5460 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 5461 # ifndef __cpp_lib_jthread 5462 # error "__cpp_lib_jthread should be defined in c++23" 5463 # endif 5464 # if __cpp_lib_jthread != 201911L 5465 # error "__cpp_lib_jthread should have the value 201911L in c++23" 5466 # endif 5467 # else 5468 # ifdef __cpp_lib_jthread 5469 # error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 5470 # endif 5471 # endif 5472 5473 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 5474 # ifndef __cpp_lib_latch 5475 # error "__cpp_lib_latch should be defined in c++23" 5476 # endif 5477 # if __cpp_lib_latch != 201907L 5478 # error "__cpp_lib_latch should have the value 201907L in c++23" 5479 # endif 5480 # else 5481 # ifdef __cpp_lib_latch 5482 # error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 5483 # endif 5484 # endif 5485 5486 # ifndef __cpp_lib_launder 5487 # error "__cpp_lib_launder should be defined in c++23" 5488 # endif 5489 # if __cpp_lib_launder != 201606L 5490 # error "__cpp_lib_launder should have the value 201606L in c++23" 5491 # endif 5492 5493 # ifdef __cpp_lib_linalg 5494 # error "__cpp_lib_linalg should not be defined before c++26" 5495 # endif 5496 5497 # ifndef __cpp_lib_list_remove_return_type 5498 # error "__cpp_lib_list_remove_return_type should be defined in c++23" 5499 # endif 5500 # if __cpp_lib_list_remove_return_type != 201806L 5501 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++23" 5502 # endif 5503 5504 # ifndef __cpp_lib_logical_traits 5505 # error "__cpp_lib_logical_traits should be defined in c++23" 5506 # endif 5507 # if __cpp_lib_logical_traits != 201510L 5508 # error "__cpp_lib_logical_traits should have the value 201510L in c++23" 5509 # endif 5510 5511 # ifndef __cpp_lib_make_from_tuple 5512 # error "__cpp_lib_make_from_tuple should be defined in c++23" 5513 # endif 5514 # if __cpp_lib_make_from_tuple != 201606L 5515 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++23" 5516 # endif 5517 5518 # ifndef __cpp_lib_make_reverse_iterator 5519 # error "__cpp_lib_make_reverse_iterator should be defined in c++23" 5520 # endif 5521 # if __cpp_lib_make_reverse_iterator != 201402L 5522 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++23" 5523 # endif 5524 5525 # ifndef __cpp_lib_make_unique 5526 # error "__cpp_lib_make_unique should be defined in c++23" 5527 # endif 5528 # if __cpp_lib_make_unique != 201304L 5529 # error "__cpp_lib_make_unique should have the value 201304L in c++23" 5530 # endif 5531 5532 # ifndef __cpp_lib_map_try_emplace 5533 # error "__cpp_lib_map_try_emplace should be defined in c++23" 5534 # endif 5535 # if __cpp_lib_map_try_emplace != 201411L 5536 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++23" 5537 # endif 5538 5539 # ifndef __cpp_lib_math_constants 5540 # error "__cpp_lib_math_constants should be defined in c++23" 5541 # endif 5542 # if __cpp_lib_math_constants != 201907L 5543 # error "__cpp_lib_math_constants should have the value 201907L in c++23" 5544 # endif 5545 5546 # if !defined(_LIBCPP_VERSION) 5547 # ifndef __cpp_lib_math_special_functions 5548 # error "__cpp_lib_math_special_functions should be defined in c++23" 5549 # endif 5550 # if __cpp_lib_math_special_functions != 201603L 5551 # error "__cpp_lib_math_special_functions should have the value 201603L in c++23" 5552 # endif 5553 # else // _LIBCPP_VERSION 5554 # ifdef __cpp_lib_math_special_functions 5555 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!" 5556 # endif 5557 # endif 5558 5559 # ifndef __cpp_lib_mdspan 5560 # error "__cpp_lib_mdspan should be defined in c++23" 5561 # endif 5562 # if __cpp_lib_mdspan != 202207L 5563 # error "__cpp_lib_mdspan should have the value 202207L in c++23" 5564 # endif 5565 5566 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR 5567 # ifndef __cpp_lib_memory_resource 5568 # error "__cpp_lib_memory_resource should be defined in c++23" 5569 # endif 5570 # if __cpp_lib_memory_resource != 201603L 5571 # error "__cpp_lib_memory_resource should have the value 201603L in c++23" 5572 # endif 5573 # else 5574 # ifdef __cpp_lib_memory_resource 5575 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!" 5576 # endif 5577 # endif 5578 5579 # ifndef __cpp_lib_modules 5580 # error "__cpp_lib_modules should be defined in c++23" 5581 # endif 5582 # if __cpp_lib_modules != 202207L 5583 # error "__cpp_lib_modules should have the value 202207L in c++23" 5584 # endif 5585 5586 # ifndef __cpp_lib_move_iterator_concept 5587 # error "__cpp_lib_move_iterator_concept should be defined in c++23" 5588 # endif 5589 # if __cpp_lib_move_iterator_concept != 202207L 5590 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++23" 5591 # endif 5592 5593 # if !defined(_LIBCPP_VERSION) 5594 # ifndef __cpp_lib_move_only_function 5595 # error "__cpp_lib_move_only_function should be defined in c++23" 5596 # endif 5597 # if __cpp_lib_move_only_function != 202110L 5598 # error "__cpp_lib_move_only_function should have the value 202110L in c++23" 5599 # endif 5600 # else // _LIBCPP_VERSION 5601 # ifdef __cpp_lib_move_only_function 5602 # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!" 5603 # endif 5604 # endif 5605 5606 # ifndef __cpp_lib_node_extract 5607 # error "__cpp_lib_node_extract should be defined in c++23" 5608 # endif 5609 # if __cpp_lib_node_extract != 201606L 5610 # error "__cpp_lib_node_extract should have the value 201606L in c++23" 5611 # endif 5612 5613 # ifndef __cpp_lib_nonmember_container_access 5614 # error "__cpp_lib_nonmember_container_access should be defined in c++23" 5615 # endif 5616 # if __cpp_lib_nonmember_container_access != 201411L 5617 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++23" 5618 # endif 5619 5620 # ifndef __cpp_lib_not_fn 5621 # error "__cpp_lib_not_fn should be defined in c++23" 5622 # endif 5623 # if __cpp_lib_not_fn != 201603L 5624 # error "__cpp_lib_not_fn should have the value 201603L in c++23" 5625 # endif 5626 5627 # ifndef __cpp_lib_null_iterators 5628 # error "__cpp_lib_null_iterators should be defined in c++23" 5629 # endif 5630 # if __cpp_lib_null_iterators != 201304L 5631 # error "__cpp_lib_null_iterators should have the value 201304L in c++23" 5632 # endif 5633 5634 # ifndef __cpp_lib_optional 5635 # error "__cpp_lib_optional should be defined in c++23" 5636 # endif 5637 # if __cpp_lib_optional != 202110L 5638 # error "__cpp_lib_optional should have the value 202110L in c++23" 5639 # endif 5640 5641 # ifdef __cpp_lib_optional_range_support 5642 # error "__cpp_lib_optional_range_support should not be defined before c++26" 5643 # endif 5644 5645 # ifndef __cpp_lib_out_ptr 5646 # error "__cpp_lib_out_ptr should be defined in c++23" 5647 # endif 5648 # if __cpp_lib_out_ptr != 202106L 5649 # error "__cpp_lib_out_ptr should have the value 202106L in c++23" 5650 # endif 5651 5652 # if !defined(_LIBCPP_VERSION) 5653 # ifndef __cpp_lib_parallel_algorithm 5654 # error "__cpp_lib_parallel_algorithm should be defined in c++23" 5655 # endif 5656 # if __cpp_lib_parallel_algorithm != 201603L 5657 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++23" 5658 # endif 5659 # else // _LIBCPP_VERSION 5660 # ifdef __cpp_lib_parallel_algorithm 5661 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!" 5662 # endif 5663 # endif 5664 5665 # ifdef __cpp_lib_philox_engine 5666 # error "__cpp_lib_philox_engine should not be defined before c++26" 5667 # endif 5668 5669 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR 5670 # ifndef __cpp_lib_polymorphic_allocator 5671 # error "__cpp_lib_polymorphic_allocator should be defined in c++23" 5672 # endif 5673 # if __cpp_lib_polymorphic_allocator != 201902L 5674 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++23" 5675 # endif 5676 # else 5677 # ifdef __cpp_lib_polymorphic_allocator 5678 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!" 5679 # endif 5680 # endif 5681 5682 # ifndef __cpp_lib_print 5683 # error "__cpp_lib_print should be defined in c++23" 5684 # endif 5685 # if __cpp_lib_print != 202207L 5686 # error "__cpp_lib_print should have the value 202207L in c++23" 5687 # endif 5688 5689 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION 5690 # ifndef __cpp_lib_quoted_string_io 5691 # error "__cpp_lib_quoted_string_io should be defined in c++23" 5692 # endif 5693 # if __cpp_lib_quoted_string_io != 201304L 5694 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++23" 5695 # endif 5696 # else 5697 # ifdef __cpp_lib_quoted_string_io 5698 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!" 5699 # endif 5700 # endif 5701 5702 # ifndef __cpp_lib_ranges 5703 # error "__cpp_lib_ranges should be defined in c++23" 5704 # endif 5705 # if __cpp_lib_ranges != 202406L 5706 # error "__cpp_lib_ranges should have the value 202406L in c++23" 5707 # endif 5708 5709 # if !defined(_LIBCPP_VERSION) 5710 # ifndef __cpp_lib_ranges_as_const 5711 # error "__cpp_lib_ranges_as_const should be defined in c++23" 5712 # endif 5713 # if __cpp_lib_ranges_as_const != 202207L 5714 # error "__cpp_lib_ranges_as_const should have the value 202207L in c++23" 5715 # endif 5716 # else // _LIBCPP_VERSION 5717 # ifdef __cpp_lib_ranges_as_const 5718 # error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!" 5719 # endif 5720 # endif 5721 5722 # ifndef __cpp_lib_ranges_as_rvalue 5723 # error "__cpp_lib_ranges_as_rvalue should be defined in c++23" 5724 # endif 5725 # if __cpp_lib_ranges_as_rvalue != 202207L 5726 # error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++23" 5727 # endif 5728 5729 # if !defined(_LIBCPP_VERSION) 5730 # ifndef __cpp_lib_ranges_chunk 5731 # error "__cpp_lib_ranges_chunk should be defined in c++23" 5732 # endif 5733 # if __cpp_lib_ranges_chunk != 202202L 5734 # error "__cpp_lib_ranges_chunk should have the value 202202L in c++23" 5735 # endif 5736 # else // _LIBCPP_VERSION 5737 # ifdef __cpp_lib_ranges_chunk 5738 # error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!" 5739 # endif 5740 # endif 5741 5742 # ifndef __cpp_lib_ranges_chunk_by 5743 # error "__cpp_lib_ranges_chunk_by should be defined in c++23" 5744 # endif 5745 # if __cpp_lib_ranges_chunk_by != 202202L 5746 # error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++23" 5747 # endif 5748 5749 # ifdef __cpp_lib_ranges_concat 5750 # error "__cpp_lib_ranges_concat should not be defined before c++26" 5751 # endif 5752 5753 # ifndef __cpp_lib_ranges_contains 5754 # error "__cpp_lib_ranges_contains should be defined in c++23" 5755 # endif 5756 # if __cpp_lib_ranges_contains != 202207L 5757 # error "__cpp_lib_ranges_contains should have the value 202207L in c++23" 5758 # endif 5759 5760 # ifndef __cpp_lib_ranges_find_last 5761 # error "__cpp_lib_ranges_find_last should be defined in c++23" 5762 # endif 5763 # if __cpp_lib_ranges_find_last != 202207L 5764 # error "__cpp_lib_ranges_find_last should have the value 202207L in c++23" 5765 # endif 5766 5767 # if !defined(_LIBCPP_VERSION) 5768 # ifndef __cpp_lib_ranges_iota 5769 # error "__cpp_lib_ranges_iota should be defined in c++23" 5770 # endif 5771 # if __cpp_lib_ranges_iota != 202202L 5772 # error "__cpp_lib_ranges_iota should have the value 202202L in c++23" 5773 # endif 5774 # else // _LIBCPP_VERSION 5775 # ifdef __cpp_lib_ranges_iota 5776 # error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!" 5777 # endif 5778 # endif 5779 5780 # if !defined(_LIBCPP_VERSION) 5781 # ifndef __cpp_lib_ranges_join_with 5782 # error "__cpp_lib_ranges_join_with should be defined in c++23" 5783 # endif 5784 # if __cpp_lib_ranges_join_with != 202202L 5785 # error "__cpp_lib_ranges_join_with should have the value 202202L in c++23" 5786 # endif 5787 # else // _LIBCPP_VERSION 5788 # ifdef __cpp_lib_ranges_join_with 5789 # error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!" 5790 # endif 5791 # endif 5792 5793 # ifndef __cpp_lib_ranges_repeat 5794 # error "__cpp_lib_ranges_repeat should be defined in c++23" 5795 # endif 5796 # if __cpp_lib_ranges_repeat != 202207L 5797 # error "__cpp_lib_ranges_repeat should have the value 202207L in c++23" 5798 # endif 5799 5800 # if !defined(_LIBCPP_VERSION) 5801 # ifndef __cpp_lib_ranges_slide 5802 # error "__cpp_lib_ranges_slide should be defined in c++23" 5803 # endif 5804 # if __cpp_lib_ranges_slide != 202202L 5805 # error "__cpp_lib_ranges_slide should have the value 202202L in c++23" 5806 # endif 5807 # else // _LIBCPP_VERSION 5808 # ifdef __cpp_lib_ranges_slide 5809 # error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!" 5810 # endif 5811 # endif 5812 5813 # ifndef __cpp_lib_ranges_starts_ends_with 5814 # error "__cpp_lib_ranges_starts_ends_with should be defined in c++23" 5815 # endif 5816 # if __cpp_lib_ranges_starts_ends_with != 202106L 5817 # error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++23" 5818 # endif 5819 5820 # ifndef __cpp_lib_ranges_to_container 5821 # error "__cpp_lib_ranges_to_container should be defined in c++23" 5822 # endif 5823 # if __cpp_lib_ranges_to_container != 202202L 5824 # error "__cpp_lib_ranges_to_container should have the value 202202L in c++23" 5825 # endif 5826 5827 # if !defined(_LIBCPP_VERSION) 5828 # ifndef __cpp_lib_ranges_zip 5829 # error "__cpp_lib_ranges_zip should be defined in c++23" 5830 # endif 5831 # if __cpp_lib_ranges_zip != 202110L 5832 # error "__cpp_lib_ranges_zip should have the value 202110L in c++23" 5833 # endif 5834 # else // _LIBCPP_VERSION 5835 # ifdef __cpp_lib_ranges_zip 5836 # error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!" 5837 # endif 5838 # endif 5839 5840 # ifdef __cpp_lib_ratio 5841 # error "__cpp_lib_ratio should not be defined before c++26" 5842 # endif 5843 5844 # ifndef __cpp_lib_raw_memory_algorithms 5845 # error "__cpp_lib_raw_memory_algorithms should be defined in c++23" 5846 # endif 5847 # if __cpp_lib_raw_memory_algorithms != 201606L 5848 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++23" 5849 # endif 5850 5851 # ifdef __cpp_lib_rcu 5852 # error "__cpp_lib_rcu should not be defined before c++26" 5853 # endif 5854 5855 # if !defined(_LIBCPP_VERSION) 5856 # ifndef __cpp_lib_reference_from_temporary 5857 # error "__cpp_lib_reference_from_temporary should be defined in c++23" 5858 # endif 5859 # if __cpp_lib_reference_from_temporary != 202202L 5860 # error "__cpp_lib_reference_from_temporary should have the value 202202L in c++23" 5861 # endif 5862 # else // _LIBCPP_VERSION 5863 # ifdef __cpp_lib_reference_from_temporary 5864 # error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!" 5865 # endif 5866 # endif 5867 5868 # ifdef __cpp_lib_reference_wrapper 5869 # error "__cpp_lib_reference_wrapper should not be defined before c++26" 5870 # endif 5871 5872 # ifndef __cpp_lib_remove_cvref 5873 # error "__cpp_lib_remove_cvref should be defined in c++23" 5874 # endif 5875 # if __cpp_lib_remove_cvref != 201711L 5876 # error "__cpp_lib_remove_cvref should have the value 201711L in c++23" 5877 # endif 5878 5879 # ifndef __cpp_lib_result_of_sfinae 5880 # error "__cpp_lib_result_of_sfinae should be defined in c++23" 5881 # endif 5882 # if __cpp_lib_result_of_sfinae != 201210L 5883 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++23" 5884 # endif 5885 5886 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 5887 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++23" 5888 # endif 5889 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 5890 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++23" 5891 # endif 5892 5893 # ifndef __cpp_lib_sample 5894 # error "__cpp_lib_sample should be defined in c++23" 5895 # endif 5896 # if __cpp_lib_sample != 201603L 5897 # error "__cpp_lib_sample should have the value 201603L in c++23" 5898 # endif 5899 5900 # ifdef __cpp_lib_saturation_arithmetic 5901 # error "__cpp_lib_saturation_arithmetic should not be defined before c++26" 5902 # endif 5903 5904 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS 5905 # ifndef __cpp_lib_scoped_lock 5906 # error "__cpp_lib_scoped_lock should be defined in c++23" 5907 # endif 5908 # if __cpp_lib_scoped_lock != 201703L 5909 # error "__cpp_lib_scoped_lock should have the value 201703L in c++23" 5910 # endif 5911 # else 5912 # ifdef __cpp_lib_scoped_lock 5913 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!" 5914 # endif 5915 # endif 5916 5917 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 5918 # ifndef __cpp_lib_semaphore 5919 # error "__cpp_lib_semaphore should be defined in c++23" 5920 # endif 5921 # if __cpp_lib_semaphore != 201907L 5922 # error "__cpp_lib_semaphore should have the value 201907L in c++23" 5923 # endif 5924 # else 5925 # ifdef __cpp_lib_semaphore 5926 # error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 5927 # endif 5928 # endif 5929 5930 # ifdef __cpp_lib_senders 5931 # error "__cpp_lib_senders should not be defined before c++26" 5932 # endif 5933 5934 # if _LIBCPP_HAS_THREADS 5935 # ifndef __cpp_lib_shared_mutex 5936 # error "__cpp_lib_shared_mutex should be defined in c++23" 5937 # endif 5938 # if __cpp_lib_shared_mutex != 201505L 5939 # error "__cpp_lib_shared_mutex should have the value 201505L in c++23" 5940 # endif 5941 # else 5942 # ifdef __cpp_lib_shared_mutex 5943 # error "__cpp_lib_shared_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 5944 # endif 5945 # endif 5946 5947 # ifndef __cpp_lib_shared_ptr_arrays 5948 # error "__cpp_lib_shared_ptr_arrays should be defined in c++23" 5949 # endif 5950 # if __cpp_lib_shared_ptr_arrays != 201707L 5951 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++23" 5952 # endif 5953 5954 # ifndef __cpp_lib_shared_ptr_weak_type 5955 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++23" 5956 # endif 5957 # if __cpp_lib_shared_ptr_weak_type != 201606L 5958 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++23" 5959 # endif 5960 5961 # if _LIBCPP_HAS_THREADS 5962 # ifndef __cpp_lib_shared_timed_mutex 5963 # error "__cpp_lib_shared_timed_mutex should be defined in c++23" 5964 # endif 5965 # if __cpp_lib_shared_timed_mutex != 201402L 5966 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++23" 5967 # endif 5968 # else 5969 # ifdef __cpp_lib_shared_timed_mutex 5970 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 5971 # endif 5972 # endif 5973 5974 # ifndef __cpp_lib_shift 5975 # error "__cpp_lib_shift should be defined in c++23" 5976 # endif 5977 # if __cpp_lib_shift != 201806L 5978 # error "__cpp_lib_shift should have the value 201806L in c++23" 5979 # endif 5980 5981 # ifndef __cpp_lib_smart_ptr_for_overwrite 5982 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++23" 5983 # endif 5984 # if __cpp_lib_smart_ptr_for_overwrite != 202002L 5985 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++23" 5986 # endif 5987 5988 # ifdef __cpp_lib_smart_ptr_owner_equality 5989 # error "__cpp_lib_smart_ptr_owner_equality should not be defined before c++26" 5990 # endif 5991 5992 # ifndef __cpp_lib_source_location 5993 # error "__cpp_lib_source_location should be defined in c++23" 5994 # endif 5995 # if __cpp_lib_source_location != 201907L 5996 # error "__cpp_lib_source_location should have the value 201907L in c++23" 5997 # endif 5998 5999 # ifndef __cpp_lib_span 6000 # error "__cpp_lib_span should be defined in c++23" 6001 # endif 6002 # if __cpp_lib_span != 202002L 6003 # error "__cpp_lib_span should have the value 202002L in c++23" 6004 # endif 6005 6006 # ifdef __cpp_lib_span_at 6007 # error "__cpp_lib_span_at should not be defined before c++26" 6008 # endif 6009 6010 # ifdef __cpp_lib_span_initializer_list 6011 # error "__cpp_lib_span_initializer_list should not be defined before c++26" 6012 # endif 6013 6014 # if !defined(_LIBCPP_VERSION) 6015 # ifndef __cpp_lib_spanstream 6016 # error "__cpp_lib_spanstream should be defined in c++23" 6017 # endif 6018 # if __cpp_lib_spanstream != 202106L 6019 # error "__cpp_lib_spanstream should have the value 202106L in c++23" 6020 # endif 6021 # else // _LIBCPP_VERSION 6022 # ifdef __cpp_lib_spanstream 6023 # error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!" 6024 # endif 6025 # endif 6026 6027 # ifndef __cpp_lib_ssize 6028 # error "__cpp_lib_ssize should be defined in c++23" 6029 # endif 6030 # if __cpp_lib_ssize != 201902L 6031 # error "__cpp_lib_ssize should have the value 201902L in c++23" 6032 # endif 6033 6034 # ifdef __cpp_lib_sstream_from_string_view 6035 # error "__cpp_lib_sstream_from_string_view should not be defined before c++26" 6036 # endif 6037 6038 # if !defined(_LIBCPP_VERSION) 6039 # ifndef __cpp_lib_stacktrace 6040 # error "__cpp_lib_stacktrace should be defined in c++23" 6041 # endif 6042 # if __cpp_lib_stacktrace != 202011L 6043 # error "__cpp_lib_stacktrace should have the value 202011L in c++23" 6044 # endif 6045 # else // _LIBCPP_VERSION 6046 # ifdef __cpp_lib_stacktrace 6047 # error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!" 6048 # endif 6049 # endif 6050 6051 # ifndef __cpp_lib_starts_ends_with 6052 # error "__cpp_lib_starts_ends_with should be defined in c++23" 6053 # endif 6054 # if __cpp_lib_starts_ends_with != 201711L 6055 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++23" 6056 # endif 6057 6058 # ifndef __cpp_lib_stdatomic_h 6059 # error "__cpp_lib_stdatomic_h should be defined in c++23" 6060 # endif 6061 # if __cpp_lib_stdatomic_h != 202011L 6062 # error "__cpp_lib_stdatomic_h should have the value 202011L in c++23" 6063 # endif 6064 6065 # ifndef __cpp_lib_string_contains 6066 # error "__cpp_lib_string_contains should be defined in c++23" 6067 # endif 6068 # if __cpp_lib_string_contains != 202011L 6069 # error "__cpp_lib_string_contains should have the value 202011L in c++23" 6070 # endif 6071 6072 # ifndef __cpp_lib_string_resize_and_overwrite 6073 # error "__cpp_lib_string_resize_and_overwrite should be defined in c++23" 6074 # endif 6075 # if __cpp_lib_string_resize_and_overwrite != 202110L 6076 # error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++23" 6077 # endif 6078 6079 # ifndef __cpp_lib_string_udls 6080 # error "__cpp_lib_string_udls should be defined in c++23" 6081 # endif 6082 # if __cpp_lib_string_udls != 201304L 6083 # error "__cpp_lib_string_udls should have the value 201304L in c++23" 6084 # endif 6085 6086 # ifndef __cpp_lib_string_view 6087 # error "__cpp_lib_string_view should be defined in c++23" 6088 # endif 6089 # if __cpp_lib_string_view != 201803L 6090 # error "__cpp_lib_string_view should have the value 201803L in c++23" 6091 # endif 6092 6093 # ifdef __cpp_lib_submdspan 6094 # error "__cpp_lib_submdspan should not be defined before c++26" 6095 # endif 6096 6097 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM 6098 # ifndef __cpp_lib_syncbuf 6099 # error "__cpp_lib_syncbuf should be defined in c++23" 6100 # endif 6101 # if __cpp_lib_syncbuf != 201803L 6102 # error "__cpp_lib_syncbuf should have the value 201803L in c++23" 6103 # endif 6104 # else 6105 # ifdef __cpp_lib_syncbuf 6106 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM' is not met!" 6107 # endif 6108 # endif 6109 6110 # ifdef __cpp_lib_text_encoding 6111 # error "__cpp_lib_text_encoding should not be defined before c++26" 6112 # endif 6113 6114 # ifndef __cpp_lib_three_way_comparison 6115 # error "__cpp_lib_three_way_comparison should be defined in c++23" 6116 # endif 6117 # if __cpp_lib_three_way_comparison != 201907L 6118 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++23" 6119 # endif 6120 6121 # ifndef __cpp_lib_to_address 6122 # error "__cpp_lib_to_address should be defined in c++23" 6123 # endif 6124 # if __cpp_lib_to_address != 201711L 6125 # error "__cpp_lib_to_address should have the value 201711L in c++23" 6126 # endif 6127 6128 # ifndef __cpp_lib_to_array 6129 # error "__cpp_lib_to_array should be defined in c++23" 6130 # endif 6131 # if __cpp_lib_to_array != 201907L 6132 # error "__cpp_lib_to_array should have the value 201907L in c++23" 6133 # endif 6134 6135 # if !defined(_LIBCPP_VERSION) 6136 # ifndef __cpp_lib_to_chars 6137 # error "__cpp_lib_to_chars should be defined in c++23" 6138 # endif 6139 # if __cpp_lib_to_chars != 201611L 6140 # error "__cpp_lib_to_chars should have the value 201611L in c++23" 6141 # endif 6142 # else // _LIBCPP_VERSION 6143 # ifdef __cpp_lib_to_chars 6144 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!" 6145 # endif 6146 # endif 6147 6148 # ifdef __cpp_lib_to_string 6149 # error "__cpp_lib_to_string should not be defined before c++26" 6150 # endif 6151 6152 # ifndef __cpp_lib_to_underlying 6153 # error "__cpp_lib_to_underlying should be defined in c++23" 6154 # endif 6155 # if __cpp_lib_to_underlying != 202102L 6156 # error "__cpp_lib_to_underlying should have the value 202102L in c++23" 6157 # endif 6158 6159 # ifndef __cpp_lib_transformation_trait_aliases 6160 # error "__cpp_lib_transformation_trait_aliases should be defined in c++23" 6161 # endif 6162 # if __cpp_lib_transformation_trait_aliases != 201304L 6163 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++23" 6164 # endif 6165 6166 # ifndef __cpp_lib_transparent_operators 6167 # error "__cpp_lib_transparent_operators should be defined in c++23" 6168 # endif 6169 # if __cpp_lib_transparent_operators != 201510L 6170 # error "__cpp_lib_transparent_operators should have the value 201510L in c++23" 6171 # endif 6172 6173 # ifndef __cpp_lib_tuple_element_t 6174 # error "__cpp_lib_tuple_element_t should be defined in c++23" 6175 # endif 6176 # if __cpp_lib_tuple_element_t != 201402L 6177 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++23" 6178 # endif 6179 6180 # if !defined(_LIBCPP_VERSION) 6181 # ifndef __cpp_lib_tuple_like 6182 # error "__cpp_lib_tuple_like should be defined in c++23" 6183 # endif 6184 # if __cpp_lib_tuple_like != 202207L 6185 # error "__cpp_lib_tuple_like should have the value 202207L in c++23" 6186 # endif 6187 # else // _LIBCPP_VERSION 6188 # ifdef __cpp_lib_tuple_like 6189 # error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!" 6190 # endif 6191 # endif 6192 6193 # ifndef __cpp_lib_tuples_by_type 6194 # error "__cpp_lib_tuples_by_type should be defined in c++23" 6195 # endif 6196 # if __cpp_lib_tuples_by_type != 201304L 6197 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++23" 6198 # endif 6199 6200 # ifndef __cpp_lib_type_identity 6201 # error "__cpp_lib_type_identity should be defined in c++23" 6202 # endif 6203 # if __cpp_lib_type_identity != 201806L 6204 # error "__cpp_lib_type_identity should have the value 201806L in c++23" 6205 # endif 6206 6207 # ifndef __cpp_lib_type_trait_variable_templates 6208 # error "__cpp_lib_type_trait_variable_templates should be defined in c++23" 6209 # endif 6210 # if __cpp_lib_type_trait_variable_templates != 201510L 6211 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++23" 6212 # endif 6213 6214 # ifndef __cpp_lib_uncaught_exceptions 6215 # error "__cpp_lib_uncaught_exceptions should be defined in c++23" 6216 # endif 6217 # if __cpp_lib_uncaught_exceptions != 201411L 6218 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++23" 6219 # endif 6220 6221 # ifndef __cpp_lib_unordered_map_try_emplace 6222 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++23" 6223 # endif 6224 # if __cpp_lib_unordered_map_try_emplace != 201411L 6225 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++23" 6226 # endif 6227 6228 # ifndef __cpp_lib_unreachable 6229 # error "__cpp_lib_unreachable should be defined in c++23" 6230 # endif 6231 # if __cpp_lib_unreachable != 202202L 6232 # error "__cpp_lib_unreachable should have the value 202202L in c++23" 6233 # endif 6234 6235 # ifndef __cpp_lib_unwrap_ref 6236 # error "__cpp_lib_unwrap_ref should be defined in c++23" 6237 # endif 6238 # if __cpp_lib_unwrap_ref != 201811L 6239 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++23" 6240 # endif 6241 6242 # ifndef __cpp_lib_variant 6243 # error "__cpp_lib_variant should be defined in c++23" 6244 # endif 6245 # if __cpp_lib_variant != 202106L 6246 # error "__cpp_lib_variant should have the value 202106L in c++23" 6247 # endif 6248 6249 # ifndef __cpp_lib_void_t 6250 # error "__cpp_lib_void_t should be defined in c++23" 6251 # endif 6252 # if __cpp_lib_void_t != 201411L 6253 # error "__cpp_lib_void_t should have the value 201411L in c++23" 6254 # endif 6255 6256 #elif TEST_STD_VER > 23 6257 6258 # ifndef __cpp_lib_adaptor_iterator_pair_constructor 6259 # error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++26" 6260 # endif 6261 # if __cpp_lib_adaptor_iterator_pair_constructor != 202106L 6262 # error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++26" 6263 # endif 6264 6265 # ifndef __cpp_lib_addressof_constexpr 6266 # error "__cpp_lib_addressof_constexpr should be defined in c++26" 6267 # endif 6268 # if __cpp_lib_addressof_constexpr != 201603L 6269 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++26" 6270 # endif 6271 6272 # ifndef __cpp_lib_allocate_at_least 6273 # error "__cpp_lib_allocate_at_least should be defined in c++26" 6274 # endif 6275 # if __cpp_lib_allocate_at_least != 202302L 6276 # error "__cpp_lib_allocate_at_least should have the value 202302L in c++26" 6277 # endif 6278 6279 # ifndef __cpp_lib_allocator_traits_is_always_equal 6280 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++26" 6281 # endif 6282 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 6283 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++26" 6284 # endif 6285 6286 # ifndef __cpp_lib_any 6287 # error "__cpp_lib_any should be defined in c++26" 6288 # endif 6289 # if __cpp_lib_any != 201606L 6290 # error "__cpp_lib_any should have the value 201606L in c++26" 6291 # endif 6292 6293 # ifndef __cpp_lib_apply 6294 # error "__cpp_lib_apply should be defined in c++26" 6295 # endif 6296 # if __cpp_lib_apply != 201603L 6297 # error "__cpp_lib_apply should have the value 201603L in c++26" 6298 # endif 6299 6300 # ifndef __cpp_lib_array_constexpr 6301 # error "__cpp_lib_array_constexpr should be defined in c++26" 6302 # endif 6303 # if __cpp_lib_array_constexpr != 201811L 6304 # error "__cpp_lib_array_constexpr should have the value 201811L in c++26" 6305 # endif 6306 6307 # ifndef __cpp_lib_as_const 6308 # error "__cpp_lib_as_const should be defined in c++26" 6309 # endif 6310 # if __cpp_lib_as_const != 201510L 6311 # error "__cpp_lib_as_const should have the value 201510L in c++26" 6312 # endif 6313 6314 # if !defined(_LIBCPP_VERSION) 6315 # ifndef __cpp_lib_associative_heterogeneous_erasure 6316 # error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++26" 6317 # endif 6318 # if __cpp_lib_associative_heterogeneous_erasure != 202110L 6319 # error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++26" 6320 # endif 6321 # else // _LIBCPP_VERSION 6322 # ifdef __cpp_lib_associative_heterogeneous_erasure 6323 # error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!" 6324 # endif 6325 # endif 6326 6327 # if !defined(_LIBCPP_VERSION) 6328 # ifndef __cpp_lib_associative_heterogeneous_insertion 6329 # error "__cpp_lib_associative_heterogeneous_insertion should be defined in c++26" 6330 # endif 6331 # if __cpp_lib_associative_heterogeneous_insertion != 202306L 6332 # error "__cpp_lib_associative_heterogeneous_insertion should have the value 202306L in c++26" 6333 # endif 6334 # else // _LIBCPP_VERSION 6335 # ifdef __cpp_lib_associative_heterogeneous_insertion 6336 # error "__cpp_lib_associative_heterogeneous_insertion should not be defined because it is unimplemented in libc++!" 6337 # endif 6338 # endif 6339 6340 # ifndef __cpp_lib_assume_aligned 6341 # error "__cpp_lib_assume_aligned should be defined in c++26" 6342 # endif 6343 # if __cpp_lib_assume_aligned != 201811L 6344 # error "__cpp_lib_assume_aligned should have the value 201811L in c++26" 6345 # endif 6346 6347 # ifndef __cpp_lib_atomic_flag_test 6348 # error "__cpp_lib_atomic_flag_test should be defined in c++26" 6349 # endif 6350 # if __cpp_lib_atomic_flag_test != 201907L 6351 # error "__cpp_lib_atomic_flag_test should have the value 201907L in c++26" 6352 # endif 6353 6354 # if !defined(_LIBCPP_VERSION) 6355 # ifndef __cpp_lib_atomic_float 6356 # error "__cpp_lib_atomic_float should be defined in c++26" 6357 # endif 6358 # if __cpp_lib_atomic_float != 201711L 6359 # error "__cpp_lib_atomic_float should have the value 201711L in c++26" 6360 # endif 6361 # else // _LIBCPP_VERSION 6362 # ifdef __cpp_lib_atomic_float 6363 # error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!" 6364 # endif 6365 # endif 6366 6367 # ifndef __cpp_lib_atomic_is_always_lock_free 6368 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++26" 6369 # endif 6370 # if __cpp_lib_atomic_is_always_lock_free != 201603L 6371 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++26" 6372 # endif 6373 6374 # ifndef __cpp_lib_atomic_lock_free_type_aliases 6375 # error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++26" 6376 # endif 6377 # if __cpp_lib_atomic_lock_free_type_aliases != 201907L 6378 # error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++26" 6379 # endif 6380 6381 # if !defined(_LIBCPP_VERSION) 6382 # ifndef __cpp_lib_atomic_min_max 6383 # error "__cpp_lib_atomic_min_max should be defined in c++26" 6384 # endif 6385 # if __cpp_lib_atomic_min_max != 202403L 6386 # error "__cpp_lib_atomic_min_max should have the value 202403L in c++26" 6387 # endif 6388 # else // _LIBCPP_VERSION 6389 # ifdef __cpp_lib_atomic_min_max 6390 # error "__cpp_lib_atomic_min_max should not be defined because it is unimplemented in libc++!" 6391 # endif 6392 # endif 6393 6394 # ifndef __cpp_lib_atomic_ref 6395 # error "__cpp_lib_atomic_ref should be defined in c++26" 6396 # endif 6397 # if __cpp_lib_atomic_ref != 201806L 6398 # error "__cpp_lib_atomic_ref should have the value 201806L in c++26" 6399 # endif 6400 6401 # if !defined(_LIBCPP_VERSION) 6402 # ifndef __cpp_lib_atomic_shared_ptr 6403 # error "__cpp_lib_atomic_shared_ptr should be defined in c++26" 6404 # endif 6405 # if __cpp_lib_atomic_shared_ptr != 201711L 6406 # error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++26" 6407 # endif 6408 # else // _LIBCPP_VERSION 6409 # ifdef __cpp_lib_atomic_shared_ptr 6410 # error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!" 6411 # endif 6412 # endif 6413 6414 # ifndef __cpp_lib_atomic_value_initialization 6415 # error "__cpp_lib_atomic_value_initialization should be defined in c++26" 6416 # endif 6417 # if __cpp_lib_atomic_value_initialization != 201911L 6418 # error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++26" 6419 # endif 6420 6421 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC 6422 # ifndef __cpp_lib_atomic_wait 6423 # error "__cpp_lib_atomic_wait should be defined in c++26" 6424 # endif 6425 # if __cpp_lib_atomic_wait != 201907L 6426 # error "__cpp_lib_atomic_wait should have the value 201907L in c++26" 6427 # endif 6428 # else 6429 # ifdef __cpp_lib_atomic_wait 6430 # error "__cpp_lib_atomic_wait should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_SYNC' is not met!" 6431 # endif 6432 # endif 6433 6434 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 6435 # ifndef __cpp_lib_barrier 6436 # error "__cpp_lib_barrier should be defined in c++26" 6437 # endif 6438 # if __cpp_lib_barrier != 201907L 6439 # error "__cpp_lib_barrier should have the value 201907L in c++26" 6440 # endif 6441 # else 6442 # ifdef __cpp_lib_barrier 6443 # error "__cpp_lib_barrier should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 6444 # endif 6445 # endif 6446 6447 # ifndef __cpp_lib_bind_back 6448 # error "__cpp_lib_bind_back should be defined in c++26" 6449 # endif 6450 # if __cpp_lib_bind_back != 202202L 6451 # error "__cpp_lib_bind_back should have the value 202202L in c++26" 6452 # endif 6453 6454 # ifndef __cpp_lib_bind_front 6455 # error "__cpp_lib_bind_front should be defined in c++26" 6456 # endif 6457 # if __cpp_lib_bind_front != 202306L 6458 # error "__cpp_lib_bind_front should have the value 202306L in c++26" 6459 # endif 6460 6461 # ifndef __cpp_lib_bit_cast 6462 # error "__cpp_lib_bit_cast should be defined in c++26" 6463 # endif 6464 # if __cpp_lib_bit_cast != 201806L 6465 # error "__cpp_lib_bit_cast should have the value 201806L in c++26" 6466 # endif 6467 6468 # ifndef __cpp_lib_bitops 6469 # error "__cpp_lib_bitops should be defined in c++26" 6470 # endif 6471 # if __cpp_lib_bitops != 201907L 6472 # error "__cpp_lib_bitops should have the value 201907L in c++26" 6473 # endif 6474 6475 # ifndef __cpp_lib_bitset 6476 # error "__cpp_lib_bitset should be defined in c++26" 6477 # endif 6478 # if __cpp_lib_bitset != 202306L 6479 # error "__cpp_lib_bitset should have the value 202306L in c++26" 6480 # endif 6481 6482 # ifndef __cpp_lib_bool_constant 6483 # error "__cpp_lib_bool_constant should be defined in c++26" 6484 # endif 6485 # if __cpp_lib_bool_constant != 201505L 6486 # error "__cpp_lib_bool_constant should have the value 201505L in c++26" 6487 # endif 6488 6489 # ifndef __cpp_lib_bounded_array_traits 6490 # error "__cpp_lib_bounded_array_traits should be defined in c++26" 6491 # endif 6492 # if __cpp_lib_bounded_array_traits != 201902L 6493 # error "__cpp_lib_bounded_array_traits should have the value 201902L in c++26" 6494 # endif 6495 6496 # ifndef __cpp_lib_boyer_moore_searcher 6497 # error "__cpp_lib_boyer_moore_searcher should be defined in c++26" 6498 # endif 6499 # if __cpp_lib_boyer_moore_searcher != 201603L 6500 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++26" 6501 # endif 6502 6503 # ifndef __cpp_lib_byte 6504 # error "__cpp_lib_byte should be defined in c++26" 6505 # endif 6506 # if __cpp_lib_byte != 201603L 6507 # error "__cpp_lib_byte should have the value 201603L in c++26" 6508 # endif 6509 6510 # ifndef __cpp_lib_byteswap 6511 # error "__cpp_lib_byteswap should be defined in c++26" 6512 # endif 6513 # if __cpp_lib_byteswap != 202110L 6514 # error "__cpp_lib_byteswap should have the value 202110L in c++26" 6515 # endif 6516 6517 # if defined(__cpp_char8_t) 6518 # ifndef __cpp_lib_char8_t 6519 # error "__cpp_lib_char8_t should be defined in c++26" 6520 # endif 6521 # if __cpp_lib_char8_t != 201907L 6522 # error "__cpp_lib_char8_t should have the value 201907L in c++26" 6523 # endif 6524 # else 6525 # ifdef __cpp_lib_char8_t 6526 # error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!" 6527 # endif 6528 # endif 6529 6530 # ifndef __cpp_lib_chrono 6531 # error "__cpp_lib_chrono should be defined in c++26" 6532 # endif 6533 # if __cpp_lib_chrono != 201611L 6534 # error "__cpp_lib_chrono should have the value 201611L in c++26" 6535 # endif 6536 6537 # ifndef __cpp_lib_chrono_udls 6538 # error "__cpp_lib_chrono_udls should be defined in c++26" 6539 # endif 6540 # if __cpp_lib_chrono_udls != 201304L 6541 # error "__cpp_lib_chrono_udls should have the value 201304L in c++26" 6542 # endif 6543 6544 # ifndef __cpp_lib_clamp 6545 # error "__cpp_lib_clamp should be defined in c++26" 6546 # endif 6547 # if __cpp_lib_clamp != 201603L 6548 # error "__cpp_lib_clamp should have the value 201603L in c++26" 6549 # endif 6550 6551 # ifndef __cpp_lib_complex_udls 6552 # error "__cpp_lib_complex_udls should be defined in c++26" 6553 # endif 6554 # if __cpp_lib_complex_udls != 201309L 6555 # error "__cpp_lib_complex_udls should have the value 201309L in c++26" 6556 # endif 6557 6558 # ifndef __cpp_lib_concepts 6559 # error "__cpp_lib_concepts should be defined in c++26" 6560 # endif 6561 # if __cpp_lib_concepts != 202002L 6562 # error "__cpp_lib_concepts should have the value 202002L in c++26" 6563 # endif 6564 6565 # ifndef __cpp_lib_constexpr_algorithms 6566 # error "__cpp_lib_constexpr_algorithms should be defined in c++26" 6567 # endif 6568 # if __cpp_lib_constexpr_algorithms != 201806L 6569 # error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++26" 6570 # endif 6571 6572 # ifndef __cpp_lib_constexpr_bitset 6573 # error "__cpp_lib_constexpr_bitset should be defined in c++26" 6574 # endif 6575 # if __cpp_lib_constexpr_bitset != 202207L 6576 # error "__cpp_lib_constexpr_bitset should have the value 202207L in c++26" 6577 # endif 6578 6579 # ifndef __cpp_lib_constexpr_charconv 6580 # error "__cpp_lib_constexpr_charconv should be defined in c++26" 6581 # endif 6582 # if __cpp_lib_constexpr_charconv != 202207L 6583 # error "__cpp_lib_constexpr_charconv should have the value 202207L in c++26" 6584 # endif 6585 6586 # if !defined(_LIBCPP_VERSION) 6587 # ifndef __cpp_lib_constexpr_cmath 6588 # error "__cpp_lib_constexpr_cmath should be defined in c++26" 6589 # endif 6590 # if __cpp_lib_constexpr_cmath != 202202L 6591 # error "__cpp_lib_constexpr_cmath should have the value 202202L in c++26" 6592 # endif 6593 # else // _LIBCPP_VERSION 6594 # ifdef __cpp_lib_constexpr_cmath 6595 # error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!" 6596 # endif 6597 # endif 6598 6599 # ifndef __cpp_lib_constexpr_complex 6600 # error "__cpp_lib_constexpr_complex should be defined in c++26" 6601 # endif 6602 # if __cpp_lib_constexpr_complex != 201711L 6603 # error "__cpp_lib_constexpr_complex should have the value 201711L in c++26" 6604 # endif 6605 6606 # ifndef __cpp_lib_constexpr_dynamic_alloc 6607 # error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++26" 6608 # endif 6609 # if __cpp_lib_constexpr_dynamic_alloc != 201907L 6610 # error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++26" 6611 # endif 6612 6613 # ifndef __cpp_lib_constexpr_functional 6614 # error "__cpp_lib_constexpr_functional should be defined in c++26" 6615 # endif 6616 # if __cpp_lib_constexpr_functional != 201907L 6617 # error "__cpp_lib_constexpr_functional should have the value 201907L in c++26" 6618 # endif 6619 6620 # ifndef __cpp_lib_constexpr_iterator 6621 # error "__cpp_lib_constexpr_iterator should be defined in c++26" 6622 # endif 6623 # if __cpp_lib_constexpr_iterator != 201811L 6624 # error "__cpp_lib_constexpr_iterator should have the value 201811L in c++26" 6625 # endif 6626 6627 # ifndef __cpp_lib_constexpr_memory 6628 # error "__cpp_lib_constexpr_memory should be defined in c++26" 6629 # endif 6630 # if __cpp_lib_constexpr_memory != 202202L 6631 # error "__cpp_lib_constexpr_memory should have the value 202202L in c++26" 6632 # endif 6633 6634 # if !defined(_LIBCPP_ABI_VCRUNTIME) 6635 # ifndef __cpp_lib_constexpr_new 6636 # error "__cpp_lib_constexpr_new should be defined in c++26" 6637 # endif 6638 # if __cpp_lib_constexpr_new != 202406L 6639 # error "__cpp_lib_constexpr_new should have the value 202406L in c++26" 6640 # endif 6641 # else 6642 # ifdef __cpp_lib_constexpr_new 6643 # error "__cpp_lib_constexpr_new should not be defined when the requirement '!defined(_LIBCPP_ABI_VCRUNTIME)' is not met!" 6644 # endif 6645 # endif 6646 6647 # ifndef __cpp_lib_constexpr_numeric 6648 # error "__cpp_lib_constexpr_numeric should be defined in c++26" 6649 # endif 6650 # if __cpp_lib_constexpr_numeric != 201911L 6651 # error "__cpp_lib_constexpr_numeric should have the value 201911L in c++26" 6652 # endif 6653 6654 # ifndef __cpp_lib_constexpr_string 6655 # error "__cpp_lib_constexpr_string should be defined in c++26" 6656 # endif 6657 # if __cpp_lib_constexpr_string != 201907L 6658 # error "__cpp_lib_constexpr_string should have the value 201907L in c++26" 6659 # endif 6660 6661 # ifndef __cpp_lib_constexpr_string_view 6662 # error "__cpp_lib_constexpr_string_view should be defined in c++26" 6663 # endif 6664 # if __cpp_lib_constexpr_string_view != 201811L 6665 # error "__cpp_lib_constexpr_string_view should have the value 201811L in c++26" 6666 # endif 6667 6668 # ifndef __cpp_lib_constexpr_tuple 6669 # error "__cpp_lib_constexpr_tuple should be defined in c++26" 6670 # endif 6671 # if __cpp_lib_constexpr_tuple != 201811L 6672 # error "__cpp_lib_constexpr_tuple should have the value 201811L in c++26" 6673 # endif 6674 6675 # ifndef __cpp_lib_constexpr_typeinfo 6676 # error "__cpp_lib_constexpr_typeinfo should be defined in c++26" 6677 # endif 6678 # if __cpp_lib_constexpr_typeinfo != 202106L 6679 # error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++26" 6680 # endif 6681 6682 # ifndef __cpp_lib_constexpr_utility 6683 # error "__cpp_lib_constexpr_utility should be defined in c++26" 6684 # endif 6685 # if __cpp_lib_constexpr_utility != 201811L 6686 # error "__cpp_lib_constexpr_utility should have the value 201811L in c++26" 6687 # endif 6688 6689 # ifndef __cpp_lib_constexpr_vector 6690 # error "__cpp_lib_constexpr_vector should be defined in c++26" 6691 # endif 6692 # if __cpp_lib_constexpr_vector != 201907L 6693 # error "__cpp_lib_constexpr_vector should have the value 201907L in c++26" 6694 # endif 6695 6696 # if !defined(_LIBCPP_VERSION) 6697 # ifndef __cpp_lib_constrained_equality 6698 # error "__cpp_lib_constrained_equality should be defined in c++26" 6699 # endif 6700 # if __cpp_lib_constrained_equality != 202403L 6701 # error "__cpp_lib_constrained_equality should have the value 202403L in c++26" 6702 # endif 6703 # else // _LIBCPP_VERSION 6704 # ifdef __cpp_lib_constrained_equality 6705 # error "__cpp_lib_constrained_equality should not be defined because it is unimplemented in libc++!" 6706 # endif 6707 # endif 6708 6709 # ifndef __cpp_lib_containers_ranges 6710 # error "__cpp_lib_containers_ranges should be defined in c++26" 6711 # endif 6712 # if __cpp_lib_containers_ranges != 202202L 6713 # error "__cpp_lib_containers_ranges should have the value 202202L in c++26" 6714 # endif 6715 6716 # if !defined(_LIBCPP_VERSION) 6717 # ifndef __cpp_lib_copyable_function 6718 # error "__cpp_lib_copyable_function should be defined in c++26" 6719 # endif 6720 # if __cpp_lib_copyable_function != 202306L 6721 # error "__cpp_lib_copyable_function should have the value 202306L in c++26" 6722 # endif 6723 # else // _LIBCPP_VERSION 6724 # ifdef __cpp_lib_copyable_function 6725 # error "__cpp_lib_copyable_function should not be defined because it is unimplemented in libc++!" 6726 # endif 6727 # endif 6728 6729 # ifndef __cpp_lib_coroutine 6730 # error "__cpp_lib_coroutine should be defined in c++26" 6731 # endif 6732 # if __cpp_lib_coroutine != 201902L 6733 # error "__cpp_lib_coroutine should have the value 201902L in c++26" 6734 # endif 6735 6736 # if !defined(_LIBCPP_VERSION) 6737 # ifndef __cpp_lib_debugging 6738 # error "__cpp_lib_debugging should be defined in c++26" 6739 # endif 6740 # if __cpp_lib_debugging != 202311L 6741 # error "__cpp_lib_debugging should have the value 202311L in c++26" 6742 # endif 6743 # else // _LIBCPP_VERSION 6744 # ifdef __cpp_lib_debugging 6745 # error "__cpp_lib_debugging should not be defined because it is unimplemented in libc++!" 6746 # endif 6747 # endif 6748 6749 # if !defined(_LIBCPP_VERSION) 6750 # ifndef __cpp_lib_default_template_type_for_algorithm_values 6751 # error "__cpp_lib_default_template_type_for_algorithm_values should be defined in c++26" 6752 # endif 6753 # if __cpp_lib_default_template_type_for_algorithm_values != 202403L 6754 # error "__cpp_lib_default_template_type_for_algorithm_values should have the value 202403L in c++26" 6755 # endif 6756 # else // _LIBCPP_VERSION 6757 # ifdef __cpp_lib_default_template_type_for_algorithm_values 6758 # error "__cpp_lib_default_template_type_for_algorithm_values should not be defined because it is unimplemented in libc++!" 6759 # endif 6760 # endif 6761 6762 # if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L 6763 # ifndef __cpp_lib_destroying_delete 6764 # error "__cpp_lib_destroying_delete should be defined in c++26" 6765 # endif 6766 # if __cpp_lib_destroying_delete != 201806L 6767 # error "__cpp_lib_destroying_delete should have the value 201806L in c++26" 6768 # endif 6769 # else 6770 # ifdef __cpp_lib_destroying_delete 6771 # 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!" 6772 # endif 6773 # endif 6774 6775 # ifndef __cpp_lib_enable_shared_from_this 6776 # error "__cpp_lib_enable_shared_from_this should be defined in c++26" 6777 # endif 6778 # if __cpp_lib_enable_shared_from_this != 201603L 6779 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++26" 6780 # endif 6781 6782 # ifndef __cpp_lib_endian 6783 # error "__cpp_lib_endian should be defined in c++26" 6784 # endif 6785 # if __cpp_lib_endian != 201907L 6786 # error "__cpp_lib_endian should have the value 201907L in c++26" 6787 # endif 6788 6789 # ifndef __cpp_lib_erase_if 6790 # error "__cpp_lib_erase_if should be defined in c++26" 6791 # endif 6792 # if __cpp_lib_erase_if != 202002L 6793 # error "__cpp_lib_erase_if should have the value 202002L in c++26" 6794 # endif 6795 6796 # ifndef __cpp_lib_exchange_function 6797 # error "__cpp_lib_exchange_function should be defined in c++26" 6798 # endif 6799 # if __cpp_lib_exchange_function != 201304L 6800 # error "__cpp_lib_exchange_function should have the value 201304L in c++26" 6801 # endif 6802 6803 # if !defined(_LIBCPP_VERSION) 6804 # ifndef __cpp_lib_execution 6805 # error "__cpp_lib_execution should be defined in c++26" 6806 # endif 6807 # if __cpp_lib_execution != 201902L 6808 # error "__cpp_lib_execution should have the value 201902L in c++26" 6809 # endif 6810 # else // _LIBCPP_VERSION 6811 # ifdef __cpp_lib_execution 6812 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!" 6813 # endif 6814 # endif 6815 6816 # ifndef __cpp_lib_expected 6817 # error "__cpp_lib_expected should be defined in c++26" 6818 # endif 6819 # if __cpp_lib_expected != 202211L 6820 # error "__cpp_lib_expected should have the value 202211L in c++26" 6821 # endif 6822 6823 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY) 6824 # ifndef __cpp_lib_filesystem 6825 # error "__cpp_lib_filesystem should be defined in c++26" 6826 # endif 6827 # if __cpp_lib_filesystem != 201703L 6828 # error "__cpp_lib_filesystem should have the value 201703L in c++26" 6829 # endif 6830 # else 6831 # ifdef __cpp_lib_filesystem 6832 # error "__cpp_lib_filesystem should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY)' is not met!" 6833 # endif 6834 # endif 6835 6836 # ifndef __cpp_lib_flat_map 6837 # error "__cpp_lib_flat_map should be defined in c++26" 6838 # endif 6839 # if __cpp_lib_flat_map != 202207L 6840 # error "__cpp_lib_flat_map should have the value 202207L in c++26" 6841 # endif 6842 6843 # if !defined(_LIBCPP_VERSION) 6844 # ifndef __cpp_lib_flat_set 6845 # error "__cpp_lib_flat_set should be defined in c++26" 6846 # endif 6847 # if __cpp_lib_flat_set != 202207L 6848 # error "__cpp_lib_flat_set should have the value 202207L in c++26" 6849 # endif 6850 # else // _LIBCPP_VERSION 6851 # ifdef __cpp_lib_flat_set 6852 # error "__cpp_lib_flat_set should not be defined because it is unimplemented in libc++!" 6853 # endif 6854 # endif 6855 6856 # ifndef __cpp_lib_format 6857 # error "__cpp_lib_format should be defined in c++26" 6858 # endif 6859 # if __cpp_lib_format != 202110L 6860 # error "__cpp_lib_format should have the value 202110L in c++26" 6861 # endif 6862 6863 # if !defined(_LIBCPP_VERSION) 6864 # ifndef __cpp_lib_format_path 6865 # error "__cpp_lib_format_path should be defined in c++26" 6866 # endif 6867 # if __cpp_lib_format_path != 202403L 6868 # error "__cpp_lib_format_path should have the value 202403L in c++26" 6869 # endif 6870 # else // _LIBCPP_VERSION 6871 # ifdef __cpp_lib_format_path 6872 # error "__cpp_lib_format_path should not be defined because it is unimplemented in libc++!" 6873 # endif 6874 # endif 6875 6876 # ifndef __cpp_lib_format_ranges 6877 # error "__cpp_lib_format_ranges should be defined in c++26" 6878 # endif 6879 # if __cpp_lib_format_ranges != 202207L 6880 # error "__cpp_lib_format_ranges should have the value 202207L in c++26" 6881 # endif 6882 6883 # ifndef __cpp_lib_format_uchar 6884 # error "__cpp_lib_format_uchar should be defined in c++26" 6885 # endif 6886 # if __cpp_lib_format_uchar != 202311L 6887 # error "__cpp_lib_format_uchar should have the value 202311L in c++26" 6888 # endif 6889 6890 # if !defined(_LIBCPP_VERSION) 6891 # ifndef __cpp_lib_formatters 6892 # error "__cpp_lib_formatters should be defined in c++26" 6893 # endif 6894 # if __cpp_lib_formatters != 202302L 6895 # error "__cpp_lib_formatters should have the value 202302L in c++26" 6896 # endif 6897 # else // _LIBCPP_VERSION 6898 # ifdef __cpp_lib_formatters 6899 # error "__cpp_lib_formatters should not be defined because it is unimplemented in libc++!" 6900 # endif 6901 # endif 6902 6903 # ifndef __cpp_lib_forward_like 6904 # error "__cpp_lib_forward_like should be defined in c++26" 6905 # endif 6906 # if __cpp_lib_forward_like != 202207L 6907 # error "__cpp_lib_forward_like should have the value 202207L in c++26" 6908 # endif 6909 6910 # if !defined(_LIBCPP_VERSION) 6911 # ifndef __cpp_lib_freestanding_algorithm 6912 # error "__cpp_lib_freestanding_algorithm should be defined in c++26" 6913 # endif 6914 # if __cpp_lib_freestanding_algorithm != 202311L 6915 # error "__cpp_lib_freestanding_algorithm should have the value 202311L in c++26" 6916 # endif 6917 # else // _LIBCPP_VERSION 6918 # ifdef __cpp_lib_freestanding_algorithm 6919 # error "__cpp_lib_freestanding_algorithm should not be defined because it is unimplemented in libc++!" 6920 # endif 6921 # endif 6922 6923 # if !defined(_LIBCPP_VERSION) 6924 # ifndef __cpp_lib_freestanding_array 6925 # error "__cpp_lib_freestanding_array should be defined in c++26" 6926 # endif 6927 # if __cpp_lib_freestanding_array != 202311L 6928 # error "__cpp_lib_freestanding_array should have the value 202311L in c++26" 6929 # endif 6930 # else // _LIBCPP_VERSION 6931 # ifdef __cpp_lib_freestanding_array 6932 # error "__cpp_lib_freestanding_array should not be defined because it is unimplemented in libc++!" 6933 # endif 6934 # endif 6935 6936 # if !defined(_LIBCPP_VERSION) 6937 # ifndef __cpp_lib_freestanding_cstring 6938 # error "__cpp_lib_freestanding_cstring should be defined in c++26" 6939 # endif 6940 # if __cpp_lib_freestanding_cstring != 202306L 6941 # error "__cpp_lib_freestanding_cstring should have the value 202306L in c++26" 6942 # endif 6943 # else // _LIBCPP_VERSION 6944 # ifdef __cpp_lib_freestanding_cstring 6945 # error "__cpp_lib_freestanding_cstring should not be defined because it is unimplemented in libc++!" 6946 # endif 6947 # endif 6948 6949 # if !defined(_LIBCPP_VERSION) 6950 # ifndef __cpp_lib_freestanding_expected 6951 # error "__cpp_lib_freestanding_expected should be defined in c++26" 6952 # endif 6953 # if __cpp_lib_freestanding_expected != 202311L 6954 # error "__cpp_lib_freestanding_expected should have the value 202311L in c++26" 6955 # endif 6956 # else // _LIBCPP_VERSION 6957 # ifdef __cpp_lib_freestanding_expected 6958 # error "__cpp_lib_freestanding_expected should not be defined because it is unimplemented in libc++!" 6959 # endif 6960 # endif 6961 6962 # if !defined(_LIBCPP_VERSION) 6963 # ifndef __cpp_lib_freestanding_mdspan 6964 # error "__cpp_lib_freestanding_mdspan should be defined in c++26" 6965 # endif 6966 # if __cpp_lib_freestanding_mdspan != 202311L 6967 # error "__cpp_lib_freestanding_mdspan should have the value 202311L in c++26" 6968 # endif 6969 # else // _LIBCPP_VERSION 6970 # ifdef __cpp_lib_freestanding_mdspan 6971 # error "__cpp_lib_freestanding_mdspan should not be defined because it is unimplemented in libc++!" 6972 # endif 6973 # endif 6974 6975 # if !defined(_LIBCPP_VERSION) 6976 # ifndef __cpp_lib_freestanding_optional 6977 # error "__cpp_lib_freestanding_optional should be defined in c++26" 6978 # endif 6979 # if __cpp_lib_freestanding_optional != 202311L 6980 # error "__cpp_lib_freestanding_optional should have the value 202311L in c++26" 6981 # endif 6982 # else // _LIBCPP_VERSION 6983 # ifdef __cpp_lib_freestanding_optional 6984 # error "__cpp_lib_freestanding_optional should not be defined because it is unimplemented in libc++!" 6985 # endif 6986 # endif 6987 6988 # if !defined(_LIBCPP_VERSION) 6989 # ifndef __cpp_lib_freestanding_string_view 6990 # error "__cpp_lib_freestanding_string_view should be defined in c++26" 6991 # endif 6992 # if __cpp_lib_freestanding_string_view != 202311L 6993 # error "__cpp_lib_freestanding_string_view should have the value 202311L in c++26" 6994 # endif 6995 # else // _LIBCPP_VERSION 6996 # ifdef __cpp_lib_freestanding_string_view 6997 # error "__cpp_lib_freestanding_string_view should not be defined because it is unimplemented in libc++!" 6998 # endif 6999 # endif 7000 7001 # if !defined(_LIBCPP_VERSION) 7002 # ifndef __cpp_lib_freestanding_variant 7003 # error "__cpp_lib_freestanding_variant should be defined in c++26" 7004 # endif 7005 # if __cpp_lib_freestanding_variant != 202311L 7006 # error "__cpp_lib_freestanding_variant should have the value 202311L in c++26" 7007 # endif 7008 # else // _LIBCPP_VERSION 7009 # ifdef __cpp_lib_freestanding_variant 7010 # error "__cpp_lib_freestanding_variant should not be defined because it is unimplemented in libc++!" 7011 # endif 7012 # endif 7013 7014 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION) 7015 # ifndef __cpp_lib_fstream_native_handle 7016 # error "__cpp_lib_fstream_native_handle should be defined in c++26" 7017 # endif 7018 # if __cpp_lib_fstream_native_handle != 202306L 7019 # error "__cpp_lib_fstream_native_handle should have the value 202306L in c++26" 7020 # endif 7021 # else 7022 # ifdef __cpp_lib_fstream_native_handle 7023 # 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!" 7024 # endif 7025 # endif 7026 7027 # if !defined(_LIBCPP_VERSION) 7028 # ifndef __cpp_lib_function_ref 7029 # error "__cpp_lib_function_ref should be defined in c++26" 7030 # endif 7031 # if __cpp_lib_function_ref != 202306L 7032 # error "__cpp_lib_function_ref should have the value 202306L in c++26" 7033 # endif 7034 # else // _LIBCPP_VERSION 7035 # ifdef __cpp_lib_function_ref 7036 # error "__cpp_lib_function_ref should not be defined because it is unimplemented in libc++!" 7037 # endif 7038 # endif 7039 7040 # ifndef __cpp_lib_gcd_lcm 7041 # error "__cpp_lib_gcd_lcm should be defined in c++26" 7042 # endif 7043 # if __cpp_lib_gcd_lcm != 201606L 7044 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++26" 7045 # endif 7046 7047 # if !defined(_LIBCPP_VERSION) 7048 # ifndef __cpp_lib_generate_random 7049 # error "__cpp_lib_generate_random should be defined in c++26" 7050 # endif 7051 # if __cpp_lib_generate_random != 202403L 7052 # error "__cpp_lib_generate_random should have the value 202403L in c++26" 7053 # endif 7054 # else // _LIBCPP_VERSION 7055 # ifdef __cpp_lib_generate_random 7056 # error "__cpp_lib_generate_random should not be defined because it is unimplemented in libc++!" 7057 # endif 7058 # endif 7059 7060 # ifndef __cpp_lib_generic_associative_lookup 7061 # error "__cpp_lib_generic_associative_lookup should be defined in c++26" 7062 # endif 7063 # if __cpp_lib_generic_associative_lookup != 201304L 7064 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++26" 7065 # endif 7066 7067 # ifndef __cpp_lib_generic_unordered_lookup 7068 # error "__cpp_lib_generic_unordered_lookup should be defined in c++26" 7069 # endif 7070 # if __cpp_lib_generic_unordered_lookup != 201811L 7071 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++26" 7072 # endif 7073 7074 # if !defined(_LIBCPP_VERSION) || (defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)) 7075 # ifndef __cpp_lib_hardware_interference_size 7076 # error "__cpp_lib_hardware_interference_size should be defined in c++26" 7077 # endif 7078 # if __cpp_lib_hardware_interference_size != 201703L 7079 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++26" 7080 # endif 7081 # else 7082 # ifdef __cpp_lib_hardware_interference_size 7083 # 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!" 7084 # endif 7085 # endif 7086 7087 # ifndef __cpp_lib_has_unique_object_representations 7088 # error "__cpp_lib_has_unique_object_representations should be defined in c++26" 7089 # endif 7090 # if __cpp_lib_has_unique_object_representations != 201606L 7091 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++26" 7092 # endif 7093 7094 # if !defined(_LIBCPP_VERSION) 7095 # ifndef __cpp_lib_hazard_pointer 7096 # error "__cpp_lib_hazard_pointer should be defined in c++26" 7097 # endif 7098 # if __cpp_lib_hazard_pointer != 202306L 7099 # error "__cpp_lib_hazard_pointer should have the value 202306L in c++26" 7100 # endif 7101 # else // _LIBCPP_VERSION 7102 # ifdef __cpp_lib_hazard_pointer 7103 # error "__cpp_lib_hazard_pointer should not be defined because it is unimplemented in libc++!" 7104 # endif 7105 # endif 7106 7107 # ifndef __cpp_lib_hypot 7108 # error "__cpp_lib_hypot should be defined in c++26" 7109 # endif 7110 # if __cpp_lib_hypot != 201603L 7111 # error "__cpp_lib_hypot should have the value 201603L in c++26" 7112 # endif 7113 7114 # ifndef __cpp_lib_incomplete_container_elements 7115 # error "__cpp_lib_incomplete_container_elements should be defined in c++26" 7116 # endif 7117 # if __cpp_lib_incomplete_container_elements != 201505L 7118 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++26" 7119 # endif 7120 7121 # if !defined(_LIBCPP_VERSION) 7122 # ifndef __cpp_lib_inplace_vector 7123 # error "__cpp_lib_inplace_vector should be defined in c++26" 7124 # endif 7125 # if __cpp_lib_inplace_vector != 202406L 7126 # error "__cpp_lib_inplace_vector should have the value 202406L in c++26" 7127 # endif 7128 # else // _LIBCPP_VERSION 7129 # ifdef __cpp_lib_inplace_vector 7130 # error "__cpp_lib_inplace_vector should not be defined because it is unimplemented in libc++!" 7131 # endif 7132 # endif 7133 7134 # ifndef __cpp_lib_int_pow2 7135 # error "__cpp_lib_int_pow2 should be defined in c++26" 7136 # endif 7137 # if __cpp_lib_int_pow2 != 202002L 7138 # error "__cpp_lib_int_pow2 should have the value 202002L in c++26" 7139 # endif 7140 7141 # ifndef __cpp_lib_integer_comparison_functions 7142 # error "__cpp_lib_integer_comparison_functions should be defined in c++26" 7143 # endif 7144 # if __cpp_lib_integer_comparison_functions != 202002L 7145 # error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++26" 7146 # endif 7147 7148 # ifndef __cpp_lib_integer_sequence 7149 # error "__cpp_lib_integer_sequence should be defined in c++26" 7150 # endif 7151 # if __cpp_lib_integer_sequence != 201304L 7152 # error "__cpp_lib_integer_sequence should have the value 201304L in c++26" 7153 # endif 7154 7155 # ifndef __cpp_lib_integral_constant_callable 7156 # error "__cpp_lib_integral_constant_callable should be defined in c++26" 7157 # endif 7158 # if __cpp_lib_integral_constant_callable != 201304L 7159 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++26" 7160 # endif 7161 7162 # ifndef __cpp_lib_interpolate 7163 # error "__cpp_lib_interpolate should be defined in c++26" 7164 # endif 7165 # if __cpp_lib_interpolate != 201902L 7166 # error "__cpp_lib_interpolate should have the value 201902L in c++26" 7167 # endif 7168 7169 # ifndef __cpp_lib_invoke 7170 # error "__cpp_lib_invoke should be defined in c++26" 7171 # endif 7172 # if __cpp_lib_invoke != 201411L 7173 # error "__cpp_lib_invoke should have the value 201411L in c++26" 7174 # endif 7175 7176 # ifndef __cpp_lib_invoke_r 7177 # error "__cpp_lib_invoke_r should be defined in c++26" 7178 # endif 7179 # if __cpp_lib_invoke_r != 202106L 7180 # error "__cpp_lib_invoke_r should have the value 202106L in c++26" 7181 # endif 7182 7183 # ifndef __cpp_lib_ios_noreplace 7184 # error "__cpp_lib_ios_noreplace should be defined in c++26" 7185 # endif 7186 # if __cpp_lib_ios_noreplace != 202207L 7187 # error "__cpp_lib_ios_noreplace should have the value 202207L in c++26" 7188 # endif 7189 7190 # ifndef __cpp_lib_is_aggregate 7191 # error "__cpp_lib_is_aggregate should be defined in c++26" 7192 # endif 7193 # if __cpp_lib_is_aggregate != 201703L 7194 # error "__cpp_lib_is_aggregate should have the value 201703L in c++26" 7195 # endif 7196 7197 # ifndef __cpp_lib_is_constant_evaluated 7198 # error "__cpp_lib_is_constant_evaluated should be defined in c++26" 7199 # endif 7200 # if __cpp_lib_is_constant_evaluated != 201811L 7201 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++26" 7202 # endif 7203 7204 # ifndef __cpp_lib_is_final 7205 # error "__cpp_lib_is_final should be defined in c++26" 7206 # endif 7207 # if __cpp_lib_is_final != 201402L 7208 # error "__cpp_lib_is_final should have the value 201402L in c++26" 7209 # endif 7210 7211 # if __has_builtin(__builtin_is_implicit_lifetime) 7212 # ifndef __cpp_lib_is_implicit_lifetime 7213 # error "__cpp_lib_is_implicit_lifetime should be defined in c++26" 7214 # endif 7215 # if __cpp_lib_is_implicit_lifetime != 202302L 7216 # error "__cpp_lib_is_implicit_lifetime should have the value 202302L in c++26" 7217 # endif 7218 # else 7219 # ifdef __cpp_lib_is_implicit_lifetime 7220 # error "__cpp_lib_is_implicit_lifetime should not be defined when the requirement '__has_builtin(__builtin_is_implicit_lifetime)' is not met!" 7221 # endif 7222 # endif 7223 7224 # ifndef __cpp_lib_is_invocable 7225 # error "__cpp_lib_is_invocable should be defined in c++26" 7226 # endif 7227 # if __cpp_lib_is_invocable != 201703L 7228 # error "__cpp_lib_is_invocable should have the value 201703L in c++26" 7229 # endif 7230 7231 # if !defined(_LIBCPP_VERSION) 7232 # ifndef __cpp_lib_is_layout_compatible 7233 # error "__cpp_lib_is_layout_compatible should be defined in c++26" 7234 # endif 7235 # if __cpp_lib_is_layout_compatible != 201907L 7236 # error "__cpp_lib_is_layout_compatible should have the value 201907L in c++26" 7237 # endif 7238 # else // _LIBCPP_VERSION 7239 # ifdef __cpp_lib_is_layout_compatible 7240 # error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!" 7241 # endif 7242 # endif 7243 7244 # ifndef __cpp_lib_is_nothrow_convertible 7245 # error "__cpp_lib_is_nothrow_convertible should be defined in c++26" 7246 # endif 7247 # if __cpp_lib_is_nothrow_convertible != 201806L 7248 # error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++26" 7249 # endif 7250 7251 # ifndef __cpp_lib_is_null_pointer 7252 # error "__cpp_lib_is_null_pointer should be defined in c++26" 7253 # endif 7254 # if __cpp_lib_is_null_pointer != 201309L 7255 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++26" 7256 # endif 7257 7258 # if !defined(_LIBCPP_VERSION) 7259 # ifndef __cpp_lib_is_pointer_interconvertible 7260 # error "__cpp_lib_is_pointer_interconvertible should be defined in c++26" 7261 # endif 7262 # if __cpp_lib_is_pointer_interconvertible != 201907L 7263 # error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++26" 7264 # endif 7265 # else // _LIBCPP_VERSION 7266 # ifdef __cpp_lib_is_pointer_interconvertible 7267 # error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!" 7268 # endif 7269 # endif 7270 7271 # ifndef __cpp_lib_is_scoped_enum 7272 # error "__cpp_lib_is_scoped_enum should be defined in c++26" 7273 # endif 7274 # if __cpp_lib_is_scoped_enum != 202011L 7275 # error "__cpp_lib_is_scoped_enum should have the value 202011L in c++26" 7276 # endif 7277 7278 # ifndef __cpp_lib_is_swappable 7279 # error "__cpp_lib_is_swappable should be defined in c++26" 7280 # endif 7281 # if __cpp_lib_is_swappable != 201603L 7282 # error "__cpp_lib_is_swappable should have the value 201603L in c++26" 7283 # endif 7284 7285 # if __has_builtin(__builtin_is_virtual_base_of) 7286 # ifndef __cpp_lib_is_virtual_base_of 7287 # error "__cpp_lib_is_virtual_base_of should be defined in c++26" 7288 # endif 7289 # if __cpp_lib_is_virtual_base_of != 202406L 7290 # error "__cpp_lib_is_virtual_base_of should have the value 202406L in c++26" 7291 # endif 7292 # else 7293 # ifdef __cpp_lib_is_virtual_base_of 7294 # error "__cpp_lib_is_virtual_base_of should not be defined when the requirement '__has_builtin(__builtin_is_virtual_base_of)' is not met!" 7295 # endif 7296 # endif 7297 7298 # if !defined(_LIBCPP_VERSION) 7299 # ifndef __cpp_lib_is_within_lifetime 7300 # error "__cpp_lib_is_within_lifetime should be defined in c++26" 7301 # endif 7302 # if __cpp_lib_is_within_lifetime != 202306L 7303 # error "__cpp_lib_is_within_lifetime should have the value 202306L in c++26" 7304 # endif 7305 # else // _LIBCPP_VERSION 7306 # ifdef __cpp_lib_is_within_lifetime 7307 # error "__cpp_lib_is_within_lifetime should not be defined because it is unimplemented in libc++!" 7308 # endif 7309 # endif 7310 7311 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 7312 # ifndef __cpp_lib_jthread 7313 # error "__cpp_lib_jthread should be defined in c++26" 7314 # endif 7315 # if __cpp_lib_jthread != 201911L 7316 # error "__cpp_lib_jthread should have the value 201911L in c++26" 7317 # endif 7318 # else 7319 # ifdef __cpp_lib_jthread 7320 # error "__cpp_lib_jthread should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 7321 # endif 7322 # endif 7323 7324 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 7325 # ifndef __cpp_lib_latch 7326 # error "__cpp_lib_latch should be defined in c++26" 7327 # endif 7328 # if __cpp_lib_latch != 201907L 7329 # error "__cpp_lib_latch should have the value 201907L in c++26" 7330 # endif 7331 # else 7332 # ifdef __cpp_lib_latch 7333 # error "__cpp_lib_latch should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 7334 # endif 7335 # endif 7336 7337 # ifndef __cpp_lib_launder 7338 # error "__cpp_lib_launder should be defined in c++26" 7339 # endif 7340 # if __cpp_lib_launder != 201606L 7341 # error "__cpp_lib_launder should have the value 201606L in c++26" 7342 # endif 7343 7344 # if !defined(_LIBCPP_VERSION) 7345 # ifndef __cpp_lib_linalg 7346 # error "__cpp_lib_linalg should be defined in c++26" 7347 # endif 7348 # if __cpp_lib_linalg != 202311L 7349 # error "__cpp_lib_linalg should have the value 202311L in c++26" 7350 # endif 7351 # else // _LIBCPP_VERSION 7352 # ifdef __cpp_lib_linalg 7353 # error "__cpp_lib_linalg should not be defined because it is unimplemented in libc++!" 7354 # endif 7355 # endif 7356 7357 # ifndef __cpp_lib_list_remove_return_type 7358 # error "__cpp_lib_list_remove_return_type should be defined in c++26" 7359 # endif 7360 # if __cpp_lib_list_remove_return_type != 201806L 7361 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++26" 7362 # endif 7363 7364 # ifndef __cpp_lib_logical_traits 7365 # error "__cpp_lib_logical_traits should be defined in c++26" 7366 # endif 7367 # if __cpp_lib_logical_traits != 201510L 7368 # error "__cpp_lib_logical_traits should have the value 201510L in c++26" 7369 # endif 7370 7371 # ifndef __cpp_lib_make_from_tuple 7372 # error "__cpp_lib_make_from_tuple should be defined in c++26" 7373 # endif 7374 # if __cpp_lib_make_from_tuple != 201606L 7375 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++26" 7376 # endif 7377 7378 # ifndef __cpp_lib_make_reverse_iterator 7379 # error "__cpp_lib_make_reverse_iterator should be defined in c++26" 7380 # endif 7381 # if __cpp_lib_make_reverse_iterator != 201402L 7382 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++26" 7383 # endif 7384 7385 # ifndef __cpp_lib_make_unique 7386 # error "__cpp_lib_make_unique should be defined in c++26" 7387 # endif 7388 # if __cpp_lib_make_unique != 201304L 7389 # error "__cpp_lib_make_unique should have the value 201304L in c++26" 7390 # endif 7391 7392 # ifndef __cpp_lib_map_try_emplace 7393 # error "__cpp_lib_map_try_emplace should be defined in c++26" 7394 # endif 7395 # if __cpp_lib_map_try_emplace != 201411L 7396 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++26" 7397 # endif 7398 7399 # ifndef __cpp_lib_math_constants 7400 # error "__cpp_lib_math_constants should be defined in c++26" 7401 # endif 7402 # if __cpp_lib_math_constants != 201907L 7403 # error "__cpp_lib_math_constants should have the value 201907L in c++26" 7404 # endif 7405 7406 # if !defined(_LIBCPP_VERSION) 7407 # ifndef __cpp_lib_math_special_functions 7408 # error "__cpp_lib_math_special_functions should be defined in c++26" 7409 # endif 7410 # if __cpp_lib_math_special_functions != 201603L 7411 # error "__cpp_lib_math_special_functions should have the value 201603L in c++26" 7412 # endif 7413 # else // _LIBCPP_VERSION 7414 # ifdef __cpp_lib_math_special_functions 7415 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!" 7416 # endif 7417 # endif 7418 7419 # ifndef __cpp_lib_mdspan 7420 # error "__cpp_lib_mdspan should be defined in c++26" 7421 # endif 7422 # if __cpp_lib_mdspan != 202406L 7423 # error "__cpp_lib_mdspan should have the value 202406L in c++26" 7424 # endif 7425 7426 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR 7427 # ifndef __cpp_lib_memory_resource 7428 # error "__cpp_lib_memory_resource should be defined in c++26" 7429 # endif 7430 # if __cpp_lib_memory_resource != 201603L 7431 # error "__cpp_lib_memory_resource should have the value 201603L in c++26" 7432 # endif 7433 # else 7434 # ifdef __cpp_lib_memory_resource 7435 # error "__cpp_lib_memory_resource should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!" 7436 # endif 7437 # endif 7438 7439 # ifndef __cpp_lib_modules 7440 # error "__cpp_lib_modules should be defined in c++26" 7441 # endif 7442 # if __cpp_lib_modules != 202207L 7443 # error "__cpp_lib_modules should have the value 202207L in c++26" 7444 # endif 7445 7446 # ifndef __cpp_lib_move_iterator_concept 7447 # error "__cpp_lib_move_iterator_concept should be defined in c++26" 7448 # endif 7449 # if __cpp_lib_move_iterator_concept != 202207L 7450 # error "__cpp_lib_move_iterator_concept should have the value 202207L in c++26" 7451 # endif 7452 7453 # if !defined(_LIBCPP_VERSION) 7454 # ifndef __cpp_lib_move_only_function 7455 # error "__cpp_lib_move_only_function should be defined in c++26" 7456 # endif 7457 # if __cpp_lib_move_only_function != 202110L 7458 # error "__cpp_lib_move_only_function should have the value 202110L in c++26" 7459 # endif 7460 # else // _LIBCPP_VERSION 7461 # ifdef __cpp_lib_move_only_function 7462 # error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!" 7463 # endif 7464 # endif 7465 7466 # ifndef __cpp_lib_node_extract 7467 # error "__cpp_lib_node_extract should be defined in c++26" 7468 # endif 7469 # if __cpp_lib_node_extract != 201606L 7470 # error "__cpp_lib_node_extract should have the value 201606L in c++26" 7471 # endif 7472 7473 # ifndef __cpp_lib_nonmember_container_access 7474 # error "__cpp_lib_nonmember_container_access should be defined in c++26" 7475 # endif 7476 # if __cpp_lib_nonmember_container_access != 201411L 7477 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++26" 7478 # endif 7479 7480 # ifndef __cpp_lib_not_fn 7481 # error "__cpp_lib_not_fn should be defined in c++26" 7482 # endif 7483 # if __cpp_lib_not_fn != 202306L 7484 # error "__cpp_lib_not_fn should have the value 202306L in c++26" 7485 # endif 7486 7487 # ifndef __cpp_lib_null_iterators 7488 # error "__cpp_lib_null_iterators should be defined in c++26" 7489 # endif 7490 # if __cpp_lib_null_iterators != 201304L 7491 # error "__cpp_lib_null_iterators should have the value 201304L in c++26" 7492 # endif 7493 7494 # ifndef __cpp_lib_optional 7495 # error "__cpp_lib_optional should be defined in c++26" 7496 # endif 7497 # if __cpp_lib_optional != 202110L 7498 # error "__cpp_lib_optional should have the value 202110L in c++26" 7499 # endif 7500 7501 # if !defined(_LIBCPP_VERSION) 7502 # ifndef __cpp_lib_optional_range_support 7503 # error "__cpp_lib_optional_range_support should be defined in c++26" 7504 # endif 7505 # if __cpp_lib_optional_range_support != 202406L 7506 # error "__cpp_lib_optional_range_support should have the value 202406L in c++26" 7507 # endif 7508 # else // _LIBCPP_VERSION 7509 # ifdef __cpp_lib_optional_range_support 7510 # error "__cpp_lib_optional_range_support should not be defined because it is unimplemented in libc++!" 7511 # endif 7512 # endif 7513 7514 # ifndef __cpp_lib_out_ptr 7515 # error "__cpp_lib_out_ptr should be defined in c++26" 7516 # endif 7517 # if __cpp_lib_out_ptr != 202311L 7518 # error "__cpp_lib_out_ptr should have the value 202311L in c++26" 7519 # endif 7520 7521 # if !defined(_LIBCPP_VERSION) 7522 # ifndef __cpp_lib_parallel_algorithm 7523 # error "__cpp_lib_parallel_algorithm should be defined in c++26" 7524 # endif 7525 # if __cpp_lib_parallel_algorithm != 201603L 7526 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++26" 7527 # endif 7528 # else // _LIBCPP_VERSION 7529 # ifdef __cpp_lib_parallel_algorithm 7530 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!" 7531 # endif 7532 # endif 7533 7534 # if !defined(_LIBCPP_VERSION) 7535 # ifndef __cpp_lib_philox_engine 7536 # error "__cpp_lib_philox_engine should be defined in c++26" 7537 # endif 7538 # if __cpp_lib_philox_engine != 202406L 7539 # error "__cpp_lib_philox_engine should have the value 202406L in c++26" 7540 # endif 7541 # else // _LIBCPP_VERSION 7542 # ifdef __cpp_lib_philox_engine 7543 # error "__cpp_lib_philox_engine should not be defined because it is unimplemented in libc++!" 7544 # endif 7545 # endif 7546 7547 # if !defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR 7548 # ifndef __cpp_lib_polymorphic_allocator 7549 # error "__cpp_lib_polymorphic_allocator should be defined in c++26" 7550 # endif 7551 # if __cpp_lib_polymorphic_allocator != 201902L 7552 # error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++26" 7553 # endif 7554 # else 7555 # ifdef __cpp_lib_polymorphic_allocator 7556 # error "__cpp_lib_polymorphic_allocator should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_AVAILABILITY_HAS_PMR' is not met!" 7557 # endif 7558 # endif 7559 7560 # ifndef __cpp_lib_print 7561 # error "__cpp_lib_print should be defined in c++26" 7562 # endif 7563 # if __cpp_lib_print != 202207L 7564 # error "__cpp_lib_print should have the value 202207L in c++26" 7565 # endif 7566 7567 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION 7568 # ifndef __cpp_lib_quoted_string_io 7569 # error "__cpp_lib_quoted_string_io should be defined in c++26" 7570 # endif 7571 # if __cpp_lib_quoted_string_io != 201304L 7572 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++26" 7573 # endif 7574 # else 7575 # ifdef __cpp_lib_quoted_string_io 7576 # error "__cpp_lib_quoted_string_io should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_LOCALIZATION' is not met!" 7577 # endif 7578 # endif 7579 7580 # ifndef __cpp_lib_ranges 7581 # error "__cpp_lib_ranges should be defined in c++26" 7582 # endif 7583 # if __cpp_lib_ranges != 202406L 7584 # error "__cpp_lib_ranges should have the value 202406L in c++26" 7585 # endif 7586 7587 # if !defined(_LIBCPP_VERSION) 7588 # ifndef __cpp_lib_ranges_as_const 7589 # error "__cpp_lib_ranges_as_const should be defined in c++26" 7590 # endif 7591 # if __cpp_lib_ranges_as_const != 202207L 7592 # error "__cpp_lib_ranges_as_const should have the value 202207L in c++26" 7593 # endif 7594 # else // _LIBCPP_VERSION 7595 # ifdef __cpp_lib_ranges_as_const 7596 # error "__cpp_lib_ranges_as_const should not be defined because it is unimplemented in libc++!" 7597 # endif 7598 # endif 7599 7600 # ifndef __cpp_lib_ranges_as_rvalue 7601 # error "__cpp_lib_ranges_as_rvalue should be defined in c++26" 7602 # endif 7603 # if __cpp_lib_ranges_as_rvalue != 202207L 7604 # error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++26" 7605 # endif 7606 7607 # if !defined(_LIBCPP_VERSION) 7608 # ifndef __cpp_lib_ranges_chunk 7609 # error "__cpp_lib_ranges_chunk should be defined in c++26" 7610 # endif 7611 # if __cpp_lib_ranges_chunk != 202202L 7612 # error "__cpp_lib_ranges_chunk should have the value 202202L in c++26" 7613 # endif 7614 # else // _LIBCPP_VERSION 7615 # ifdef __cpp_lib_ranges_chunk 7616 # error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!" 7617 # endif 7618 # endif 7619 7620 # ifndef __cpp_lib_ranges_chunk_by 7621 # error "__cpp_lib_ranges_chunk_by should be defined in c++26" 7622 # endif 7623 # if __cpp_lib_ranges_chunk_by != 202202L 7624 # error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++26" 7625 # endif 7626 7627 # if !defined(_LIBCPP_VERSION) 7628 # ifndef __cpp_lib_ranges_concat 7629 # error "__cpp_lib_ranges_concat should be defined in c++26" 7630 # endif 7631 # if __cpp_lib_ranges_concat != 202403L 7632 # error "__cpp_lib_ranges_concat should have the value 202403L in c++26" 7633 # endif 7634 # else // _LIBCPP_VERSION 7635 # ifdef __cpp_lib_ranges_concat 7636 # error "__cpp_lib_ranges_concat should not be defined because it is unimplemented in libc++!" 7637 # endif 7638 # endif 7639 7640 # ifndef __cpp_lib_ranges_contains 7641 # error "__cpp_lib_ranges_contains should be defined in c++26" 7642 # endif 7643 # if __cpp_lib_ranges_contains != 202207L 7644 # error "__cpp_lib_ranges_contains should have the value 202207L in c++26" 7645 # endif 7646 7647 # ifndef __cpp_lib_ranges_find_last 7648 # error "__cpp_lib_ranges_find_last should be defined in c++26" 7649 # endif 7650 # if __cpp_lib_ranges_find_last != 202207L 7651 # error "__cpp_lib_ranges_find_last should have the value 202207L in c++26" 7652 # endif 7653 7654 # if !defined(_LIBCPP_VERSION) 7655 # ifndef __cpp_lib_ranges_iota 7656 # error "__cpp_lib_ranges_iota should be defined in c++26" 7657 # endif 7658 # if __cpp_lib_ranges_iota != 202202L 7659 # error "__cpp_lib_ranges_iota should have the value 202202L in c++26" 7660 # endif 7661 # else // _LIBCPP_VERSION 7662 # ifdef __cpp_lib_ranges_iota 7663 # error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!" 7664 # endif 7665 # endif 7666 7667 # if !defined(_LIBCPP_VERSION) 7668 # ifndef __cpp_lib_ranges_join_with 7669 # error "__cpp_lib_ranges_join_with should be defined in c++26" 7670 # endif 7671 # if __cpp_lib_ranges_join_with != 202202L 7672 # error "__cpp_lib_ranges_join_with should have the value 202202L in c++26" 7673 # endif 7674 # else // _LIBCPP_VERSION 7675 # ifdef __cpp_lib_ranges_join_with 7676 # error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!" 7677 # endif 7678 # endif 7679 7680 # ifndef __cpp_lib_ranges_repeat 7681 # error "__cpp_lib_ranges_repeat should be defined in c++26" 7682 # endif 7683 # if __cpp_lib_ranges_repeat != 202207L 7684 # error "__cpp_lib_ranges_repeat should have the value 202207L in c++26" 7685 # endif 7686 7687 # if !defined(_LIBCPP_VERSION) 7688 # ifndef __cpp_lib_ranges_slide 7689 # error "__cpp_lib_ranges_slide should be defined in c++26" 7690 # endif 7691 # if __cpp_lib_ranges_slide != 202202L 7692 # error "__cpp_lib_ranges_slide should have the value 202202L in c++26" 7693 # endif 7694 # else // _LIBCPP_VERSION 7695 # ifdef __cpp_lib_ranges_slide 7696 # error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!" 7697 # endif 7698 # endif 7699 7700 # ifndef __cpp_lib_ranges_starts_ends_with 7701 # error "__cpp_lib_ranges_starts_ends_with should be defined in c++26" 7702 # endif 7703 # if __cpp_lib_ranges_starts_ends_with != 202106L 7704 # error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++26" 7705 # endif 7706 7707 # ifndef __cpp_lib_ranges_to_container 7708 # error "__cpp_lib_ranges_to_container should be defined in c++26" 7709 # endif 7710 # if __cpp_lib_ranges_to_container != 202202L 7711 # error "__cpp_lib_ranges_to_container should have the value 202202L in c++26" 7712 # endif 7713 7714 # if !defined(_LIBCPP_VERSION) 7715 # ifndef __cpp_lib_ranges_zip 7716 # error "__cpp_lib_ranges_zip should be defined in c++26" 7717 # endif 7718 # if __cpp_lib_ranges_zip != 202110L 7719 # error "__cpp_lib_ranges_zip should have the value 202110L in c++26" 7720 # endif 7721 # else // _LIBCPP_VERSION 7722 # ifdef __cpp_lib_ranges_zip 7723 # error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!" 7724 # endif 7725 # endif 7726 7727 # ifndef __cpp_lib_ratio 7728 # error "__cpp_lib_ratio should be defined in c++26" 7729 # endif 7730 # if __cpp_lib_ratio != 202306L 7731 # error "__cpp_lib_ratio should have the value 202306L in c++26" 7732 # endif 7733 7734 # ifndef __cpp_lib_raw_memory_algorithms 7735 # error "__cpp_lib_raw_memory_algorithms should be defined in c++26" 7736 # endif 7737 # if __cpp_lib_raw_memory_algorithms != 201606L 7738 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++26" 7739 # endif 7740 7741 # if !defined(_LIBCPP_VERSION) 7742 # ifndef __cpp_lib_rcu 7743 # error "__cpp_lib_rcu should be defined in c++26" 7744 # endif 7745 # if __cpp_lib_rcu != 202306L 7746 # error "__cpp_lib_rcu should have the value 202306L in c++26" 7747 # endif 7748 # else // _LIBCPP_VERSION 7749 # ifdef __cpp_lib_rcu 7750 # error "__cpp_lib_rcu should not be defined because it is unimplemented in libc++!" 7751 # endif 7752 # endif 7753 7754 # if !defined(_LIBCPP_VERSION) 7755 # ifndef __cpp_lib_reference_from_temporary 7756 # error "__cpp_lib_reference_from_temporary should be defined in c++26" 7757 # endif 7758 # if __cpp_lib_reference_from_temporary != 202202L 7759 # error "__cpp_lib_reference_from_temporary should have the value 202202L in c++26" 7760 # endif 7761 # else // _LIBCPP_VERSION 7762 # ifdef __cpp_lib_reference_from_temporary 7763 # error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!" 7764 # endif 7765 # endif 7766 7767 # ifndef __cpp_lib_reference_wrapper 7768 # error "__cpp_lib_reference_wrapper should be defined in c++26" 7769 # endif 7770 # if __cpp_lib_reference_wrapper != 202403L 7771 # error "__cpp_lib_reference_wrapper should have the value 202403L in c++26" 7772 # endif 7773 7774 # ifndef __cpp_lib_remove_cvref 7775 # error "__cpp_lib_remove_cvref should be defined in c++26" 7776 # endif 7777 # if __cpp_lib_remove_cvref != 201711L 7778 # error "__cpp_lib_remove_cvref should have the value 201711L in c++26" 7779 # endif 7780 7781 # ifndef __cpp_lib_result_of_sfinae 7782 # error "__cpp_lib_result_of_sfinae should be defined in c++26" 7783 # endif 7784 # if __cpp_lib_result_of_sfinae != 201210L 7785 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++26" 7786 # endif 7787 7788 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 7789 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++26" 7790 # endif 7791 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 7792 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++26" 7793 # endif 7794 7795 # ifndef __cpp_lib_sample 7796 # error "__cpp_lib_sample should be defined in c++26" 7797 # endif 7798 # if __cpp_lib_sample != 201603L 7799 # error "__cpp_lib_sample should have the value 201603L in c++26" 7800 # endif 7801 7802 # ifndef __cpp_lib_saturation_arithmetic 7803 # error "__cpp_lib_saturation_arithmetic should be defined in c++26" 7804 # endif 7805 # if __cpp_lib_saturation_arithmetic != 202311L 7806 # error "__cpp_lib_saturation_arithmetic should have the value 202311L in c++26" 7807 # endif 7808 7809 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS 7810 # ifndef __cpp_lib_scoped_lock 7811 # error "__cpp_lib_scoped_lock should be defined in c++26" 7812 # endif 7813 # if __cpp_lib_scoped_lock != 201703L 7814 # error "__cpp_lib_scoped_lock should have the value 201703L in c++26" 7815 # endif 7816 # else 7817 # ifdef __cpp_lib_scoped_lock 7818 # error "__cpp_lib_scoped_lock should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_THREADS' is not met!" 7819 # endif 7820 # endif 7821 7822 # if !defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC) 7823 # ifndef __cpp_lib_semaphore 7824 # error "__cpp_lib_semaphore should be defined in c++26" 7825 # endif 7826 # if __cpp_lib_semaphore != 201907L 7827 # error "__cpp_lib_semaphore should have the value 201907L in c++26" 7828 # endif 7829 # else 7830 # ifdef __cpp_lib_semaphore 7831 # error "__cpp_lib_semaphore should not be defined when the requirement '!defined(_LIBCPP_VERSION) || (_LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC)' is not met!" 7832 # endif 7833 # endif 7834 7835 # if !defined(_LIBCPP_VERSION) 7836 # ifndef __cpp_lib_senders 7837 # error "__cpp_lib_senders should be defined in c++26" 7838 # endif 7839 # if __cpp_lib_senders != 202406L 7840 # error "__cpp_lib_senders should have the value 202406L in c++26" 7841 # endif 7842 # else // _LIBCPP_VERSION 7843 # ifdef __cpp_lib_senders 7844 # error "__cpp_lib_senders should not be defined because it is unimplemented in libc++!" 7845 # endif 7846 # endif 7847 7848 # if _LIBCPP_HAS_THREADS 7849 # ifndef __cpp_lib_shared_mutex 7850 # error "__cpp_lib_shared_mutex should be defined in c++26" 7851 # endif 7852 # if __cpp_lib_shared_mutex != 201505L 7853 # error "__cpp_lib_shared_mutex should have the value 201505L in c++26" 7854 # endif 7855 # else 7856 # ifdef __cpp_lib_shared_mutex 7857 # error "__cpp_lib_shared_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 7858 # endif 7859 # endif 7860 7861 # ifndef __cpp_lib_shared_ptr_arrays 7862 # error "__cpp_lib_shared_ptr_arrays should be defined in c++26" 7863 # endif 7864 # if __cpp_lib_shared_ptr_arrays != 201707L 7865 # error "__cpp_lib_shared_ptr_arrays should have the value 201707L in c++26" 7866 # endif 7867 7868 # ifndef __cpp_lib_shared_ptr_weak_type 7869 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++26" 7870 # endif 7871 # if __cpp_lib_shared_ptr_weak_type != 201606L 7872 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++26" 7873 # endif 7874 7875 # if _LIBCPP_HAS_THREADS 7876 # ifndef __cpp_lib_shared_timed_mutex 7877 # error "__cpp_lib_shared_timed_mutex should be defined in c++26" 7878 # endif 7879 # if __cpp_lib_shared_timed_mutex != 201402L 7880 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++26" 7881 # endif 7882 # else 7883 # ifdef __cpp_lib_shared_timed_mutex 7884 # error "__cpp_lib_shared_timed_mutex should not be defined when the requirement '_LIBCPP_HAS_THREADS' is not met!" 7885 # endif 7886 # endif 7887 7888 # ifndef __cpp_lib_shift 7889 # error "__cpp_lib_shift should be defined in c++26" 7890 # endif 7891 # if __cpp_lib_shift != 201806L 7892 # error "__cpp_lib_shift should have the value 201806L in c++26" 7893 # endif 7894 7895 # ifndef __cpp_lib_smart_ptr_for_overwrite 7896 # error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++26" 7897 # endif 7898 # if __cpp_lib_smart_ptr_for_overwrite != 202002L 7899 # error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++26" 7900 # endif 7901 7902 # if !defined(_LIBCPP_VERSION) 7903 # ifndef __cpp_lib_smart_ptr_owner_equality 7904 # error "__cpp_lib_smart_ptr_owner_equality should be defined in c++26" 7905 # endif 7906 # if __cpp_lib_smart_ptr_owner_equality != 202306L 7907 # error "__cpp_lib_smart_ptr_owner_equality should have the value 202306L in c++26" 7908 # endif 7909 # else // _LIBCPP_VERSION 7910 # ifdef __cpp_lib_smart_ptr_owner_equality 7911 # error "__cpp_lib_smart_ptr_owner_equality should not be defined because it is unimplemented in libc++!" 7912 # endif 7913 # endif 7914 7915 # ifndef __cpp_lib_source_location 7916 # error "__cpp_lib_source_location should be defined in c++26" 7917 # endif 7918 # if __cpp_lib_source_location != 201907L 7919 # error "__cpp_lib_source_location should have the value 201907L in c++26" 7920 # endif 7921 7922 # ifndef __cpp_lib_span 7923 # error "__cpp_lib_span should be defined in c++26" 7924 # endif 7925 # if __cpp_lib_span != 202002L 7926 # error "__cpp_lib_span should have the value 202002L in c++26" 7927 # endif 7928 7929 # ifndef __cpp_lib_span_at 7930 # error "__cpp_lib_span_at should be defined in c++26" 7931 # endif 7932 # if __cpp_lib_span_at != 202311L 7933 # error "__cpp_lib_span_at should have the value 202311L in c++26" 7934 # endif 7935 7936 # ifndef __cpp_lib_span_initializer_list 7937 # error "__cpp_lib_span_initializer_list should be defined in c++26" 7938 # endif 7939 # if __cpp_lib_span_initializer_list != 202311L 7940 # error "__cpp_lib_span_initializer_list should have the value 202311L in c++26" 7941 # endif 7942 7943 # if !defined(_LIBCPP_VERSION) 7944 # ifndef __cpp_lib_spanstream 7945 # error "__cpp_lib_spanstream should be defined in c++26" 7946 # endif 7947 # if __cpp_lib_spanstream != 202106L 7948 # error "__cpp_lib_spanstream should have the value 202106L in c++26" 7949 # endif 7950 # else // _LIBCPP_VERSION 7951 # ifdef __cpp_lib_spanstream 7952 # error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!" 7953 # endif 7954 # endif 7955 7956 # ifndef __cpp_lib_ssize 7957 # error "__cpp_lib_ssize should be defined in c++26" 7958 # endif 7959 # if __cpp_lib_ssize != 201902L 7960 # error "__cpp_lib_ssize should have the value 201902L in c++26" 7961 # endif 7962 7963 # ifndef __cpp_lib_sstream_from_string_view 7964 # error "__cpp_lib_sstream_from_string_view should be defined in c++26" 7965 # endif 7966 # if __cpp_lib_sstream_from_string_view != 202306L 7967 # error "__cpp_lib_sstream_from_string_view should have the value 202306L in c++26" 7968 # endif 7969 7970 # if !defined(_LIBCPP_VERSION) 7971 # ifndef __cpp_lib_stacktrace 7972 # error "__cpp_lib_stacktrace should be defined in c++26" 7973 # endif 7974 # if __cpp_lib_stacktrace != 202011L 7975 # error "__cpp_lib_stacktrace should have the value 202011L in c++26" 7976 # endif 7977 # else // _LIBCPP_VERSION 7978 # ifdef __cpp_lib_stacktrace 7979 # error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!" 7980 # endif 7981 # endif 7982 7983 # ifndef __cpp_lib_starts_ends_with 7984 # error "__cpp_lib_starts_ends_with should be defined in c++26" 7985 # endif 7986 # if __cpp_lib_starts_ends_with != 201711L 7987 # error "__cpp_lib_starts_ends_with should have the value 201711L in c++26" 7988 # endif 7989 7990 # ifndef __cpp_lib_stdatomic_h 7991 # error "__cpp_lib_stdatomic_h should be defined in c++26" 7992 # endif 7993 # if __cpp_lib_stdatomic_h != 202011L 7994 # error "__cpp_lib_stdatomic_h should have the value 202011L in c++26" 7995 # endif 7996 7997 # ifndef __cpp_lib_string_contains 7998 # error "__cpp_lib_string_contains should be defined in c++26" 7999 # endif 8000 # if __cpp_lib_string_contains != 202011L 8001 # error "__cpp_lib_string_contains should have the value 202011L in c++26" 8002 # endif 8003 8004 # ifndef __cpp_lib_string_resize_and_overwrite 8005 # error "__cpp_lib_string_resize_and_overwrite should be defined in c++26" 8006 # endif 8007 # if __cpp_lib_string_resize_and_overwrite != 202110L 8008 # error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++26" 8009 # endif 8010 8011 # ifndef __cpp_lib_string_udls 8012 # error "__cpp_lib_string_udls should be defined in c++26" 8013 # endif 8014 # if __cpp_lib_string_udls != 201304L 8015 # error "__cpp_lib_string_udls should have the value 201304L in c++26" 8016 # endif 8017 8018 # ifndef __cpp_lib_string_view 8019 # error "__cpp_lib_string_view should be defined in c++26" 8020 # endif 8021 # if __cpp_lib_string_view != 202403L 8022 # error "__cpp_lib_string_view should have the value 202403L in c++26" 8023 # endif 8024 8025 # if !defined(_LIBCPP_VERSION) 8026 # ifndef __cpp_lib_submdspan 8027 # error "__cpp_lib_submdspan should be defined in c++26" 8028 # endif 8029 # if __cpp_lib_submdspan != 202306L 8030 # error "__cpp_lib_submdspan should have the value 202306L in c++26" 8031 # endif 8032 # else // _LIBCPP_VERSION 8033 # ifdef __cpp_lib_submdspan 8034 # error "__cpp_lib_submdspan should not be defined because it is unimplemented in libc++!" 8035 # endif 8036 # endif 8037 8038 # if !defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM 8039 # ifndef __cpp_lib_syncbuf 8040 # error "__cpp_lib_syncbuf should be defined in c++26" 8041 # endif 8042 # if __cpp_lib_syncbuf != 201803L 8043 # error "__cpp_lib_syncbuf should have the value 201803L in c++26" 8044 # endif 8045 # else 8046 # ifdef __cpp_lib_syncbuf 8047 # error "__cpp_lib_syncbuf should not be defined when the requirement '!defined(_LIBCPP_VERSION) || _LIBCPP_HAS_EXPERIMENTAL_SYNCSTREAM' is not met!" 8048 # endif 8049 # endif 8050 8051 # if !defined(_LIBCPP_VERSION) 8052 # ifndef __cpp_lib_text_encoding 8053 # error "__cpp_lib_text_encoding should be defined in c++26" 8054 # endif 8055 # if __cpp_lib_text_encoding != 202306L 8056 # error "__cpp_lib_text_encoding should have the value 202306L in c++26" 8057 # endif 8058 # else // _LIBCPP_VERSION 8059 # ifdef __cpp_lib_text_encoding 8060 # error "__cpp_lib_text_encoding should not be defined because it is unimplemented in libc++!" 8061 # endif 8062 # endif 8063 8064 # ifndef __cpp_lib_three_way_comparison 8065 # error "__cpp_lib_three_way_comparison should be defined in c++26" 8066 # endif 8067 # if __cpp_lib_three_way_comparison != 201907L 8068 # error "__cpp_lib_three_way_comparison should have the value 201907L in c++26" 8069 # endif 8070 8071 # ifndef __cpp_lib_to_address 8072 # error "__cpp_lib_to_address should be defined in c++26" 8073 # endif 8074 # if __cpp_lib_to_address != 201711L 8075 # error "__cpp_lib_to_address should have the value 201711L in c++26" 8076 # endif 8077 8078 # ifndef __cpp_lib_to_array 8079 # error "__cpp_lib_to_array should be defined in c++26" 8080 # endif 8081 # if __cpp_lib_to_array != 201907L 8082 # error "__cpp_lib_to_array should have the value 201907L in c++26" 8083 # endif 8084 8085 # if !defined(_LIBCPP_VERSION) 8086 # ifndef __cpp_lib_to_chars 8087 # error "__cpp_lib_to_chars should be defined in c++26" 8088 # endif 8089 # if __cpp_lib_to_chars != 202306L 8090 # error "__cpp_lib_to_chars should have the value 202306L in c++26" 8091 # endif 8092 # else // _LIBCPP_VERSION 8093 # ifdef __cpp_lib_to_chars 8094 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!" 8095 # endif 8096 # endif 8097 8098 # if !defined(_LIBCPP_VERSION) 8099 # ifndef __cpp_lib_to_string 8100 # error "__cpp_lib_to_string should be defined in c++26" 8101 # endif 8102 # if __cpp_lib_to_string != 202306L 8103 # error "__cpp_lib_to_string should have the value 202306L in c++26" 8104 # endif 8105 # else // _LIBCPP_VERSION 8106 # ifdef __cpp_lib_to_string 8107 # error "__cpp_lib_to_string should not be defined because it is unimplemented in libc++!" 8108 # endif 8109 # endif 8110 8111 # ifndef __cpp_lib_to_underlying 8112 # error "__cpp_lib_to_underlying should be defined in c++26" 8113 # endif 8114 # if __cpp_lib_to_underlying != 202102L 8115 # error "__cpp_lib_to_underlying should have the value 202102L in c++26" 8116 # endif 8117 8118 # ifndef __cpp_lib_transformation_trait_aliases 8119 # error "__cpp_lib_transformation_trait_aliases should be defined in c++26" 8120 # endif 8121 # if __cpp_lib_transformation_trait_aliases != 201304L 8122 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++26" 8123 # endif 8124 8125 # ifndef __cpp_lib_transparent_operators 8126 # error "__cpp_lib_transparent_operators should be defined in c++26" 8127 # endif 8128 # if __cpp_lib_transparent_operators != 201510L 8129 # error "__cpp_lib_transparent_operators should have the value 201510L in c++26" 8130 # endif 8131 8132 # ifndef __cpp_lib_tuple_element_t 8133 # error "__cpp_lib_tuple_element_t should be defined in c++26" 8134 # endif 8135 # if __cpp_lib_tuple_element_t != 201402L 8136 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++26" 8137 # endif 8138 8139 # if !defined(_LIBCPP_VERSION) 8140 # ifndef __cpp_lib_tuple_like 8141 # error "__cpp_lib_tuple_like should be defined in c++26" 8142 # endif 8143 # if __cpp_lib_tuple_like != 202311L 8144 # error "__cpp_lib_tuple_like should have the value 202311L in c++26" 8145 # endif 8146 # else // _LIBCPP_VERSION 8147 # ifdef __cpp_lib_tuple_like 8148 # error "__cpp_lib_tuple_like should not be defined because it is unimplemented in libc++!" 8149 # endif 8150 # endif 8151 8152 # ifndef __cpp_lib_tuples_by_type 8153 # error "__cpp_lib_tuples_by_type should be defined in c++26" 8154 # endif 8155 # if __cpp_lib_tuples_by_type != 201304L 8156 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++26" 8157 # endif 8158 8159 # ifndef __cpp_lib_type_identity 8160 # error "__cpp_lib_type_identity should be defined in c++26" 8161 # endif 8162 # if __cpp_lib_type_identity != 201806L 8163 # error "__cpp_lib_type_identity should have the value 201806L in c++26" 8164 # endif 8165 8166 # ifndef __cpp_lib_type_trait_variable_templates 8167 # error "__cpp_lib_type_trait_variable_templates should be defined in c++26" 8168 # endif 8169 # if __cpp_lib_type_trait_variable_templates != 201510L 8170 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++26" 8171 # endif 8172 8173 # ifndef __cpp_lib_uncaught_exceptions 8174 # error "__cpp_lib_uncaught_exceptions should be defined in c++26" 8175 # endif 8176 # if __cpp_lib_uncaught_exceptions != 201411L 8177 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++26" 8178 # endif 8179 8180 # ifndef __cpp_lib_unordered_map_try_emplace 8181 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++26" 8182 # endif 8183 # if __cpp_lib_unordered_map_try_emplace != 201411L 8184 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++26" 8185 # endif 8186 8187 # ifndef __cpp_lib_unreachable 8188 # error "__cpp_lib_unreachable should be defined in c++26" 8189 # endif 8190 # if __cpp_lib_unreachable != 202202L 8191 # error "__cpp_lib_unreachable should have the value 202202L in c++26" 8192 # endif 8193 8194 # ifndef __cpp_lib_unwrap_ref 8195 # error "__cpp_lib_unwrap_ref should be defined in c++26" 8196 # endif 8197 # if __cpp_lib_unwrap_ref != 201811L 8198 # error "__cpp_lib_unwrap_ref should have the value 201811L in c++26" 8199 # endif 8200 8201 # ifndef __cpp_lib_variant 8202 # error "__cpp_lib_variant should be defined in c++26" 8203 # endif 8204 # if __cpp_lib_variant != 202306L 8205 # error "__cpp_lib_variant should have the value 202306L in c++26" 8206 # endif 8207 8208 # ifndef __cpp_lib_void_t 8209 # error "__cpp_lib_void_t should be defined in c++26" 8210 # endif 8211 # if __cpp_lib_void_t != 201411L 8212 # error "__cpp_lib_void_t should have the value 201411L in c++26" 8213 # endif 8214 8215 #endif // TEST_STD_VER > 23 8216 8217