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