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