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