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