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

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