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