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