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