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