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