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