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