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