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