version.version.pass.cpp (74565B)
1 //===----------------------------------------------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is dual licensed under the MIT and the University of Illinois Open 6 // Source Licenses. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // WARNING: This test was generated by generate_feature_test_macro_components.py 11 // and should not be edited manually. 12 13 // <version> 14 15 // Test the feature test macros defined by <version> 16 17 /* Constant Value 18 __cpp_lib_addressof_constexpr 201603L [C++17] 19 __cpp_lib_allocator_traits_is_always_equal 201411L [C++17] 20 __cpp_lib_any 201606L [C++17] 21 __cpp_lib_apply 201603L [C++17] 22 __cpp_lib_array_constexpr 201603L [C++17] 23 __cpp_lib_as_const 201510L [C++17] 24 __cpp_lib_atomic_is_always_lock_free 201603L [C++17] 25 __cpp_lib_atomic_ref 201806L [C++2a] 26 __cpp_lib_bind_front 201811L [C++2a] 27 __cpp_lib_bit_cast 201806L [C++2a] 28 __cpp_lib_bool_constant 201505L [C++17] 29 __cpp_lib_boyer_moore_searcher 201603L [C++17] 30 __cpp_lib_byte 201603L [C++17] 31 __cpp_lib_char8_t 201811L [C++2a] 32 __cpp_lib_chrono 201611L [C++17] 33 __cpp_lib_chrono_udls 201304L [C++14] 34 __cpp_lib_clamp 201603L [C++17] 35 __cpp_lib_complex_udls 201309L [C++14] 36 __cpp_lib_concepts 201806L [C++2a] 37 __cpp_lib_constexpr_misc 201811L [C++2a] 38 __cpp_lib_constexpr_swap_algorithms 201806L [C++2a] 39 __cpp_lib_destroying_delete 201806L [C++2a] 40 __cpp_lib_enable_shared_from_this 201603L [C++17] 41 __cpp_lib_erase_if 201811L [C++2a] 42 __cpp_lib_exchange_function 201304L [C++14] 43 __cpp_lib_execution 201603L [C++17] 44 __cpp_lib_filesystem 201703L [C++17] 45 __cpp_lib_gcd_lcm 201606L [C++17] 46 __cpp_lib_generic_associative_lookup 201304L [C++14] 47 __cpp_lib_generic_unordered_lookup 201811L [C++2a] 48 __cpp_lib_hardware_interference_size 201703L [C++17] 49 __cpp_lib_has_unique_object_representations 201606L [C++17] 50 __cpp_lib_hypot 201603L [C++17] 51 __cpp_lib_incomplete_container_elements 201505L [C++17] 52 __cpp_lib_integer_sequence 201304L [C++14] 53 __cpp_lib_integral_constant_callable 201304L [C++14] 54 __cpp_lib_invoke 201411L [C++17] 55 __cpp_lib_is_aggregate 201703L [C++17] 56 __cpp_lib_is_constant_evaluated 201811L [C++2a] 57 __cpp_lib_is_final 201402L [C++14] 58 __cpp_lib_is_invocable 201703L [C++17] 59 __cpp_lib_is_null_pointer 201309L [C++14] 60 __cpp_lib_is_swappable 201603L [C++17] 61 __cpp_lib_launder 201606L [C++17] 62 __cpp_lib_list_remove_return_type 201806L [C++2a] 63 __cpp_lib_logical_traits 201510L [C++17] 64 __cpp_lib_make_from_tuple 201606L [C++17] 65 __cpp_lib_make_reverse_iterator 201402L [C++14] 66 __cpp_lib_make_unique 201304L [C++14] 67 __cpp_lib_map_try_emplace 201411L [C++17] 68 __cpp_lib_math_special_functions 201603L [C++17] 69 __cpp_lib_memory_resource 201603L [C++17] 70 __cpp_lib_node_extract 201606L [C++17] 71 __cpp_lib_nonmember_container_access 201411L [C++17] 72 __cpp_lib_not_fn 201603L [C++17] 73 __cpp_lib_null_iterators 201304L [C++14] 74 __cpp_lib_optional 201606L [C++17] 75 __cpp_lib_parallel_algorithm 201603L [C++17] 76 __cpp_lib_quoted_string_io 201304L [C++14] 77 __cpp_lib_ranges 201811L [C++2a] 78 __cpp_lib_raw_memory_algorithms 201606L [C++17] 79 __cpp_lib_result_of_sfinae 201210L [C++14] 80 __cpp_lib_robust_nonmodifying_seq_ops 201304L [C++14] 81 __cpp_lib_sample 201603L [C++17] 82 __cpp_lib_scoped_lock 201703L [C++17] 83 __cpp_lib_shared_mutex 201505L [C++17] 84 __cpp_lib_shared_ptr_arrays 201611L [C++17] 85 __cpp_lib_shared_ptr_weak_type 201606L [C++17] 86 __cpp_lib_shared_timed_mutex 201402L [C++14] 87 __cpp_lib_string_udls 201304L [C++14] 88 __cpp_lib_string_view 201606L [C++17] 89 __cpp_lib_three_way_comparison 201711L [C++2a] 90 __cpp_lib_to_chars 201611L [C++17] 91 __cpp_lib_transformation_trait_aliases 201304L [C++14] 92 __cpp_lib_transparent_operators 201210L [C++14] 93 201510L [C++17] 94 __cpp_lib_tuple_element_t 201402L [C++14] 95 __cpp_lib_tuples_by_type 201304L [C++14] 96 __cpp_lib_type_trait_variable_templates 201510L [C++17] 97 __cpp_lib_uncaught_exceptions 201411L [C++17] 98 __cpp_lib_unordered_map_try_emplace 201411L [C++17] 99 __cpp_lib_variant 201606L [C++17] 100 __cpp_lib_void_t 201411L [C++17] 101 */ 102 103 #include <version> 104 #include "test_macros.h" 105 106 #if TEST_STD_VER < 14 107 108 # ifdef __cpp_lib_addressof_constexpr 109 # error "__cpp_lib_addressof_constexpr should not be defined before c++17" 110 # endif 111 112 # ifdef __cpp_lib_allocator_traits_is_always_equal 113 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17" 114 # endif 115 116 # ifdef __cpp_lib_any 117 # error "__cpp_lib_any should not be defined before c++17" 118 # endif 119 120 # ifdef __cpp_lib_apply 121 # error "__cpp_lib_apply should not be defined before c++17" 122 # endif 123 124 # ifdef __cpp_lib_array_constexpr 125 # error "__cpp_lib_array_constexpr should not be defined before c++17" 126 # endif 127 128 # ifdef __cpp_lib_as_const 129 # error "__cpp_lib_as_const should not be defined before c++17" 130 # endif 131 132 # ifdef __cpp_lib_atomic_is_always_lock_free 133 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17" 134 # endif 135 136 # ifdef __cpp_lib_atomic_ref 137 # error "__cpp_lib_atomic_ref should not be defined before c++2a" 138 # endif 139 140 # ifdef __cpp_lib_bind_front 141 # error "__cpp_lib_bind_front should not be defined before c++2a" 142 # endif 143 144 # ifdef __cpp_lib_bit_cast 145 # error "__cpp_lib_bit_cast should not be defined before c++2a" 146 # endif 147 148 # ifdef __cpp_lib_bool_constant 149 # error "__cpp_lib_bool_constant should not be defined before c++17" 150 # endif 151 152 # ifdef __cpp_lib_boyer_moore_searcher 153 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17" 154 # endif 155 156 # ifdef __cpp_lib_byte 157 # error "__cpp_lib_byte should not be defined before c++17" 158 # endif 159 160 # ifdef __cpp_lib_char8_t 161 # error "__cpp_lib_char8_t should not be defined before c++2a" 162 # endif 163 164 # ifdef __cpp_lib_chrono 165 # error "__cpp_lib_chrono should not be defined before c++17" 166 # endif 167 168 # ifdef __cpp_lib_chrono_udls 169 # error "__cpp_lib_chrono_udls should not be defined before c++14" 170 # endif 171 172 # ifdef __cpp_lib_clamp 173 # error "__cpp_lib_clamp should not be defined before c++17" 174 # endif 175 176 # ifdef __cpp_lib_complex_udls 177 # error "__cpp_lib_complex_udls should not be defined before c++14" 178 # endif 179 180 # ifdef __cpp_lib_concepts 181 # error "__cpp_lib_concepts should not be defined before c++2a" 182 # endif 183 184 # ifdef __cpp_lib_constexpr_misc 185 # error "__cpp_lib_constexpr_misc should not be defined before c++2a" 186 # endif 187 188 # ifdef __cpp_lib_constexpr_swap_algorithms 189 # error "__cpp_lib_constexpr_swap_algorithms should not be defined before c++2a" 190 # endif 191 192 # ifdef __cpp_lib_destroying_delete 193 # error "__cpp_lib_destroying_delete should not be defined before c++2a" 194 # endif 195 196 # ifdef __cpp_lib_enable_shared_from_this 197 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17" 198 # endif 199 200 # ifdef __cpp_lib_erase_if 201 # error "__cpp_lib_erase_if should not be defined before c++2a" 202 # endif 203 204 # ifdef __cpp_lib_exchange_function 205 # error "__cpp_lib_exchange_function should not be defined before c++14" 206 # endif 207 208 # ifdef __cpp_lib_execution 209 # error "__cpp_lib_execution should not be defined before c++17" 210 # endif 211 212 # ifdef __cpp_lib_filesystem 213 # error "__cpp_lib_filesystem should not be defined before c++17" 214 # endif 215 216 # ifdef __cpp_lib_gcd_lcm 217 # error "__cpp_lib_gcd_lcm should not be defined before c++17" 218 # endif 219 220 # ifdef __cpp_lib_generic_associative_lookup 221 # error "__cpp_lib_generic_associative_lookup should not be defined before c++14" 222 # endif 223 224 # ifdef __cpp_lib_generic_unordered_lookup 225 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++2a" 226 # endif 227 228 # ifdef __cpp_lib_hardware_interference_size 229 # error "__cpp_lib_hardware_interference_size should not be defined before c++17" 230 # endif 231 232 # ifdef __cpp_lib_has_unique_object_representations 233 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17" 234 # endif 235 236 # ifdef __cpp_lib_hypot 237 # error "__cpp_lib_hypot should not be defined before c++17" 238 # endif 239 240 # ifdef __cpp_lib_incomplete_container_elements 241 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17" 242 # endif 243 244 # ifdef __cpp_lib_integer_sequence 245 # error "__cpp_lib_integer_sequence should not be defined before c++14" 246 # endif 247 248 # ifdef __cpp_lib_integral_constant_callable 249 # error "__cpp_lib_integral_constant_callable should not be defined before c++14" 250 # endif 251 252 # ifdef __cpp_lib_invoke 253 # error "__cpp_lib_invoke should not be defined before c++17" 254 # endif 255 256 # ifdef __cpp_lib_is_aggregate 257 # error "__cpp_lib_is_aggregate should not be defined before c++17" 258 # endif 259 260 # ifdef __cpp_lib_is_constant_evaluated 261 # error "__cpp_lib_is_constant_evaluated should not be defined before c++2a" 262 # endif 263 264 # ifdef __cpp_lib_is_final 265 # error "__cpp_lib_is_final should not be defined before c++14" 266 # endif 267 268 # ifdef __cpp_lib_is_invocable 269 # error "__cpp_lib_is_invocable should not be defined before c++17" 270 # endif 271 272 # ifdef __cpp_lib_is_null_pointer 273 # error "__cpp_lib_is_null_pointer should not be defined before c++14" 274 # endif 275 276 # ifdef __cpp_lib_is_swappable 277 # error "__cpp_lib_is_swappable should not be defined before c++17" 278 # endif 279 280 # ifdef __cpp_lib_launder 281 # error "__cpp_lib_launder should not be defined before c++17" 282 # endif 283 284 # ifdef __cpp_lib_list_remove_return_type 285 # error "__cpp_lib_list_remove_return_type should not be defined before c++2a" 286 # endif 287 288 # ifdef __cpp_lib_logical_traits 289 # error "__cpp_lib_logical_traits should not be defined before c++17" 290 # endif 291 292 # ifdef __cpp_lib_make_from_tuple 293 # error "__cpp_lib_make_from_tuple should not be defined before c++17" 294 # endif 295 296 # ifdef __cpp_lib_make_reverse_iterator 297 # error "__cpp_lib_make_reverse_iterator should not be defined before c++14" 298 # endif 299 300 # ifdef __cpp_lib_make_unique 301 # error "__cpp_lib_make_unique should not be defined before c++14" 302 # endif 303 304 # ifdef __cpp_lib_map_try_emplace 305 # error "__cpp_lib_map_try_emplace should not be defined before c++17" 306 # endif 307 308 # ifdef __cpp_lib_math_special_functions 309 # error "__cpp_lib_math_special_functions should not be defined before c++17" 310 # endif 311 312 # ifdef __cpp_lib_memory_resource 313 # error "__cpp_lib_memory_resource should not be defined before c++17" 314 # endif 315 316 # ifdef __cpp_lib_node_extract 317 # error "__cpp_lib_node_extract should not be defined before c++17" 318 # endif 319 320 # ifdef __cpp_lib_nonmember_container_access 321 # error "__cpp_lib_nonmember_container_access should not be defined before c++17" 322 # endif 323 324 # ifdef __cpp_lib_not_fn 325 # error "__cpp_lib_not_fn should not be defined before c++17" 326 # endif 327 328 # ifdef __cpp_lib_null_iterators 329 # error "__cpp_lib_null_iterators should not be defined before c++14" 330 # endif 331 332 # ifdef __cpp_lib_optional 333 # error "__cpp_lib_optional should not be defined before c++17" 334 # endif 335 336 # ifdef __cpp_lib_parallel_algorithm 337 # error "__cpp_lib_parallel_algorithm should not be defined before c++17" 338 # endif 339 340 # ifdef __cpp_lib_quoted_string_io 341 # error "__cpp_lib_quoted_string_io should not be defined before c++14" 342 # endif 343 344 # ifdef __cpp_lib_ranges 345 # error "__cpp_lib_ranges should not be defined before c++2a" 346 # endif 347 348 # ifdef __cpp_lib_raw_memory_algorithms 349 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17" 350 # endif 351 352 # ifdef __cpp_lib_result_of_sfinae 353 # error "__cpp_lib_result_of_sfinae should not be defined before c++14" 354 # endif 355 356 # ifdef __cpp_lib_robust_nonmodifying_seq_ops 357 # error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14" 358 # endif 359 360 # ifdef __cpp_lib_sample 361 # error "__cpp_lib_sample should not be defined before c++17" 362 # endif 363 364 # ifdef __cpp_lib_scoped_lock 365 # error "__cpp_lib_scoped_lock should not be defined before c++17" 366 # endif 367 368 # ifdef __cpp_lib_shared_mutex 369 # error "__cpp_lib_shared_mutex should not be defined before c++17" 370 # endif 371 372 # ifdef __cpp_lib_shared_ptr_arrays 373 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17" 374 # endif 375 376 # ifdef __cpp_lib_shared_ptr_weak_type 377 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17" 378 # endif 379 380 # ifdef __cpp_lib_shared_timed_mutex 381 # error "__cpp_lib_shared_timed_mutex should not be defined before c++14" 382 # endif 383 384 # ifdef __cpp_lib_string_udls 385 # error "__cpp_lib_string_udls should not be defined before c++14" 386 # endif 387 388 # ifdef __cpp_lib_string_view 389 # error "__cpp_lib_string_view should not be defined before c++17" 390 # endif 391 392 # ifdef __cpp_lib_three_way_comparison 393 # error "__cpp_lib_three_way_comparison should not be defined before c++2a" 394 # endif 395 396 # ifdef __cpp_lib_to_chars 397 # error "__cpp_lib_to_chars should not be defined before c++17" 398 # endif 399 400 # ifdef __cpp_lib_transformation_trait_aliases 401 # error "__cpp_lib_transformation_trait_aliases should not be defined before c++14" 402 # endif 403 404 # ifdef __cpp_lib_transparent_operators 405 # error "__cpp_lib_transparent_operators should not be defined before c++14" 406 # endif 407 408 # ifdef __cpp_lib_tuple_element_t 409 # error "__cpp_lib_tuple_element_t should not be defined before c++14" 410 # endif 411 412 # ifdef __cpp_lib_tuples_by_type 413 # error "__cpp_lib_tuples_by_type should not be defined before c++14" 414 # endif 415 416 # ifdef __cpp_lib_type_trait_variable_templates 417 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17" 418 # endif 419 420 # ifdef __cpp_lib_uncaught_exceptions 421 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17" 422 # endif 423 424 # ifdef __cpp_lib_unordered_map_try_emplace 425 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17" 426 # endif 427 428 # ifdef __cpp_lib_variant 429 # error "__cpp_lib_variant should not be defined before c++17" 430 # endif 431 432 # ifdef __cpp_lib_void_t 433 # error "__cpp_lib_void_t should not be defined before c++17" 434 # endif 435 436 #elif TEST_STD_VER == 14 437 438 # ifdef __cpp_lib_addressof_constexpr 439 # error "__cpp_lib_addressof_constexpr should not be defined before c++17" 440 # endif 441 442 # ifdef __cpp_lib_allocator_traits_is_always_equal 443 # error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17" 444 # endif 445 446 # ifdef __cpp_lib_any 447 # error "__cpp_lib_any should not be defined before c++17" 448 # endif 449 450 # ifdef __cpp_lib_apply 451 # error "__cpp_lib_apply should not be defined before c++17" 452 # endif 453 454 # ifdef __cpp_lib_array_constexpr 455 # error "__cpp_lib_array_constexpr should not be defined before c++17" 456 # endif 457 458 # ifdef __cpp_lib_as_const 459 # error "__cpp_lib_as_const should not be defined before c++17" 460 # endif 461 462 # ifdef __cpp_lib_atomic_is_always_lock_free 463 # error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17" 464 # endif 465 466 # ifdef __cpp_lib_atomic_ref 467 # error "__cpp_lib_atomic_ref should not be defined before c++2a" 468 # endif 469 470 # ifdef __cpp_lib_bind_front 471 # error "__cpp_lib_bind_front should not be defined before c++2a" 472 # endif 473 474 # ifdef __cpp_lib_bit_cast 475 # error "__cpp_lib_bit_cast should not be defined before c++2a" 476 # endif 477 478 # ifdef __cpp_lib_bool_constant 479 # error "__cpp_lib_bool_constant should not be defined before c++17" 480 # endif 481 482 # ifdef __cpp_lib_boyer_moore_searcher 483 # error "__cpp_lib_boyer_moore_searcher should not be defined before c++17" 484 # endif 485 486 # ifdef __cpp_lib_byte 487 # error "__cpp_lib_byte should not be defined before c++17" 488 # endif 489 490 # ifdef __cpp_lib_char8_t 491 # error "__cpp_lib_char8_t should not be defined before c++2a" 492 # endif 493 494 # ifdef __cpp_lib_chrono 495 # error "__cpp_lib_chrono should not be defined before c++17" 496 # endif 497 498 # ifndef __cpp_lib_chrono_udls 499 # error "__cpp_lib_chrono_udls should be defined in c++14" 500 # endif 501 # if __cpp_lib_chrono_udls != 201304L 502 # error "__cpp_lib_chrono_udls should have the value 201304L in c++14" 503 # endif 504 505 # ifdef __cpp_lib_clamp 506 # error "__cpp_lib_clamp should not be defined before c++17" 507 # endif 508 509 # ifndef __cpp_lib_complex_udls 510 # error "__cpp_lib_complex_udls should be defined in c++14" 511 # endif 512 # if __cpp_lib_complex_udls != 201309L 513 # error "__cpp_lib_complex_udls should have the value 201309L in c++14" 514 # endif 515 516 # ifdef __cpp_lib_concepts 517 # error "__cpp_lib_concepts should not be defined before c++2a" 518 # endif 519 520 # ifdef __cpp_lib_constexpr_misc 521 # error "__cpp_lib_constexpr_misc should not be defined before c++2a" 522 # endif 523 524 # ifdef __cpp_lib_constexpr_swap_algorithms 525 # error "__cpp_lib_constexpr_swap_algorithms should not be defined before c++2a" 526 # endif 527 528 # ifdef __cpp_lib_destroying_delete 529 # error "__cpp_lib_destroying_delete should not be defined before c++2a" 530 # endif 531 532 # ifdef __cpp_lib_enable_shared_from_this 533 # error "__cpp_lib_enable_shared_from_this should not be defined before c++17" 534 # endif 535 536 # ifdef __cpp_lib_erase_if 537 # error "__cpp_lib_erase_if should not be defined before c++2a" 538 # endif 539 540 # ifndef __cpp_lib_exchange_function 541 # error "__cpp_lib_exchange_function should be defined in c++14" 542 # endif 543 # if __cpp_lib_exchange_function != 201304L 544 # error "__cpp_lib_exchange_function should have the value 201304L in c++14" 545 # endif 546 547 # ifdef __cpp_lib_execution 548 # error "__cpp_lib_execution should not be defined before c++17" 549 # endif 550 551 # ifdef __cpp_lib_filesystem 552 # error "__cpp_lib_filesystem should not be defined before c++17" 553 # endif 554 555 # ifdef __cpp_lib_gcd_lcm 556 # error "__cpp_lib_gcd_lcm should not be defined before c++17" 557 # endif 558 559 # ifndef __cpp_lib_generic_associative_lookup 560 # error "__cpp_lib_generic_associative_lookup should be defined in c++14" 561 # endif 562 # if __cpp_lib_generic_associative_lookup != 201304L 563 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14" 564 # endif 565 566 # ifdef __cpp_lib_generic_unordered_lookup 567 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++2a" 568 # endif 569 570 # ifdef __cpp_lib_hardware_interference_size 571 # error "__cpp_lib_hardware_interference_size should not be defined before c++17" 572 # endif 573 574 # ifdef __cpp_lib_has_unique_object_representations 575 # error "__cpp_lib_has_unique_object_representations should not be defined before c++17" 576 # endif 577 578 # ifdef __cpp_lib_hypot 579 # error "__cpp_lib_hypot should not be defined before c++17" 580 # endif 581 582 # ifdef __cpp_lib_incomplete_container_elements 583 # error "__cpp_lib_incomplete_container_elements should not be defined before c++17" 584 # endif 585 586 # ifndef __cpp_lib_integer_sequence 587 # error "__cpp_lib_integer_sequence should be defined in c++14" 588 # endif 589 # if __cpp_lib_integer_sequence != 201304L 590 # error "__cpp_lib_integer_sequence should have the value 201304L in c++14" 591 # endif 592 593 # ifndef __cpp_lib_integral_constant_callable 594 # error "__cpp_lib_integral_constant_callable should be defined in c++14" 595 # endif 596 # if __cpp_lib_integral_constant_callable != 201304L 597 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14" 598 # endif 599 600 # ifdef __cpp_lib_invoke 601 # error "__cpp_lib_invoke should not be defined before c++17" 602 # endif 603 604 # ifdef __cpp_lib_is_aggregate 605 # error "__cpp_lib_is_aggregate should not be defined before c++17" 606 # endif 607 608 # ifdef __cpp_lib_is_constant_evaluated 609 # error "__cpp_lib_is_constant_evaluated should not be defined before c++2a" 610 # endif 611 612 # ifndef __cpp_lib_is_final 613 # error "__cpp_lib_is_final should be defined in c++14" 614 # endif 615 # if __cpp_lib_is_final != 201402L 616 # error "__cpp_lib_is_final should have the value 201402L in c++14" 617 # endif 618 619 # ifdef __cpp_lib_is_invocable 620 # error "__cpp_lib_is_invocable should not be defined before c++17" 621 # endif 622 623 # ifndef __cpp_lib_is_null_pointer 624 # error "__cpp_lib_is_null_pointer should be defined in c++14" 625 # endif 626 # if __cpp_lib_is_null_pointer != 201309L 627 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++14" 628 # endif 629 630 # ifdef __cpp_lib_is_swappable 631 # error "__cpp_lib_is_swappable should not be defined before c++17" 632 # endif 633 634 # ifdef __cpp_lib_launder 635 # error "__cpp_lib_launder should not be defined before c++17" 636 # endif 637 638 # ifdef __cpp_lib_list_remove_return_type 639 # error "__cpp_lib_list_remove_return_type should not be defined before c++2a" 640 # endif 641 642 # ifdef __cpp_lib_logical_traits 643 # error "__cpp_lib_logical_traits should not be defined before c++17" 644 # endif 645 646 # ifdef __cpp_lib_make_from_tuple 647 # error "__cpp_lib_make_from_tuple should not be defined before c++17" 648 # endif 649 650 # ifndef __cpp_lib_make_reverse_iterator 651 # error "__cpp_lib_make_reverse_iterator should be defined in c++14" 652 # endif 653 # if __cpp_lib_make_reverse_iterator != 201402L 654 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14" 655 # endif 656 657 # ifndef __cpp_lib_make_unique 658 # error "__cpp_lib_make_unique should be defined in c++14" 659 # endif 660 # if __cpp_lib_make_unique != 201304L 661 # error "__cpp_lib_make_unique should have the value 201304L in c++14" 662 # endif 663 664 # ifdef __cpp_lib_map_try_emplace 665 # error "__cpp_lib_map_try_emplace should not be defined before c++17" 666 # endif 667 668 # ifdef __cpp_lib_math_special_functions 669 # error "__cpp_lib_math_special_functions should not be defined before c++17" 670 # endif 671 672 # ifdef __cpp_lib_memory_resource 673 # error "__cpp_lib_memory_resource should not be defined before c++17" 674 # endif 675 676 # ifdef __cpp_lib_node_extract 677 # error "__cpp_lib_node_extract should not be defined before c++17" 678 # endif 679 680 # ifdef __cpp_lib_nonmember_container_access 681 # error "__cpp_lib_nonmember_container_access should not be defined before c++17" 682 # endif 683 684 # ifdef __cpp_lib_not_fn 685 # error "__cpp_lib_not_fn should not be defined before c++17" 686 # endif 687 688 # ifndef __cpp_lib_null_iterators 689 # error "__cpp_lib_null_iterators should be defined in c++14" 690 # endif 691 # if __cpp_lib_null_iterators != 201304L 692 # error "__cpp_lib_null_iterators should have the value 201304L in c++14" 693 # endif 694 695 # ifdef __cpp_lib_optional 696 # error "__cpp_lib_optional should not be defined before c++17" 697 # endif 698 699 # ifdef __cpp_lib_parallel_algorithm 700 # error "__cpp_lib_parallel_algorithm should not be defined before c++17" 701 # endif 702 703 # ifndef __cpp_lib_quoted_string_io 704 # error "__cpp_lib_quoted_string_io should be defined in c++14" 705 # endif 706 # if __cpp_lib_quoted_string_io != 201304L 707 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++14" 708 # endif 709 710 # ifdef __cpp_lib_ranges 711 # error "__cpp_lib_ranges should not be defined before c++2a" 712 # endif 713 714 # ifdef __cpp_lib_raw_memory_algorithms 715 # error "__cpp_lib_raw_memory_algorithms should not be defined before c++17" 716 # endif 717 718 # ifndef __cpp_lib_result_of_sfinae 719 # error "__cpp_lib_result_of_sfinae should be defined in c++14" 720 # endif 721 # if __cpp_lib_result_of_sfinae != 201210L 722 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14" 723 # endif 724 725 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 726 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14" 727 # endif 728 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 729 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14" 730 # endif 731 732 # ifdef __cpp_lib_sample 733 # error "__cpp_lib_sample should not be defined before c++17" 734 # endif 735 736 # ifdef __cpp_lib_scoped_lock 737 # error "__cpp_lib_scoped_lock should not be defined before c++17" 738 # endif 739 740 # ifdef __cpp_lib_shared_mutex 741 # error "__cpp_lib_shared_mutex should not be defined before c++17" 742 # endif 743 744 # ifdef __cpp_lib_shared_ptr_arrays 745 # error "__cpp_lib_shared_ptr_arrays should not be defined before c++17" 746 # endif 747 748 # ifdef __cpp_lib_shared_ptr_weak_type 749 # error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17" 750 # endif 751 752 # if !defined(_LIBCPP_HAS_NO_THREADS) 753 # ifndef __cpp_lib_shared_timed_mutex 754 # error "__cpp_lib_shared_timed_mutex should be defined in c++14" 755 # endif 756 # if __cpp_lib_shared_timed_mutex != 201402L 757 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14" 758 # endif 759 # else 760 # ifdef __cpp_lib_shared_timed_mutex 761 # error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!" 762 # endif 763 # endif 764 765 # ifndef __cpp_lib_string_udls 766 # error "__cpp_lib_string_udls should be defined in c++14" 767 # endif 768 # if __cpp_lib_string_udls != 201304L 769 # error "__cpp_lib_string_udls should have the value 201304L in c++14" 770 # endif 771 772 # ifdef __cpp_lib_string_view 773 # error "__cpp_lib_string_view should not be defined before c++17" 774 # endif 775 776 # ifdef __cpp_lib_three_way_comparison 777 # error "__cpp_lib_three_way_comparison should not be defined before c++2a" 778 # endif 779 780 # ifdef __cpp_lib_to_chars 781 # error "__cpp_lib_to_chars should not be defined before c++17" 782 # endif 783 784 # ifndef __cpp_lib_transformation_trait_aliases 785 # error "__cpp_lib_transformation_trait_aliases should be defined in c++14" 786 # endif 787 # if __cpp_lib_transformation_trait_aliases != 201304L 788 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14" 789 # endif 790 791 # ifndef __cpp_lib_transparent_operators 792 # error "__cpp_lib_transparent_operators should be defined in c++14" 793 # endif 794 # if __cpp_lib_transparent_operators != 201210L 795 # error "__cpp_lib_transparent_operators should have the value 201210L in c++14" 796 # endif 797 798 # ifndef __cpp_lib_tuple_element_t 799 # error "__cpp_lib_tuple_element_t should be defined in c++14" 800 # endif 801 # if __cpp_lib_tuple_element_t != 201402L 802 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++14" 803 # endif 804 805 # ifndef __cpp_lib_tuples_by_type 806 # error "__cpp_lib_tuples_by_type should be defined in c++14" 807 # endif 808 # if __cpp_lib_tuples_by_type != 201304L 809 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++14" 810 # endif 811 812 # ifdef __cpp_lib_type_trait_variable_templates 813 # error "__cpp_lib_type_trait_variable_templates should not be defined before c++17" 814 # endif 815 816 # ifdef __cpp_lib_uncaught_exceptions 817 # error "__cpp_lib_uncaught_exceptions should not be defined before c++17" 818 # endif 819 820 # ifdef __cpp_lib_unordered_map_try_emplace 821 # error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17" 822 # endif 823 824 # ifdef __cpp_lib_variant 825 # error "__cpp_lib_variant should not be defined before c++17" 826 # endif 827 828 # ifdef __cpp_lib_void_t 829 # error "__cpp_lib_void_t should not be defined before c++17" 830 # endif 831 832 #elif TEST_STD_VER == 17 833 834 # if TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700 835 # ifndef __cpp_lib_addressof_constexpr 836 # error "__cpp_lib_addressof_constexpr should be defined in c++17" 837 # endif 838 # if __cpp_lib_addressof_constexpr != 201603L 839 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17" 840 # endif 841 # else 842 # ifdef __cpp_lib_addressof_constexpr 843 # error "__cpp_lib_addressof_constexpr should not be defined when TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700 is not defined!" 844 # endif 845 # endif 846 847 # ifndef __cpp_lib_allocator_traits_is_always_equal 848 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17" 849 # endif 850 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 851 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17" 852 # endif 853 854 # ifndef __cpp_lib_any 855 # error "__cpp_lib_any should be defined in c++17" 856 # endif 857 # if __cpp_lib_any != 201606L 858 # error "__cpp_lib_any should have the value 201606L in c++17" 859 # endif 860 861 # ifndef __cpp_lib_apply 862 # error "__cpp_lib_apply should be defined in c++17" 863 # endif 864 # if __cpp_lib_apply != 201603L 865 # error "__cpp_lib_apply should have the value 201603L in c++17" 866 # endif 867 868 # ifndef __cpp_lib_array_constexpr 869 # error "__cpp_lib_array_constexpr should be defined in c++17" 870 # endif 871 # if __cpp_lib_array_constexpr != 201603L 872 # error "__cpp_lib_array_constexpr should have the value 201603L in c++17" 873 # endif 874 875 # ifndef __cpp_lib_as_const 876 # error "__cpp_lib_as_const should be defined in c++17" 877 # endif 878 # if __cpp_lib_as_const != 201510L 879 # error "__cpp_lib_as_const should have the value 201510L in c++17" 880 # endif 881 882 # if !defined(_LIBCPP_HAS_NO_THREADS) 883 # ifndef __cpp_lib_atomic_is_always_lock_free 884 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17" 885 # endif 886 # if __cpp_lib_atomic_is_always_lock_free != 201603L 887 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17" 888 # endif 889 # else 890 # ifdef __cpp_lib_atomic_is_always_lock_free 891 # error "__cpp_lib_atomic_is_always_lock_free should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!" 892 # endif 893 # endif 894 895 # ifdef __cpp_lib_atomic_ref 896 # error "__cpp_lib_atomic_ref should not be defined before c++2a" 897 # endif 898 899 # ifdef __cpp_lib_bind_front 900 # error "__cpp_lib_bind_front should not be defined before c++2a" 901 # endif 902 903 # ifdef __cpp_lib_bit_cast 904 # error "__cpp_lib_bit_cast should not be defined before c++2a" 905 # endif 906 907 # ifndef __cpp_lib_bool_constant 908 # error "__cpp_lib_bool_constant should be defined in c++17" 909 # endif 910 # if __cpp_lib_bool_constant != 201505L 911 # error "__cpp_lib_bool_constant should have the value 201505L in c++17" 912 # endif 913 914 # if !defined(_LIBCPP_VERSION) 915 # ifndef __cpp_lib_boyer_moore_searcher 916 # error "__cpp_lib_boyer_moore_searcher should be defined in c++17" 917 # endif 918 # if __cpp_lib_boyer_moore_searcher != 201603L 919 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17" 920 # endif 921 # else // _LIBCPP_VERSION 922 # ifdef __cpp_lib_boyer_moore_searcher 923 # error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!" 924 # endif 925 # endif 926 927 # ifndef __cpp_lib_byte 928 # error "__cpp_lib_byte should be defined in c++17" 929 # endif 930 # if __cpp_lib_byte != 201603L 931 # error "__cpp_lib_byte should have the value 201603L in c++17" 932 # endif 933 934 # ifdef __cpp_lib_char8_t 935 # error "__cpp_lib_char8_t should not be defined before c++2a" 936 # endif 937 938 # ifndef __cpp_lib_chrono 939 # error "__cpp_lib_chrono should be defined in c++17" 940 # endif 941 # if __cpp_lib_chrono != 201611L 942 # error "__cpp_lib_chrono should have the value 201611L in c++17" 943 # endif 944 945 # ifndef __cpp_lib_chrono_udls 946 # error "__cpp_lib_chrono_udls should be defined in c++17" 947 # endif 948 # if __cpp_lib_chrono_udls != 201304L 949 # error "__cpp_lib_chrono_udls should have the value 201304L in c++17" 950 # endif 951 952 # ifndef __cpp_lib_clamp 953 # error "__cpp_lib_clamp should be defined in c++17" 954 # endif 955 # if __cpp_lib_clamp != 201603L 956 # error "__cpp_lib_clamp should have the value 201603L in c++17" 957 # endif 958 959 # ifndef __cpp_lib_complex_udls 960 # error "__cpp_lib_complex_udls should be defined in c++17" 961 # endif 962 # if __cpp_lib_complex_udls != 201309L 963 # error "__cpp_lib_complex_udls should have the value 201309L in c++17" 964 # endif 965 966 # ifdef __cpp_lib_concepts 967 # error "__cpp_lib_concepts should not be defined before c++2a" 968 # endif 969 970 # ifdef __cpp_lib_constexpr_misc 971 # error "__cpp_lib_constexpr_misc should not be defined before c++2a" 972 # endif 973 974 # ifdef __cpp_lib_constexpr_swap_algorithms 975 # error "__cpp_lib_constexpr_swap_algorithms should not be defined before c++2a" 976 # endif 977 978 # ifdef __cpp_lib_destroying_delete 979 # error "__cpp_lib_destroying_delete should not be defined before c++2a" 980 # endif 981 982 # ifndef __cpp_lib_enable_shared_from_this 983 # error "__cpp_lib_enable_shared_from_this should be defined in c++17" 984 # endif 985 # if __cpp_lib_enable_shared_from_this != 201603L 986 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17" 987 # endif 988 989 # ifdef __cpp_lib_erase_if 990 # error "__cpp_lib_erase_if should not be defined before c++2a" 991 # endif 992 993 # ifndef __cpp_lib_exchange_function 994 # error "__cpp_lib_exchange_function should be defined in c++17" 995 # endif 996 # if __cpp_lib_exchange_function != 201304L 997 # error "__cpp_lib_exchange_function should have the value 201304L in c++17" 998 # endif 999 1000 # if !defined(_LIBCPP_VERSION) 1001 # ifndef __cpp_lib_execution 1002 # error "__cpp_lib_execution should be defined in c++17" 1003 # endif 1004 # if __cpp_lib_execution != 201603L 1005 # error "__cpp_lib_execution should have the value 201603L in c++17" 1006 # endif 1007 # else // _LIBCPP_VERSION 1008 # ifdef __cpp_lib_execution 1009 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!" 1010 # endif 1011 # endif 1012 1013 # ifndef __cpp_lib_filesystem 1014 # error "__cpp_lib_filesystem should be defined in c++17" 1015 # endif 1016 # if __cpp_lib_filesystem != 201703L 1017 # error "__cpp_lib_filesystem should have the value 201703L in c++17" 1018 # endif 1019 1020 # ifndef __cpp_lib_gcd_lcm 1021 # error "__cpp_lib_gcd_lcm should be defined in c++17" 1022 # endif 1023 # if __cpp_lib_gcd_lcm != 201606L 1024 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++17" 1025 # endif 1026 1027 # ifndef __cpp_lib_generic_associative_lookup 1028 # error "__cpp_lib_generic_associative_lookup should be defined in c++17" 1029 # endif 1030 # if __cpp_lib_generic_associative_lookup != 201304L 1031 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17" 1032 # endif 1033 1034 # ifdef __cpp_lib_generic_unordered_lookup 1035 # error "__cpp_lib_generic_unordered_lookup should not be defined before c++2a" 1036 # endif 1037 1038 # ifndef __cpp_lib_hardware_interference_size 1039 # error "__cpp_lib_hardware_interference_size should be defined in c++17" 1040 # endif 1041 # if __cpp_lib_hardware_interference_size != 201703L 1042 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17" 1043 # endif 1044 1045 # if TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700 1046 # ifndef __cpp_lib_has_unique_object_representations 1047 # error "__cpp_lib_has_unique_object_representations should be defined in c++17" 1048 # endif 1049 # if __cpp_lib_has_unique_object_representations != 201606L 1050 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17" 1051 # endif 1052 # else 1053 # ifdef __cpp_lib_has_unique_object_representations 1054 # error "__cpp_lib_has_unique_object_representations should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700 is not defined!" 1055 # endif 1056 # endif 1057 1058 # ifndef __cpp_lib_hypot 1059 # error "__cpp_lib_hypot should be defined in c++17" 1060 # endif 1061 # if __cpp_lib_hypot != 201603L 1062 # error "__cpp_lib_hypot should have the value 201603L in c++17" 1063 # endif 1064 1065 # ifndef __cpp_lib_incomplete_container_elements 1066 # error "__cpp_lib_incomplete_container_elements should be defined in c++17" 1067 # endif 1068 # if __cpp_lib_incomplete_container_elements != 201505L 1069 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17" 1070 # endif 1071 1072 # ifndef __cpp_lib_integer_sequence 1073 # error "__cpp_lib_integer_sequence should be defined in c++17" 1074 # endif 1075 # if __cpp_lib_integer_sequence != 201304L 1076 # error "__cpp_lib_integer_sequence should have the value 201304L in c++17" 1077 # endif 1078 1079 # ifndef __cpp_lib_integral_constant_callable 1080 # error "__cpp_lib_integral_constant_callable should be defined in c++17" 1081 # endif 1082 # if __cpp_lib_integral_constant_callable != 201304L 1083 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17" 1084 # endif 1085 1086 # ifndef __cpp_lib_invoke 1087 # error "__cpp_lib_invoke should be defined in c++17" 1088 # endif 1089 # if __cpp_lib_invoke != 201411L 1090 # error "__cpp_lib_invoke should have the value 201411L in c++17" 1091 # endif 1092 1093 # if TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001 1094 # ifndef __cpp_lib_is_aggregate 1095 # error "__cpp_lib_is_aggregate should be defined in c++17" 1096 # endif 1097 # if __cpp_lib_is_aggregate != 201703L 1098 # error "__cpp_lib_is_aggregate should have the value 201703L in c++17" 1099 # endif 1100 # else 1101 # ifdef __cpp_lib_is_aggregate 1102 # error "__cpp_lib_is_aggregate should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001 is not defined!" 1103 # endif 1104 # endif 1105 1106 # ifdef __cpp_lib_is_constant_evaluated 1107 # error "__cpp_lib_is_constant_evaluated should not be defined before c++2a" 1108 # endif 1109 1110 # ifndef __cpp_lib_is_final 1111 # error "__cpp_lib_is_final should be defined in c++17" 1112 # endif 1113 # if __cpp_lib_is_final != 201402L 1114 # error "__cpp_lib_is_final should have the value 201402L in c++17" 1115 # endif 1116 1117 # ifndef __cpp_lib_is_invocable 1118 # error "__cpp_lib_is_invocable should be defined in c++17" 1119 # endif 1120 # if __cpp_lib_is_invocable != 201703L 1121 # error "__cpp_lib_is_invocable should have the value 201703L in c++17" 1122 # endif 1123 1124 # ifndef __cpp_lib_is_null_pointer 1125 # error "__cpp_lib_is_null_pointer should be defined in c++17" 1126 # endif 1127 # if __cpp_lib_is_null_pointer != 201309L 1128 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++17" 1129 # endif 1130 1131 # ifndef __cpp_lib_is_swappable 1132 # error "__cpp_lib_is_swappable should be defined in c++17" 1133 # endif 1134 # if __cpp_lib_is_swappable != 201603L 1135 # error "__cpp_lib_is_swappable should have the value 201603L in c++17" 1136 # endif 1137 1138 # ifndef __cpp_lib_launder 1139 # error "__cpp_lib_launder should be defined in c++17" 1140 # endif 1141 # if __cpp_lib_launder != 201606L 1142 # error "__cpp_lib_launder should have the value 201606L in c++17" 1143 # endif 1144 1145 # ifdef __cpp_lib_list_remove_return_type 1146 # error "__cpp_lib_list_remove_return_type should not be defined before c++2a" 1147 # endif 1148 1149 # ifndef __cpp_lib_logical_traits 1150 # error "__cpp_lib_logical_traits should be defined in c++17" 1151 # endif 1152 # if __cpp_lib_logical_traits != 201510L 1153 # error "__cpp_lib_logical_traits should have the value 201510L in c++17" 1154 # endif 1155 1156 # ifndef __cpp_lib_make_from_tuple 1157 # error "__cpp_lib_make_from_tuple should be defined in c++17" 1158 # endif 1159 # if __cpp_lib_make_from_tuple != 201606L 1160 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++17" 1161 # endif 1162 1163 # ifndef __cpp_lib_make_reverse_iterator 1164 # error "__cpp_lib_make_reverse_iterator should be defined in c++17" 1165 # endif 1166 # if __cpp_lib_make_reverse_iterator != 201402L 1167 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17" 1168 # endif 1169 1170 # ifndef __cpp_lib_make_unique 1171 # error "__cpp_lib_make_unique should be defined in c++17" 1172 # endif 1173 # if __cpp_lib_make_unique != 201304L 1174 # error "__cpp_lib_make_unique should have the value 201304L in c++17" 1175 # endif 1176 1177 # ifndef __cpp_lib_map_try_emplace 1178 # error "__cpp_lib_map_try_emplace should be defined in c++17" 1179 # endif 1180 # if __cpp_lib_map_try_emplace != 201411L 1181 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++17" 1182 # endif 1183 1184 # if !defined(_LIBCPP_VERSION) 1185 # ifndef __cpp_lib_math_special_functions 1186 # error "__cpp_lib_math_special_functions should be defined in c++17" 1187 # endif 1188 # if __cpp_lib_math_special_functions != 201603L 1189 # error "__cpp_lib_math_special_functions should have the value 201603L in c++17" 1190 # endif 1191 # else // _LIBCPP_VERSION 1192 # ifdef __cpp_lib_math_special_functions 1193 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!" 1194 # endif 1195 # endif 1196 1197 # if !defined(_LIBCPP_VERSION) 1198 # ifndef __cpp_lib_memory_resource 1199 # error "__cpp_lib_memory_resource should be defined in c++17" 1200 # endif 1201 # if __cpp_lib_memory_resource != 201603L 1202 # error "__cpp_lib_memory_resource should have the value 201603L in c++17" 1203 # endif 1204 # else // _LIBCPP_VERSION 1205 # ifdef __cpp_lib_memory_resource 1206 # error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!" 1207 # endif 1208 # endif 1209 1210 # ifndef __cpp_lib_node_extract 1211 # error "__cpp_lib_node_extract should be defined in c++17" 1212 # endif 1213 # if __cpp_lib_node_extract != 201606L 1214 # error "__cpp_lib_node_extract should have the value 201606L in c++17" 1215 # endif 1216 1217 # ifndef __cpp_lib_nonmember_container_access 1218 # error "__cpp_lib_nonmember_container_access should be defined in c++17" 1219 # endif 1220 # if __cpp_lib_nonmember_container_access != 201411L 1221 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17" 1222 # endif 1223 1224 # ifndef __cpp_lib_not_fn 1225 # error "__cpp_lib_not_fn should be defined in c++17" 1226 # endif 1227 # if __cpp_lib_not_fn != 201603L 1228 # error "__cpp_lib_not_fn should have the value 201603L in c++17" 1229 # endif 1230 1231 # ifndef __cpp_lib_null_iterators 1232 # error "__cpp_lib_null_iterators should be defined in c++17" 1233 # endif 1234 # if __cpp_lib_null_iterators != 201304L 1235 # error "__cpp_lib_null_iterators should have the value 201304L in c++17" 1236 # endif 1237 1238 # ifndef __cpp_lib_optional 1239 # error "__cpp_lib_optional should be defined in c++17" 1240 # endif 1241 # if __cpp_lib_optional != 201606L 1242 # error "__cpp_lib_optional should have the value 201606L in c++17" 1243 # endif 1244 1245 # if !defined(_LIBCPP_VERSION) 1246 # ifndef __cpp_lib_parallel_algorithm 1247 # error "__cpp_lib_parallel_algorithm should be defined in c++17" 1248 # endif 1249 # if __cpp_lib_parallel_algorithm != 201603L 1250 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17" 1251 # endif 1252 # else // _LIBCPP_VERSION 1253 # ifdef __cpp_lib_parallel_algorithm 1254 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!" 1255 # endif 1256 # endif 1257 1258 # ifndef __cpp_lib_quoted_string_io 1259 # error "__cpp_lib_quoted_string_io should be defined in c++17" 1260 # endif 1261 # if __cpp_lib_quoted_string_io != 201304L 1262 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++17" 1263 # endif 1264 1265 # ifdef __cpp_lib_ranges 1266 # error "__cpp_lib_ranges should not be defined before c++2a" 1267 # endif 1268 1269 # ifndef __cpp_lib_raw_memory_algorithms 1270 # error "__cpp_lib_raw_memory_algorithms should be defined in c++17" 1271 # endif 1272 # if __cpp_lib_raw_memory_algorithms != 201606L 1273 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17" 1274 # endif 1275 1276 # ifndef __cpp_lib_result_of_sfinae 1277 # error "__cpp_lib_result_of_sfinae should be defined in c++17" 1278 # endif 1279 # if __cpp_lib_result_of_sfinae != 201210L 1280 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17" 1281 # endif 1282 1283 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 1284 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17" 1285 # endif 1286 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 1287 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17" 1288 # endif 1289 1290 # ifndef __cpp_lib_sample 1291 # error "__cpp_lib_sample should be defined in c++17" 1292 # endif 1293 # if __cpp_lib_sample != 201603L 1294 # error "__cpp_lib_sample should have the value 201603L in c++17" 1295 # endif 1296 1297 # ifndef __cpp_lib_scoped_lock 1298 # error "__cpp_lib_scoped_lock should be defined in c++17" 1299 # endif 1300 # if __cpp_lib_scoped_lock != 201703L 1301 # error "__cpp_lib_scoped_lock should have the value 201703L in c++17" 1302 # endif 1303 1304 # if !defined(_LIBCPP_HAS_NO_THREADS) 1305 # ifndef __cpp_lib_shared_mutex 1306 # error "__cpp_lib_shared_mutex should be defined in c++17" 1307 # endif 1308 # if __cpp_lib_shared_mutex != 201505L 1309 # error "__cpp_lib_shared_mutex should have the value 201505L in c++17" 1310 # endif 1311 # else 1312 # ifdef __cpp_lib_shared_mutex 1313 # error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!" 1314 # endif 1315 # endif 1316 1317 # if !defined(_LIBCPP_VERSION) 1318 # ifndef __cpp_lib_shared_ptr_arrays 1319 # error "__cpp_lib_shared_ptr_arrays should be defined in c++17" 1320 # endif 1321 # if __cpp_lib_shared_ptr_arrays != 201611L 1322 # error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17" 1323 # endif 1324 # else // _LIBCPP_VERSION 1325 # ifdef __cpp_lib_shared_ptr_arrays 1326 # error "__cpp_lib_shared_ptr_arrays should not be defined because it is unimplemented in libc++!" 1327 # endif 1328 # endif 1329 1330 # ifndef __cpp_lib_shared_ptr_weak_type 1331 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++17" 1332 # endif 1333 # if __cpp_lib_shared_ptr_weak_type != 201606L 1334 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17" 1335 # endif 1336 1337 # if !defined(_LIBCPP_HAS_NO_THREADS) 1338 # ifndef __cpp_lib_shared_timed_mutex 1339 # error "__cpp_lib_shared_timed_mutex should be defined in c++17" 1340 # endif 1341 # if __cpp_lib_shared_timed_mutex != 201402L 1342 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17" 1343 # endif 1344 # else 1345 # ifdef __cpp_lib_shared_timed_mutex 1346 # error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!" 1347 # endif 1348 # endif 1349 1350 # ifndef __cpp_lib_string_udls 1351 # error "__cpp_lib_string_udls should be defined in c++17" 1352 # endif 1353 # if __cpp_lib_string_udls != 201304L 1354 # error "__cpp_lib_string_udls should have the value 201304L in c++17" 1355 # endif 1356 1357 # ifndef __cpp_lib_string_view 1358 # error "__cpp_lib_string_view should be defined in c++17" 1359 # endif 1360 # if __cpp_lib_string_view != 201606L 1361 # error "__cpp_lib_string_view should have the value 201606L in c++17" 1362 # endif 1363 1364 # ifdef __cpp_lib_three_way_comparison 1365 # error "__cpp_lib_three_way_comparison should not be defined before c++2a" 1366 # endif 1367 1368 # if !defined(_LIBCPP_VERSION) 1369 # ifndef __cpp_lib_to_chars 1370 # error "__cpp_lib_to_chars should be defined in c++17" 1371 # endif 1372 # if __cpp_lib_to_chars != 201611L 1373 # error "__cpp_lib_to_chars should have the value 201611L in c++17" 1374 # endif 1375 # else // _LIBCPP_VERSION 1376 # ifdef __cpp_lib_to_chars 1377 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!" 1378 # endif 1379 # endif 1380 1381 # ifndef __cpp_lib_transformation_trait_aliases 1382 # error "__cpp_lib_transformation_trait_aliases should be defined in c++17" 1383 # endif 1384 # if __cpp_lib_transformation_trait_aliases != 201304L 1385 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17" 1386 # endif 1387 1388 # ifndef __cpp_lib_transparent_operators 1389 # error "__cpp_lib_transparent_operators should be defined in c++17" 1390 # endif 1391 # if __cpp_lib_transparent_operators != 201510L 1392 # error "__cpp_lib_transparent_operators should have the value 201510L in c++17" 1393 # endif 1394 1395 # ifndef __cpp_lib_tuple_element_t 1396 # error "__cpp_lib_tuple_element_t should be defined in c++17" 1397 # endif 1398 # if __cpp_lib_tuple_element_t != 201402L 1399 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++17" 1400 # endif 1401 1402 # ifndef __cpp_lib_tuples_by_type 1403 # error "__cpp_lib_tuples_by_type should be defined in c++17" 1404 # endif 1405 # if __cpp_lib_tuples_by_type != 201304L 1406 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++17" 1407 # endif 1408 1409 # ifndef __cpp_lib_type_trait_variable_templates 1410 # error "__cpp_lib_type_trait_variable_templates should be defined in c++17" 1411 # endif 1412 # if __cpp_lib_type_trait_variable_templates != 201510L 1413 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17" 1414 # endif 1415 1416 # ifndef __cpp_lib_uncaught_exceptions 1417 # error "__cpp_lib_uncaught_exceptions should be defined in c++17" 1418 # endif 1419 # if __cpp_lib_uncaught_exceptions != 201411L 1420 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17" 1421 # endif 1422 1423 # ifndef __cpp_lib_unordered_map_try_emplace 1424 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++17" 1425 # endif 1426 # if __cpp_lib_unordered_map_try_emplace != 201411L 1427 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17" 1428 # endif 1429 1430 # ifndef __cpp_lib_variant 1431 # error "__cpp_lib_variant should be defined in c++17" 1432 # endif 1433 # if __cpp_lib_variant != 201606L 1434 # error "__cpp_lib_variant should have the value 201606L in c++17" 1435 # endif 1436 1437 # ifndef __cpp_lib_void_t 1438 # error "__cpp_lib_void_t should be defined in c++17" 1439 # endif 1440 # if __cpp_lib_void_t != 201411L 1441 # error "__cpp_lib_void_t should have the value 201411L in c++17" 1442 # endif 1443 1444 #elif TEST_STD_VER > 17 1445 1446 # if TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700 1447 # ifndef __cpp_lib_addressof_constexpr 1448 # error "__cpp_lib_addressof_constexpr should be defined in c++2a" 1449 # endif 1450 # if __cpp_lib_addressof_constexpr != 201603L 1451 # error "__cpp_lib_addressof_constexpr should have the value 201603L in c++2a" 1452 # endif 1453 # else 1454 # ifdef __cpp_lib_addressof_constexpr 1455 # error "__cpp_lib_addressof_constexpr should not be defined when TEST_HAS_BUILTIN(__builtin_addressof) || TEST_GCC_VER >= 700 is not defined!" 1456 # endif 1457 # endif 1458 1459 # ifndef __cpp_lib_allocator_traits_is_always_equal 1460 # error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++2a" 1461 # endif 1462 # if __cpp_lib_allocator_traits_is_always_equal != 201411L 1463 # error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++2a" 1464 # endif 1465 1466 # ifndef __cpp_lib_any 1467 # error "__cpp_lib_any should be defined in c++2a" 1468 # endif 1469 # if __cpp_lib_any != 201606L 1470 # error "__cpp_lib_any should have the value 201606L in c++2a" 1471 # endif 1472 1473 # ifndef __cpp_lib_apply 1474 # error "__cpp_lib_apply should be defined in c++2a" 1475 # endif 1476 # if __cpp_lib_apply != 201603L 1477 # error "__cpp_lib_apply should have the value 201603L in c++2a" 1478 # endif 1479 1480 # ifndef __cpp_lib_array_constexpr 1481 # error "__cpp_lib_array_constexpr should be defined in c++2a" 1482 # endif 1483 # if __cpp_lib_array_constexpr != 201603L 1484 # error "__cpp_lib_array_constexpr should have the value 201603L in c++2a" 1485 # endif 1486 1487 # ifndef __cpp_lib_as_const 1488 # error "__cpp_lib_as_const should be defined in c++2a" 1489 # endif 1490 # if __cpp_lib_as_const != 201510L 1491 # error "__cpp_lib_as_const should have the value 201510L in c++2a" 1492 # endif 1493 1494 # if !defined(_LIBCPP_HAS_NO_THREADS) 1495 # ifndef __cpp_lib_atomic_is_always_lock_free 1496 # error "__cpp_lib_atomic_is_always_lock_free should be defined in c++2a" 1497 # endif 1498 # if __cpp_lib_atomic_is_always_lock_free != 201603L 1499 # error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++2a" 1500 # endif 1501 # else 1502 # ifdef __cpp_lib_atomic_is_always_lock_free 1503 # error "__cpp_lib_atomic_is_always_lock_free should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!" 1504 # endif 1505 # endif 1506 1507 # if !defined(_LIBCPP_VERSION) 1508 # ifndef __cpp_lib_atomic_ref 1509 # error "__cpp_lib_atomic_ref should be defined in c++2a" 1510 # endif 1511 # if __cpp_lib_atomic_ref != 201806L 1512 # error "__cpp_lib_atomic_ref should have the value 201806L in c++2a" 1513 # endif 1514 # else // _LIBCPP_VERSION 1515 # ifdef __cpp_lib_atomic_ref 1516 # error "__cpp_lib_atomic_ref should not be defined because it is unimplemented in libc++!" 1517 # endif 1518 # endif 1519 1520 # if !defined(_LIBCPP_VERSION) 1521 # ifndef __cpp_lib_bind_front 1522 # error "__cpp_lib_bind_front should be defined in c++2a" 1523 # endif 1524 # if __cpp_lib_bind_front != 201811L 1525 # error "__cpp_lib_bind_front should have the value 201811L in c++2a" 1526 # endif 1527 # else // _LIBCPP_VERSION 1528 # ifdef __cpp_lib_bind_front 1529 # error "__cpp_lib_bind_front should not be defined because it is unimplemented in libc++!" 1530 # endif 1531 # endif 1532 1533 # if !defined(_LIBCPP_VERSION) 1534 # ifndef __cpp_lib_bit_cast 1535 # error "__cpp_lib_bit_cast should be defined in c++2a" 1536 # endif 1537 # if __cpp_lib_bit_cast != 201806L 1538 # error "__cpp_lib_bit_cast should have the value 201806L in c++2a" 1539 # endif 1540 # else // _LIBCPP_VERSION 1541 # ifdef __cpp_lib_bit_cast 1542 # error "__cpp_lib_bit_cast should not be defined because it is unimplemented in libc++!" 1543 # endif 1544 # endif 1545 1546 # ifndef __cpp_lib_bool_constant 1547 # error "__cpp_lib_bool_constant should be defined in c++2a" 1548 # endif 1549 # if __cpp_lib_bool_constant != 201505L 1550 # error "__cpp_lib_bool_constant should have the value 201505L in c++2a" 1551 # endif 1552 1553 # if !defined(_LIBCPP_VERSION) 1554 # ifndef __cpp_lib_boyer_moore_searcher 1555 # error "__cpp_lib_boyer_moore_searcher should be defined in c++2a" 1556 # endif 1557 # if __cpp_lib_boyer_moore_searcher != 201603L 1558 # error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++2a" 1559 # endif 1560 # else // _LIBCPP_VERSION 1561 # ifdef __cpp_lib_boyer_moore_searcher 1562 # error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!" 1563 # endif 1564 # endif 1565 1566 # ifndef __cpp_lib_byte 1567 # error "__cpp_lib_byte should be defined in c++2a" 1568 # endif 1569 # if __cpp_lib_byte != 201603L 1570 # error "__cpp_lib_byte should have the value 201603L in c++2a" 1571 # endif 1572 1573 # if defined(__cpp_char8_t) 1574 # ifndef __cpp_lib_char8_t 1575 # error "__cpp_lib_char8_t should be defined in c++2a" 1576 # endif 1577 # if __cpp_lib_char8_t != 201811L 1578 # error "__cpp_lib_char8_t should have the value 201811L in c++2a" 1579 # endif 1580 # else 1581 # ifdef __cpp_lib_char8_t 1582 # error "__cpp_lib_char8_t should not be defined when defined(__cpp_char8_t) is not defined!" 1583 # endif 1584 # endif 1585 1586 # ifndef __cpp_lib_chrono 1587 # error "__cpp_lib_chrono should be defined in c++2a" 1588 # endif 1589 # if __cpp_lib_chrono != 201611L 1590 # error "__cpp_lib_chrono should have the value 201611L in c++2a" 1591 # endif 1592 1593 # ifndef __cpp_lib_chrono_udls 1594 # error "__cpp_lib_chrono_udls should be defined in c++2a" 1595 # endif 1596 # if __cpp_lib_chrono_udls != 201304L 1597 # error "__cpp_lib_chrono_udls should have the value 201304L in c++2a" 1598 # endif 1599 1600 # ifndef __cpp_lib_clamp 1601 # error "__cpp_lib_clamp should be defined in c++2a" 1602 # endif 1603 # if __cpp_lib_clamp != 201603L 1604 # error "__cpp_lib_clamp should have the value 201603L in c++2a" 1605 # endif 1606 1607 # ifndef __cpp_lib_complex_udls 1608 # error "__cpp_lib_complex_udls should be defined in c++2a" 1609 # endif 1610 # if __cpp_lib_complex_udls != 201309L 1611 # error "__cpp_lib_complex_udls should have the value 201309L in c++2a" 1612 # endif 1613 1614 # if !defined(_LIBCPP_VERSION) 1615 # ifndef __cpp_lib_concepts 1616 # error "__cpp_lib_concepts should be defined in c++2a" 1617 # endif 1618 # if __cpp_lib_concepts != 201806L 1619 # error "__cpp_lib_concepts should have the value 201806L in c++2a" 1620 # endif 1621 # else // _LIBCPP_VERSION 1622 # ifdef __cpp_lib_concepts 1623 # error "__cpp_lib_concepts should not be defined because it is unimplemented in libc++!" 1624 # endif 1625 # endif 1626 1627 # if !defined(_LIBCPP_VERSION) 1628 # ifndef __cpp_lib_constexpr_misc 1629 # error "__cpp_lib_constexpr_misc should be defined in c++2a" 1630 # endif 1631 # if __cpp_lib_constexpr_misc != 201811L 1632 # error "__cpp_lib_constexpr_misc should have the value 201811L in c++2a" 1633 # endif 1634 # else // _LIBCPP_VERSION 1635 # ifdef __cpp_lib_constexpr_misc 1636 # error "__cpp_lib_constexpr_misc should not be defined because it is unimplemented in libc++!" 1637 # endif 1638 # endif 1639 1640 # if !defined(_LIBCPP_VERSION) 1641 # ifndef __cpp_lib_constexpr_swap_algorithms 1642 # error "__cpp_lib_constexpr_swap_algorithms should be defined in c++2a" 1643 # endif 1644 # if __cpp_lib_constexpr_swap_algorithms != 201806L 1645 # error "__cpp_lib_constexpr_swap_algorithms should have the value 201806L in c++2a" 1646 # endif 1647 # else // _LIBCPP_VERSION 1648 # ifdef __cpp_lib_constexpr_swap_algorithms 1649 # error "__cpp_lib_constexpr_swap_algorithms should not be defined because it is unimplemented in libc++!" 1650 # endif 1651 # endif 1652 1653 # if !defined(_LIBCPP_VERSION) 1654 # ifndef __cpp_lib_destroying_delete 1655 # error "__cpp_lib_destroying_delete should be defined in c++2a" 1656 # endif 1657 # if __cpp_lib_destroying_delete != 201806L 1658 # error "__cpp_lib_destroying_delete should have the value 201806L in c++2a" 1659 # endif 1660 # else // _LIBCPP_VERSION 1661 # ifdef __cpp_lib_destroying_delete 1662 # error "__cpp_lib_destroying_delete should not be defined because it is unimplemented in libc++!" 1663 # endif 1664 # endif 1665 1666 # ifndef __cpp_lib_enable_shared_from_this 1667 # error "__cpp_lib_enable_shared_from_this should be defined in c++2a" 1668 # endif 1669 # if __cpp_lib_enable_shared_from_this != 201603L 1670 # error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++2a" 1671 # endif 1672 1673 # ifndef __cpp_lib_erase_if 1674 # error "__cpp_lib_erase_if should be defined in c++2a" 1675 # endif 1676 # if __cpp_lib_erase_if != 201811L 1677 # error "__cpp_lib_erase_if should have the value 201811L in c++2a" 1678 # endif 1679 1680 # ifndef __cpp_lib_exchange_function 1681 # error "__cpp_lib_exchange_function should be defined in c++2a" 1682 # endif 1683 # if __cpp_lib_exchange_function != 201304L 1684 # error "__cpp_lib_exchange_function should have the value 201304L in c++2a" 1685 # endif 1686 1687 # if !defined(_LIBCPP_VERSION) 1688 # ifndef __cpp_lib_execution 1689 # error "__cpp_lib_execution should be defined in c++2a" 1690 # endif 1691 # if __cpp_lib_execution != 201603L 1692 # error "__cpp_lib_execution should have the value 201603L in c++2a" 1693 # endif 1694 # else // _LIBCPP_VERSION 1695 # ifdef __cpp_lib_execution 1696 # error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!" 1697 # endif 1698 # endif 1699 1700 # ifndef __cpp_lib_filesystem 1701 # error "__cpp_lib_filesystem should be defined in c++2a" 1702 # endif 1703 # if __cpp_lib_filesystem != 201703L 1704 # error "__cpp_lib_filesystem should have the value 201703L in c++2a" 1705 # endif 1706 1707 # ifndef __cpp_lib_gcd_lcm 1708 # error "__cpp_lib_gcd_lcm should be defined in c++2a" 1709 # endif 1710 # if __cpp_lib_gcd_lcm != 201606L 1711 # error "__cpp_lib_gcd_lcm should have the value 201606L in c++2a" 1712 # endif 1713 1714 # ifndef __cpp_lib_generic_associative_lookup 1715 # error "__cpp_lib_generic_associative_lookup should be defined in c++2a" 1716 # endif 1717 # if __cpp_lib_generic_associative_lookup != 201304L 1718 # error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++2a" 1719 # endif 1720 1721 # if !defined(_LIBCPP_VERSION) 1722 # ifndef __cpp_lib_generic_unordered_lookup 1723 # error "__cpp_lib_generic_unordered_lookup should be defined in c++2a" 1724 # endif 1725 # if __cpp_lib_generic_unordered_lookup != 201811L 1726 # error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++2a" 1727 # endif 1728 # else // _LIBCPP_VERSION 1729 # ifdef __cpp_lib_generic_unordered_lookup 1730 # error "__cpp_lib_generic_unordered_lookup should not be defined because it is unimplemented in libc++!" 1731 # endif 1732 # endif 1733 1734 # ifndef __cpp_lib_hardware_interference_size 1735 # error "__cpp_lib_hardware_interference_size should be defined in c++2a" 1736 # endif 1737 # if __cpp_lib_hardware_interference_size != 201703L 1738 # error "__cpp_lib_hardware_interference_size should have the value 201703L in c++2a" 1739 # endif 1740 1741 # if TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700 1742 # ifndef __cpp_lib_has_unique_object_representations 1743 # error "__cpp_lib_has_unique_object_representations should be defined in c++2a" 1744 # endif 1745 # if __cpp_lib_has_unique_object_representations != 201606L 1746 # error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++2a" 1747 # endif 1748 # else 1749 # ifdef __cpp_lib_has_unique_object_representations 1750 # error "__cpp_lib_has_unique_object_representations should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__has_unique_object_representations) || TEST_GCC_VER >= 700 is not defined!" 1751 # endif 1752 # endif 1753 1754 # ifndef __cpp_lib_hypot 1755 # error "__cpp_lib_hypot should be defined in c++2a" 1756 # endif 1757 # if __cpp_lib_hypot != 201603L 1758 # error "__cpp_lib_hypot should have the value 201603L in c++2a" 1759 # endif 1760 1761 # ifndef __cpp_lib_incomplete_container_elements 1762 # error "__cpp_lib_incomplete_container_elements should be defined in c++2a" 1763 # endif 1764 # if __cpp_lib_incomplete_container_elements != 201505L 1765 # error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++2a" 1766 # endif 1767 1768 # ifndef __cpp_lib_integer_sequence 1769 # error "__cpp_lib_integer_sequence should be defined in c++2a" 1770 # endif 1771 # if __cpp_lib_integer_sequence != 201304L 1772 # error "__cpp_lib_integer_sequence should have the value 201304L in c++2a" 1773 # endif 1774 1775 # ifndef __cpp_lib_integral_constant_callable 1776 # error "__cpp_lib_integral_constant_callable should be defined in c++2a" 1777 # endif 1778 # if __cpp_lib_integral_constant_callable != 201304L 1779 # error "__cpp_lib_integral_constant_callable should have the value 201304L in c++2a" 1780 # endif 1781 1782 # ifndef __cpp_lib_invoke 1783 # error "__cpp_lib_invoke should be defined in c++2a" 1784 # endif 1785 # if __cpp_lib_invoke != 201411L 1786 # error "__cpp_lib_invoke should have the value 201411L in c++2a" 1787 # endif 1788 1789 # if TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001 1790 # ifndef __cpp_lib_is_aggregate 1791 # error "__cpp_lib_is_aggregate should be defined in c++2a" 1792 # endif 1793 # if __cpp_lib_is_aggregate != 201703L 1794 # error "__cpp_lib_is_aggregate should have the value 201703L in c++2a" 1795 # endif 1796 # else 1797 # ifdef __cpp_lib_is_aggregate 1798 # error "__cpp_lib_is_aggregate should not be defined when TEST_HAS_BUILTIN_IDENTIFIER(__is_aggregate) || TEST_GCC_VER_NEW >= 7001 is not defined!" 1799 # endif 1800 # endif 1801 1802 # if !defined(_LIBCPP_VERSION) 1803 # ifndef __cpp_lib_is_constant_evaluated 1804 # error "__cpp_lib_is_constant_evaluated should be defined in c++2a" 1805 # endif 1806 # if __cpp_lib_is_constant_evaluated != 201811L 1807 # error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++2a" 1808 # endif 1809 # else // _LIBCPP_VERSION 1810 # ifdef __cpp_lib_is_constant_evaluated 1811 # error "__cpp_lib_is_constant_evaluated should not be defined because it is unimplemented in libc++!" 1812 # endif 1813 # endif 1814 1815 # ifndef __cpp_lib_is_final 1816 # error "__cpp_lib_is_final should be defined in c++2a" 1817 # endif 1818 # if __cpp_lib_is_final != 201402L 1819 # error "__cpp_lib_is_final should have the value 201402L in c++2a" 1820 # endif 1821 1822 # ifndef __cpp_lib_is_invocable 1823 # error "__cpp_lib_is_invocable should be defined in c++2a" 1824 # endif 1825 # if __cpp_lib_is_invocable != 201703L 1826 # error "__cpp_lib_is_invocable should have the value 201703L in c++2a" 1827 # endif 1828 1829 # ifndef __cpp_lib_is_null_pointer 1830 # error "__cpp_lib_is_null_pointer should be defined in c++2a" 1831 # endif 1832 # if __cpp_lib_is_null_pointer != 201309L 1833 # error "__cpp_lib_is_null_pointer should have the value 201309L in c++2a" 1834 # endif 1835 1836 # ifndef __cpp_lib_is_swappable 1837 # error "__cpp_lib_is_swappable should be defined in c++2a" 1838 # endif 1839 # if __cpp_lib_is_swappable != 201603L 1840 # error "__cpp_lib_is_swappable should have the value 201603L in c++2a" 1841 # endif 1842 1843 # ifndef __cpp_lib_launder 1844 # error "__cpp_lib_launder should be defined in c++2a" 1845 # endif 1846 # if __cpp_lib_launder != 201606L 1847 # error "__cpp_lib_launder should have the value 201606L in c++2a" 1848 # endif 1849 1850 # if !defined(_LIBCPP_VERSION) 1851 # ifndef __cpp_lib_list_remove_return_type 1852 # error "__cpp_lib_list_remove_return_type should be defined in c++2a" 1853 # endif 1854 # if __cpp_lib_list_remove_return_type != 201806L 1855 # error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2a" 1856 # endif 1857 # else // _LIBCPP_VERSION 1858 # ifdef __cpp_lib_list_remove_return_type 1859 # error "__cpp_lib_list_remove_return_type should not be defined because it is unimplemented in libc++!" 1860 # endif 1861 # endif 1862 1863 # ifndef __cpp_lib_logical_traits 1864 # error "__cpp_lib_logical_traits should be defined in c++2a" 1865 # endif 1866 # if __cpp_lib_logical_traits != 201510L 1867 # error "__cpp_lib_logical_traits should have the value 201510L in c++2a" 1868 # endif 1869 1870 # ifndef __cpp_lib_make_from_tuple 1871 # error "__cpp_lib_make_from_tuple should be defined in c++2a" 1872 # endif 1873 # if __cpp_lib_make_from_tuple != 201606L 1874 # error "__cpp_lib_make_from_tuple should have the value 201606L in c++2a" 1875 # endif 1876 1877 # ifndef __cpp_lib_make_reverse_iterator 1878 # error "__cpp_lib_make_reverse_iterator should be defined in c++2a" 1879 # endif 1880 # if __cpp_lib_make_reverse_iterator != 201402L 1881 # error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++2a" 1882 # endif 1883 1884 # ifndef __cpp_lib_make_unique 1885 # error "__cpp_lib_make_unique should be defined in c++2a" 1886 # endif 1887 # if __cpp_lib_make_unique != 201304L 1888 # error "__cpp_lib_make_unique should have the value 201304L in c++2a" 1889 # endif 1890 1891 # ifndef __cpp_lib_map_try_emplace 1892 # error "__cpp_lib_map_try_emplace should be defined in c++2a" 1893 # endif 1894 # if __cpp_lib_map_try_emplace != 201411L 1895 # error "__cpp_lib_map_try_emplace should have the value 201411L in c++2a" 1896 # endif 1897 1898 # if !defined(_LIBCPP_VERSION) 1899 # ifndef __cpp_lib_math_special_functions 1900 # error "__cpp_lib_math_special_functions should be defined in c++2a" 1901 # endif 1902 # if __cpp_lib_math_special_functions != 201603L 1903 # error "__cpp_lib_math_special_functions should have the value 201603L in c++2a" 1904 # endif 1905 # else // _LIBCPP_VERSION 1906 # ifdef __cpp_lib_math_special_functions 1907 # error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!" 1908 # endif 1909 # endif 1910 1911 # if !defined(_LIBCPP_VERSION) 1912 # ifndef __cpp_lib_memory_resource 1913 # error "__cpp_lib_memory_resource should be defined in c++2a" 1914 # endif 1915 # if __cpp_lib_memory_resource != 201603L 1916 # error "__cpp_lib_memory_resource should have the value 201603L in c++2a" 1917 # endif 1918 # else // _LIBCPP_VERSION 1919 # ifdef __cpp_lib_memory_resource 1920 # error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!" 1921 # endif 1922 # endif 1923 1924 # ifndef __cpp_lib_node_extract 1925 # error "__cpp_lib_node_extract should be defined in c++2a" 1926 # endif 1927 # if __cpp_lib_node_extract != 201606L 1928 # error "__cpp_lib_node_extract should have the value 201606L in c++2a" 1929 # endif 1930 1931 # ifndef __cpp_lib_nonmember_container_access 1932 # error "__cpp_lib_nonmember_container_access should be defined in c++2a" 1933 # endif 1934 # if __cpp_lib_nonmember_container_access != 201411L 1935 # error "__cpp_lib_nonmember_container_access should have the value 201411L in c++2a" 1936 # endif 1937 1938 # ifndef __cpp_lib_not_fn 1939 # error "__cpp_lib_not_fn should be defined in c++2a" 1940 # endif 1941 # if __cpp_lib_not_fn != 201603L 1942 # error "__cpp_lib_not_fn should have the value 201603L in c++2a" 1943 # endif 1944 1945 # ifndef __cpp_lib_null_iterators 1946 # error "__cpp_lib_null_iterators should be defined in c++2a" 1947 # endif 1948 # if __cpp_lib_null_iterators != 201304L 1949 # error "__cpp_lib_null_iterators should have the value 201304L in c++2a" 1950 # endif 1951 1952 # ifndef __cpp_lib_optional 1953 # error "__cpp_lib_optional should be defined in c++2a" 1954 # endif 1955 # if __cpp_lib_optional != 201606L 1956 # error "__cpp_lib_optional should have the value 201606L in c++2a" 1957 # endif 1958 1959 # if !defined(_LIBCPP_VERSION) 1960 # ifndef __cpp_lib_parallel_algorithm 1961 # error "__cpp_lib_parallel_algorithm should be defined in c++2a" 1962 # endif 1963 # if __cpp_lib_parallel_algorithm != 201603L 1964 # error "__cpp_lib_parallel_algorithm should have the value 201603L in c++2a" 1965 # endif 1966 # else // _LIBCPP_VERSION 1967 # ifdef __cpp_lib_parallel_algorithm 1968 # error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!" 1969 # endif 1970 # endif 1971 1972 # ifndef __cpp_lib_quoted_string_io 1973 # error "__cpp_lib_quoted_string_io should be defined in c++2a" 1974 # endif 1975 # if __cpp_lib_quoted_string_io != 201304L 1976 # error "__cpp_lib_quoted_string_io should have the value 201304L in c++2a" 1977 # endif 1978 1979 # if !defined(_LIBCPP_VERSION) 1980 # ifndef __cpp_lib_ranges 1981 # error "__cpp_lib_ranges should be defined in c++2a" 1982 # endif 1983 # if __cpp_lib_ranges != 201811L 1984 # error "__cpp_lib_ranges should have the value 201811L in c++2a" 1985 # endif 1986 # else // _LIBCPP_VERSION 1987 # ifdef __cpp_lib_ranges 1988 # error "__cpp_lib_ranges should not be defined because it is unimplemented in libc++!" 1989 # endif 1990 # endif 1991 1992 # ifndef __cpp_lib_raw_memory_algorithms 1993 # error "__cpp_lib_raw_memory_algorithms should be defined in c++2a" 1994 # endif 1995 # if __cpp_lib_raw_memory_algorithms != 201606L 1996 # error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++2a" 1997 # endif 1998 1999 # ifndef __cpp_lib_result_of_sfinae 2000 # error "__cpp_lib_result_of_sfinae should be defined in c++2a" 2001 # endif 2002 # if __cpp_lib_result_of_sfinae != 201210L 2003 # error "__cpp_lib_result_of_sfinae should have the value 201210L in c++2a" 2004 # endif 2005 2006 # ifndef __cpp_lib_robust_nonmodifying_seq_ops 2007 # error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++2a" 2008 # endif 2009 # if __cpp_lib_robust_nonmodifying_seq_ops != 201304L 2010 # error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++2a" 2011 # endif 2012 2013 # ifndef __cpp_lib_sample 2014 # error "__cpp_lib_sample should be defined in c++2a" 2015 # endif 2016 # if __cpp_lib_sample != 201603L 2017 # error "__cpp_lib_sample should have the value 201603L in c++2a" 2018 # endif 2019 2020 # ifndef __cpp_lib_scoped_lock 2021 # error "__cpp_lib_scoped_lock should be defined in c++2a" 2022 # endif 2023 # if __cpp_lib_scoped_lock != 201703L 2024 # error "__cpp_lib_scoped_lock should have the value 201703L in c++2a" 2025 # endif 2026 2027 # if !defined(_LIBCPP_HAS_NO_THREADS) 2028 # ifndef __cpp_lib_shared_mutex 2029 # error "__cpp_lib_shared_mutex should be defined in c++2a" 2030 # endif 2031 # if __cpp_lib_shared_mutex != 201505L 2032 # error "__cpp_lib_shared_mutex should have the value 201505L in c++2a" 2033 # endif 2034 # else 2035 # ifdef __cpp_lib_shared_mutex 2036 # error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!" 2037 # endif 2038 # endif 2039 2040 # if !defined(_LIBCPP_VERSION) 2041 # ifndef __cpp_lib_shared_ptr_arrays 2042 # error "__cpp_lib_shared_ptr_arrays should be defined in c++2a" 2043 # endif 2044 # if __cpp_lib_shared_ptr_arrays != 201611L 2045 # error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++2a" 2046 # endif 2047 # else // _LIBCPP_VERSION 2048 # ifdef __cpp_lib_shared_ptr_arrays 2049 # error "__cpp_lib_shared_ptr_arrays should not be defined because it is unimplemented in libc++!" 2050 # endif 2051 # endif 2052 2053 # ifndef __cpp_lib_shared_ptr_weak_type 2054 # error "__cpp_lib_shared_ptr_weak_type should be defined in c++2a" 2055 # endif 2056 # if __cpp_lib_shared_ptr_weak_type != 201606L 2057 # error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++2a" 2058 # endif 2059 2060 # if !defined(_LIBCPP_HAS_NO_THREADS) 2061 # ifndef __cpp_lib_shared_timed_mutex 2062 # error "__cpp_lib_shared_timed_mutex should be defined in c++2a" 2063 # endif 2064 # if __cpp_lib_shared_timed_mutex != 201402L 2065 # error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++2a" 2066 # endif 2067 # else 2068 # ifdef __cpp_lib_shared_timed_mutex 2069 # error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) is not defined!" 2070 # endif 2071 # endif 2072 2073 # ifndef __cpp_lib_string_udls 2074 # error "__cpp_lib_string_udls should be defined in c++2a" 2075 # endif 2076 # if __cpp_lib_string_udls != 201304L 2077 # error "__cpp_lib_string_udls should have the value 201304L in c++2a" 2078 # endif 2079 2080 # ifndef __cpp_lib_string_view 2081 # error "__cpp_lib_string_view should be defined in c++2a" 2082 # endif 2083 # if __cpp_lib_string_view != 201606L 2084 # error "__cpp_lib_string_view should have the value 201606L in c++2a" 2085 # endif 2086 2087 # if !defined(_LIBCPP_VERSION) 2088 # ifndef __cpp_lib_three_way_comparison 2089 # error "__cpp_lib_three_way_comparison should be defined in c++2a" 2090 # endif 2091 # if __cpp_lib_three_way_comparison != 201711L 2092 # error "__cpp_lib_three_way_comparison should have the value 201711L in c++2a" 2093 # endif 2094 # else // _LIBCPP_VERSION 2095 # ifdef __cpp_lib_three_way_comparison 2096 # error "__cpp_lib_three_way_comparison should not be defined because it is unimplemented in libc++!" 2097 # endif 2098 # endif 2099 2100 # if !defined(_LIBCPP_VERSION) 2101 # ifndef __cpp_lib_to_chars 2102 # error "__cpp_lib_to_chars should be defined in c++2a" 2103 # endif 2104 # if __cpp_lib_to_chars != 201611L 2105 # error "__cpp_lib_to_chars should have the value 201611L in c++2a" 2106 # endif 2107 # else // _LIBCPP_VERSION 2108 # ifdef __cpp_lib_to_chars 2109 # error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!" 2110 # endif 2111 # endif 2112 2113 # ifndef __cpp_lib_transformation_trait_aliases 2114 # error "__cpp_lib_transformation_trait_aliases should be defined in c++2a" 2115 # endif 2116 # if __cpp_lib_transformation_trait_aliases != 201304L 2117 # error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++2a" 2118 # endif 2119 2120 # ifndef __cpp_lib_transparent_operators 2121 # error "__cpp_lib_transparent_operators should be defined in c++2a" 2122 # endif 2123 # if __cpp_lib_transparent_operators != 201510L 2124 # error "__cpp_lib_transparent_operators should have the value 201510L in c++2a" 2125 # endif 2126 2127 # ifndef __cpp_lib_tuple_element_t 2128 # error "__cpp_lib_tuple_element_t should be defined in c++2a" 2129 # endif 2130 # if __cpp_lib_tuple_element_t != 201402L 2131 # error "__cpp_lib_tuple_element_t should have the value 201402L in c++2a" 2132 # endif 2133 2134 # ifndef __cpp_lib_tuples_by_type 2135 # error "__cpp_lib_tuples_by_type should be defined in c++2a" 2136 # endif 2137 # if __cpp_lib_tuples_by_type != 201304L 2138 # error "__cpp_lib_tuples_by_type should have the value 201304L in c++2a" 2139 # endif 2140 2141 # ifndef __cpp_lib_type_trait_variable_templates 2142 # error "__cpp_lib_type_trait_variable_templates should be defined in c++2a" 2143 # endif 2144 # if __cpp_lib_type_trait_variable_templates != 201510L 2145 # error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++2a" 2146 # endif 2147 2148 # ifndef __cpp_lib_uncaught_exceptions 2149 # error "__cpp_lib_uncaught_exceptions should be defined in c++2a" 2150 # endif 2151 # if __cpp_lib_uncaught_exceptions != 201411L 2152 # error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++2a" 2153 # endif 2154 2155 # ifndef __cpp_lib_unordered_map_try_emplace 2156 # error "__cpp_lib_unordered_map_try_emplace should be defined in c++2a" 2157 # endif 2158 # if __cpp_lib_unordered_map_try_emplace != 201411L 2159 # error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++2a" 2160 # endif 2161 2162 # ifndef __cpp_lib_variant 2163 # error "__cpp_lib_variant should be defined in c++2a" 2164 # endif 2165 # if __cpp_lib_variant != 201606L 2166 # error "__cpp_lib_variant should have the value 201606L in c++2a" 2167 # endif 2168 2169 # ifndef __cpp_lib_void_t 2170 # error "__cpp_lib_void_t should be defined in c++2a" 2171 # endif 2172 # if __cpp_lib_void_t != 201411L 2173 # error "__cpp_lib_void_t should have the value 201411L in c++2a" 2174 # endif 2175 2176 #endif // TEST_STD_VER > 17 2177 2178 int main() {}