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