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

source code of libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp