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