//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// WARNING: This test was generated by generate_feature_test_macro_components.py
// and should not be edited manually.
//
// clang-format off

// <version>

// Test the feature test macros defined by <version>

/*  Constant                                       Value
    __cpp_lib_adaptor_iterator_pair_constructor    202106L [C++2b]
    __cpp_lib_addressof_constexpr                  201603L [C++17]
    __cpp_lib_allocate_at_least                    202106L [C++2b]
    __cpp_lib_allocator_traits_is_always_equal     201411L [C++17]
    __cpp_lib_any                                  201606L [C++17]
    __cpp_lib_apply                                201603L [C++17]
    __cpp_lib_array_constexpr                      201603L [C++17]
                                                   201811L [C++20]
    __cpp_lib_as_const                             201510L [C++17]
    __cpp_lib_associative_heterogeneous_erasure    202110L [C++2b]
    __cpp_lib_assume_aligned                       201811L [C++20]
    __cpp_lib_atomic_flag_test                     201907L [C++20]
    __cpp_lib_atomic_float                         201711L [C++20]
    __cpp_lib_atomic_is_always_lock_free           201603L [C++17]
    __cpp_lib_atomic_lock_free_type_aliases        201907L [C++20]
    __cpp_lib_atomic_ref                           201806L [C++20]
    __cpp_lib_atomic_shared_ptr                    201711L [C++20]
    __cpp_lib_atomic_value_initialization          201911L [C++20]
    __cpp_lib_atomic_wait                          201907L [C++20]
    __cpp_lib_barrier                              201907L [C++20]
    __cpp_lib_bind_back                            202202L [C++2b]
    __cpp_lib_bind_front                           201907L [C++20]
    __cpp_lib_bit_cast                             201806L [C++20]
    __cpp_lib_bitops                               201907L [C++20]
    __cpp_lib_bool_constant                        201505L [C++17]
    __cpp_lib_bounded_array_traits                 201902L [C++20]
    __cpp_lib_boyer_moore_searcher                 201603L [C++17]
    __cpp_lib_byte                                 201603L [C++17]
    __cpp_lib_byteswap                             202110L [C++2b]
    __cpp_lib_char8_t                              201811L [C++20]
    __cpp_lib_chrono                               201611L [C++17]
    __cpp_lib_chrono_udls                          201304L [C++14]
    __cpp_lib_clamp                                201603L [C++17]
    __cpp_lib_complex_udls                         201309L [C++14]
    __cpp_lib_concepts                             202002L [C++20]
    __cpp_lib_constexpr_algorithms                 201806L [C++20]
    __cpp_lib_constexpr_cmath                      202202L [C++2b]
    __cpp_lib_constexpr_complex                    201711L [C++20]
    __cpp_lib_constexpr_dynamic_alloc              201907L [C++20]
    __cpp_lib_constexpr_functional                 201907L [C++20]
    __cpp_lib_constexpr_iterator                   201811L [C++20]
    __cpp_lib_constexpr_memory                     201811L [C++20]
    __cpp_lib_constexpr_numeric                    201911L [C++20]
    __cpp_lib_constexpr_string                     201811L [C++20]
    __cpp_lib_constexpr_string_view                201811L [C++20]
    __cpp_lib_constexpr_tuple                      201811L [C++20]
    __cpp_lib_constexpr_typeinfo                   202106L [C++2b]
    __cpp_lib_constexpr_utility                    201811L [C++20]
    __cpp_lib_constexpr_vector                     201907L [C++20]
    __cpp_lib_coroutine                            201902L [C++20]
    __cpp_lib_destroying_delete                    201806L [C++20]
    __cpp_lib_enable_shared_from_this              201603L [C++17]
    __cpp_lib_endian                               201907L [C++20]
    __cpp_lib_erase_if                             202002L [C++20]
    __cpp_lib_exchange_function                    201304L [C++14]
    __cpp_lib_execution                            201603L [C++17]
                                                   201902L [C++20]
    __cpp_lib_filesystem                           201703L [C++17]
    __cpp_lib_format                               202106L [C++20]
    __cpp_lib_gcd_lcm                              201606L [C++17]
    __cpp_lib_generic_associative_lookup           201304L [C++14]
    __cpp_lib_generic_unordered_lookup             201811L [C++20]
    __cpp_lib_hardware_interference_size           201703L [C++17]
    __cpp_lib_has_unique_object_representations    201606L [C++17]
    __cpp_lib_hypot                                201603L [C++17]
    __cpp_lib_incomplete_container_elements        201505L [C++17]
    __cpp_lib_int_pow2                             202002L [C++20]
    __cpp_lib_integer_comparison_functions         202002L [C++20]
    __cpp_lib_integer_sequence                     201304L [C++14]
    __cpp_lib_integral_constant_callable           201304L [C++14]
    __cpp_lib_interpolate                          201902L [C++20]
    __cpp_lib_invoke                               201411L [C++17]
    __cpp_lib_invoke_r                             202106L [C++2b]
    __cpp_lib_is_aggregate                         201703L [C++17]
    __cpp_lib_is_constant_evaluated                201811L [C++20]
    __cpp_lib_is_final                             201402L [C++14]
    __cpp_lib_is_invocable                         201703L [C++17]
    __cpp_lib_is_layout_compatible                 201907L [C++20]
    __cpp_lib_is_nothrow_convertible               201806L [C++20]
    __cpp_lib_is_null_pointer                      201309L [C++14]
    __cpp_lib_is_pointer_interconvertible          201907L [C++20]
    __cpp_lib_is_scoped_enum                       202011L [C++2b]
    __cpp_lib_is_swappable                         201603L [C++17]
    __cpp_lib_jthread                              201911L [C++20]
    __cpp_lib_latch                                201907L [C++20]
    __cpp_lib_launder                              201606L [C++17]
    __cpp_lib_list_remove_return_type              201806L [C++20]
    __cpp_lib_logical_traits                       201510L [C++17]
    __cpp_lib_make_from_tuple                      201606L [C++17]
    __cpp_lib_make_reverse_iterator                201402L [C++14]
    __cpp_lib_make_unique                          201304L [C++14]
    __cpp_lib_map_try_emplace                      201411L [C++17]
    __cpp_lib_math_constants                       201907L [C++20]
    __cpp_lib_math_special_functions               201603L [C++17]
    __cpp_lib_memory_resource                      201603L [C++17]
    __cpp_lib_monadic_optional                     202110L [C++2b]
    __cpp_lib_move_only_function                   202110L [C++2b]
    __cpp_lib_node_extract                         201606L [C++17]
    __cpp_lib_nonmember_container_access           201411L [C++17]
    __cpp_lib_not_fn                               201603L [C++17]
    __cpp_lib_null_iterators                       201304L [C++14]
    __cpp_lib_optional                             201606L [C++17]
    __cpp_lib_out_ptr                              202106L [C++2b]
    __cpp_lib_parallel_algorithm                   201603L [C++17]
    __cpp_lib_polymorphic_allocator                201902L [C++20]
    __cpp_lib_quoted_string_io                     201304L [C++14]
    __cpp_lib_ranges                               201811L [C++20]
    __cpp_lib_ranges_chunk                         202202L [C++2b]
    __cpp_lib_ranges_chunk_by                      202202L [C++2b]
    __cpp_lib_ranges_iota                          202202L [C++2b]
    __cpp_lib_ranges_join_with                     202202L [C++2b]
    __cpp_lib_ranges_slide                         202202L [C++2b]
    __cpp_lib_ranges_starts_ends_with              202106L [C++2b]
    __cpp_lib_ranges_to_container                  202202L [C++2b]
    __cpp_lib_ranges_zip                           202110L [C++2b]
    __cpp_lib_raw_memory_algorithms                201606L [C++17]
    __cpp_lib_reference_from_temporary             202202L [C++2b]
    __cpp_lib_remove_cvref                         201711L [C++20]
    __cpp_lib_result_of_sfinae                     201210L [C++14]
    __cpp_lib_robust_nonmodifying_seq_ops          201304L [C++14]
    __cpp_lib_sample                               201603L [C++17]
    __cpp_lib_scoped_lock                          201703L [C++17]
    __cpp_lib_semaphore                            201907L [C++20]
    __cpp_lib_shared_mutex                         201505L [C++17]
    __cpp_lib_shared_ptr_arrays                    201611L [C++17]
    __cpp_lib_shared_ptr_weak_type                 201606L [C++17]
    __cpp_lib_shared_timed_mutex                   201402L [C++14]
    __cpp_lib_shift                                201806L [C++20]
    __cpp_lib_smart_ptr_for_overwrite              202002L [C++20]
    __cpp_lib_source_location                      201907L [C++20]
    __cpp_lib_span                                 202002L [C++20]
    __cpp_lib_spanstream                           202106L [C++2b]
    __cpp_lib_ssize                                201902L [C++20]
    __cpp_lib_stacktrace                           202011L [C++2b]
    __cpp_lib_starts_ends_with                     201711L [C++20]
    __cpp_lib_stdatomic_h                          202011L [C++2b]
    __cpp_lib_string_contains                      202011L [C++2b]
    __cpp_lib_string_resize_and_overwrite          202110L [C++2b]
    __cpp_lib_string_udls                          201304L [C++14]
    __cpp_lib_string_view                          201606L [C++17]
                                                   201803L [C++20]
    __cpp_lib_syncbuf                              201803L [C++20]
    __cpp_lib_three_way_comparison                 201907L [C++20]
    __cpp_lib_to_address                           201711L [C++20]
    __cpp_lib_to_array                             201907L [C++20]
    __cpp_lib_to_chars                             201611L [C++17]
    __cpp_lib_to_underlying                        202102L [C++2b]
    __cpp_lib_transformation_trait_aliases         201304L [C++14]
    __cpp_lib_transparent_operators                201210L [C++14]
                                                   201510L [C++17]
    __cpp_lib_tuple_element_t                      201402L [C++14]
    __cpp_lib_tuples_by_type                       201304L [C++14]
    __cpp_lib_type_identity                        201806L [C++20]
    __cpp_lib_type_trait_variable_templates        201510L [C++17]
    __cpp_lib_uncaught_exceptions                  201411L [C++17]
    __cpp_lib_unordered_map_try_emplace            201411L [C++17]
    __cpp_lib_unreachable                          202202L [C++2b]
    __cpp_lib_unwrap_ref                           201811L [C++20]
    __cpp_lib_variant                              202102L [C++17]
    __cpp_lib_void_t                               201411L [C++17]
*/

#include <version>
#include "test_macros.h"

#if TEST_STD_VER < 14

# ifdef __cpp_lib_adaptor_iterator_pair_constructor
#   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++2b"
# endif

# ifdef __cpp_lib_addressof_constexpr
#   error "__cpp_lib_addressof_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_allocate_at_least
#   error "__cpp_lib_allocate_at_least should not be defined before c++2b"
# endif

# ifdef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
# endif

# ifdef __cpp_lib_any
#   error "__cpp_lib_any should not be defined before c++17"
# endif

# ifdef __cpp_lib_apply
#   error "__cpp_lib_apply should not be defined before c++17"
# endif

# ifdef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_as_const
#   error "__cpp_lib_as_const should not be defined before c++17"
# endif

# ifdef __cpp_lib_associative_heterogeneous_erasure
#   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++2b"
# endif

# ifdef __cpp_lib_assume_aligned
#   error "__cpp_lib_assume_aligned should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_float
#   error "__cpp_lib_atomic_float should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_is_always_lock_free
#   error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
# endif

# ifdef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_ref
#   error "__cpp_lib_atomic_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_shared_ptr
#   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_wait
#   error "__cpp_lib_atomic_wait should not be defined before c++20"
# endif

# ifdef __cpp_lib_barrier
#   error "__cpp_lib_barrier should not be defined before c++20"
# endif

# ifdef __cpp_lib_bind_back
#   error "__cpp_lib_bind_back should not be defined before c++2b"
# endif

# ifdef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should not be defined before c++20"
# endif

# ifdef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should not be defined before c++20"
# endif

# ifdef __cpp_lib_bitops
#   error "__cpp_lib_bitops should not be defined before c++20"
# endif

# ifdef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should not be defined before c++17"
# endif

# ifdef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
# endif

# ifdef __cpp_lib_boyer_moore_searcher
#   error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
# endif

# ifdef __cpp_lib_byte
#   error "__cpp_lib_byte should not be defined before c++17"
# endif

# ifdef __cpp_lib_byteswap
#   error "__cpp_lib_byteswap should not be defined before c++2b"
# endif

# ifdef __cpp_lib_char8_t
#   error "__cpp_lib_char8_t should not be defined before c++20"
# endif

# ifdef __cpp_lib_chrono
#   error "__cpp_lib_chrono should not be defined before c++17"
# endif

# ifdef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should not be defined before c++14"
# endif

# ifdef __cpp_lib_clamp
#   error "__cpp_lib_clamp should not be defined before c++17"
# endif

# ifdef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should not be defined before c++14"
# endif

# ifdef __cpp_lib_concepts
#   error "__cpp_lib_concepts should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_cmath
#   error "__cpp_lib_constexpr_cmath should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_complex
#   error "__cpp_lib_constexpr_complex should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_typeinfo
#   error "__cpp_lib_constexpr_typeinfo should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_vector
#   error "__cpp_lib_constexpr_vector should not be defined before c++20"
# endif

# ifdef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should not be defined before c++20"
# endif

# ifdef __cpp_lib_destroying_delete
#   error "__cpp_lib_destroying_delete should not be defined before c++20"
# endif

# ifdef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
# endif

# ifdef __cpp_lib_endian
#   error "__cpp_lib_endian should not be defined before c++20"
# endif

# ifdef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should not be defined before c++20"
# endif

# ifdef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should not be defined before c++14"
# endif

# ifdef __cpp_lib_execution
#   error "__cpp_lib_execution should not be defined before c++17"
# endif

# ifdef __cpp_lib_filesystem
#   error "__cpp_lib_filesystem should not be defined before c++17"
# endif

# ifdef __cpp_lib_format
#   error "__cpp_lib_format should not be defined before c++20"
# endif

# ifdef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should not be defined before c++17"
# endif

# ifdef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should not be defined before c++14"
# endif

# ifdef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
# endif

# ifdef __cpp_lib_hardware_interference_size
#   error "__cpp_lib_hardware_interference_size should not be defined before c++17"
# endif

# ifdef __cpp_lib_has_unique_object_representations
#   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
# endif

# ifdef __cpp_lib_hypot
#   error "__cpp_lib_hypot should not be defined before c++17"
# endif

# ifdef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
# endif

# ifdef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_comparison_functions
#   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should not be defined before c++14"
# endif

# ifdef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should not be defined before c++14"
# endif

# ifdef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should not be defined before c++20"
# endif

# ifdef __cpp_lib_invoke
#   error "__cpp_lib_invoke should not be defined before c++17"
# endif

# ifdef __cpp_lib_invoke_r
#   error "__cpp_lib_invoke_r should not be defined before c++2b"
# endif

# ifdef __cpp_lib_is_aggregate
#   error "__cpp_lib_is_aggregate should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_final
#   error "__cpp_lib_is_final should not be defined before c++14"
# endif

# ifdef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_layout_compatible
#   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should not be defined before c++14"
# endif

# ifdef __cpp_lib_is_pointer_interconvertible
#   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifdef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should not be defined before c++17"
# endif

# ifdef __cpp_lib_jthread
#   error "__cpp_lib_jthread should not be defined before c++20"
# endif

# ifdef __cpp_lib_latch
#   error "__cpp_lib_latch should not be defined before c++20"
# endif

# ifdef __cpp_lib_launder
#   error "__cpp_lib_launder should not be defined before c++17"
# endif

# ifdef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
# endif

# ifdef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should not be defined before c++17"
# endif

# ifdef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should not be defined before c++17"
# endif

# ifdef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should not be defined before c++14"
# endif

# ifdef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should not be defined before c++14"
# endif

# ifdef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_math_constants
#   error "__cpp_lib_math_constants should not be defined before c++20"
# endif

# ifdef __cpp_lib_math_special_functions
#   error "__cpp_lib_math_special_functions should not be defined before c++17"
# endif

# ifdef __cpp_lib_memory_resource
#   error "__cpp_lib_memory_resource should not be defined before c++17"
# endif

# ifdef __cpp_lib_monadic_optional
#   error "__cpp_lib_monadic_optional should not be defined before c++2b"
# endif

# ifdef __cpp_lib_move_only_function
#   error "__cpp_lib_move_only_function should not be defined before c++2b"
# endif

# ifdef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should not be defined before c++17"
# endif

# ifdef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should not be defined before c++17"
# endif

# ifdef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should not be defined before c++17"
# endif

# ifdef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should not be defined before c++14"
# endif

# ifdef __cpp_lib_optional
#   error "__cpp_lib_optional should not be defined before c++17"
# endif

# ifdef __cpp_lib_out_ptr
#   error "__cpp_lib_out_ptr should not be defined before c++2b"
# endif

# ifdef __cpp_lib_parallel_algorithm
#   error "__cpp_lib_parallel_algorithm should not be defined before c++17"
# endif

# ifdef __cpp_lib_polymorphic_allocator
#   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
# endif

# ifdef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should not be defined before c++14"
# endif

# ifdef __cpp_lib_ranges
#   error "__cpp_lib_ranges should not be defined before c++20"
# endif

# ifdef __cpp_lib_ranges_chunk
#   error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_chunk_by
#   error "__cpp_lib_ranges_chunk_by should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_iota
#   error "__cpp_lib_ranges_iota should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_join_with
#   error "__cpp_lib_ranges_join_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_slide
#   error "__cpp_lib_ranges_slide should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_starts_ends_with
#   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_to_container
#   error "__cpp_lib_ranges_to_container should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_zip
#   error "__cpp_lib_ranges_zip should not be defined before c++2b"
# endif

# ifdef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
# endif

# ifdef __cpp_lib_reference_from_temporary
#   error "__cpp_lib_reference_from_temporary should not be defined before c++2b"
# endif

# ifdef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should not be defined before c++20"
# endif

# ifdef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should not be defined before c++14"
# endif

# ifdef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should not be defined before c++14"
# endif

# ifdef __cpp_lib_sample
#   error "__cpp_lib_sample should not be defined before c++17"
# endif

# ifdef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should not be defined before c++17"
# endif

# ifdef __cpp_lib_semaphore
#   error "__cpp_lib_semaphore should not be defined before c++20"
# endif

# ifdef __cpp_lib_shared_mutex
#   error "__cpp_lib_shared_mutex should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_timed_mutex
#   error "__cpp_lib_shared_timed_mutex should not be defined before c++14"
# endif

# ifdef __cpp_lib_shift
#   error "__cpp_lib_shift should not be defined before c++20"
# endif

# ifdef __cpp_lib_smart_ptr_for_overwrite
#   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
# endif

# ifdef __cpp_lib_source_location
#   error "__cpp_lib_source_location should not be defined before c++20"
# endif

# ifdef __cpp_lib_span
#   error "__cpp_lib_span should not be defined before c++20"
# endif

# ifdef __cpp_lib_spanstream
#   error "__cpp_lib_spanstream should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ssize
#   error "__cpp_lib_ssize should not be defined before c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifdef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should not be defined before c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_resize_and_overwrite
#   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should not be defined before c++14"
# endif

# ifdef __cpp_lib_string_view
#   error "__cpp_lib_string_view should not be defined before c++17"
# endif

# ifdef __cpp_lib_syncbuf
#   error "__cpp_lib_syncbuf should not be defined before c++20"
# endif

# ifdef __cpp_lib_three_way_comparison
#   error "__cpp_lib_three_way_comparison should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_address
#   error "__cpp_lib_to_address should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_array
#   error "__cpp_lib_to_array should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_chars
#   error "__cpp_lib_to_chars should not be defined before c++17"
# endif

# ifdef __cpp_lib_to_underlying
#   error "__cpp_lib_to_underlying should not be defined before c++2b"
# endif

# ifdef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should not be defined before c++14"
# endif

# ifdef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should not be defined before c++14"
# endif

# ifdef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should not be defined before c++14"
# endif

# ifdef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should not be defined before c++14"
# endif

# ifdef __cpp_lib_type_identity
#   error "__cpp_lib_type_identity should not be defined before c++20"
# endif

# ifdef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
# endif

# ifdef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
# endif

# ifdef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_unreachable
#   error "__cpp_lib_unreachable should not be defined before c++2b"
# endif

# ifdef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_variant
#   error "__cpp_lib_variant should not be defined before c++17"
# endif

# ifdef __cpp_lib_void_t
#   error "__cpp_lib_void_t should not be defined before c++17"
# endif

#elif TEST_STD_VER == 14

# ifdef __cpp_lib_adaptor_iterator_pair_constructor
#   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++2b"
# endif

# ifdef __cpp_lib_addressof_constexpr
#   error "__cpp_lib_addressof_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_allocate_at_least
#   error "__cpp_lib_allocate_at_least should not be defined before c++2b"
# endif

# ifdef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should not be defined before c++17"
# endif

# ifdef __cpp_lib_any
#   error "__cpp_lib_any should not be defined before c++17"
# endif

# ifdef __cpp_lib_apply
#   error "__cpp_lib_apply should not be defined before c++17"
# endif

# ifdef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should not be defined before c++17"
# endif

# ifdef __cpp_lib_as_const
#   error "__cpp_lib_as_const should not be defined before c++17"
# endif

# ifdef __cpp_lib_associative_heterogeneous_erasure
#   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++2b"
# endif

# ifdef __cpp_lib_assume_aligned
#   error "__cpp_lib_assume_aligned should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_float
#   error "__cpp_lib_atomic_float should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_is_always_lock_free
#   error "__cpp_lib_atomic_is_always_lock_free should not be defined before c++17"
# endif

# ifdef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_ref
#   error "__cpp_lib_atomic_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_shared_ptr
#   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_wait
#   error "__cpp_lib_atomic_wait should not be defined before c++20"
# endif

# ifdef __cpp_lib_barrier
#   error "__cpp_lib_barrier should not be defined before c++20"
# endif

# ifdef __cpp_lib_bind_back
#   error "__cpp_lib_bind_back should not be defined before c++2b"
# endif

# ifdef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should not be defined before c++20"
# endif

# ifdef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should not be defined before c++20"
# endif

# ifdef __cpp_lib_bitops
#   error "__cpp_lib_bitops should not be defined before c++20"
# endif

# ifdef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should not be defined before c++17"
# endif

# ifdef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
# endif

# ifdef __cpp_lib_boyer_moore_searcher
#   error "__cpp_lib_boyer_moore_searcher should not be defined before c++17"
# endif

# ifdef __cpp_lib_byte
#   error "__cpp_lib_byte should not be defined before c++17"
# endif

# ifdef __cpp_lib_byteswap
#   error "__cpp_lib_byteswap should not be defined before c++2b"
# endif

# ifdef __cpp_lib_char8_t
#   error "__cpp_lib_char8_t should not be defined before c++20"
# endif

# ifdef __cpp_lib_chrono
#   error "__cpp_lib_chrono should not be defined before c++17"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++14"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_clamp
#   error "__cpp_lib_clamp should not be defined before c++17"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++14"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++14"
# endif

# ifdef __cpp_lib_concepts
#   error "__cpp_lib_concepts should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_cmath
#   error "__cpp_lib_constexpr_cmath should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_complex
#   error "__cpp_lib_constexpr_complex should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_typeinfo
#   error "__cpp_lib_constexpr_typeinfo should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_vector
#   error "__cpp_lib_constexpr_vector should not be defined before c++20"
# endif

# ifdef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should not be defined before c++20"
# endif

# ifdef __cpp_lib_destroying_delete
#   error "__cpp_lib_destroying_delete should not be defined before c++20"
# endif

# ifdef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should not be defined before c++17"
# endif

# ifdef __cpp_lib_endian
#   error "__cpp_lib_endian should not be defined before c++20"
# endif

# ifdef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should not be defined before c++20"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++14"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_execution
#   error "__cpp_lib_execution should not be defined before c++17"
# endif

# ifdef __cpp_lib_filesystem
#   error "__cpp_lib_filesystem should not be defined before c++17"
# endif

# ifdef __cpp_lib_format
#   error "__cpp_lib_format should not be defined before c++20"
# endif

# ifdef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should not be defined before c++17"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++14"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
# endif

# ifdef __cpp_lib_hardware_interference_size
#   error "__cpp_lib_hardware_interference_size should not be defined before c++17"
# endif

# ifdef __cpp_lib_has_unique_object_representations
#   error "__cpp_lib_has_unique_object_representations should not be defined before c++17"
# endif

# ifdef __cpp_lib_hypot
#   error "__cpp_lib_hypot should not be defined before c++17"
# endif

# ifdef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should not be defined before c++17"
# endif

# ifdef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_comparison_functions
#   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++14"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++14"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++14"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should not be defined before c++20"
# endif

# ifdef __cpp_lib_invoke
#   error "__cpp_lib_invoke should not be defined before c++17"
# endif

# ifdef __cpp_lib_invoke_r
#   error "__cpp_lib_invoke_r should not be defined before c++2b"
# endif

# ifdef __cpp_lib_is_aggregate
#   error "__cpp_lib_is_aggregate should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++14"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++14"
# endif

# ifdef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should not be defined before c++17"
# endif

# ifdef __cpp_lib_is_layout_compatible
#   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++14"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++14"
# endif

# ifdef __cpp_lib_is_pointer_interconvertible
#   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifdef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should not be defined before c++17"
# endif

# ifdef __cpp_lib_jthread
#   error "__cpp_lib_jthread should not be defined before c++20"
# endif

# ifdef __cpp_lib_latch
#   error "__cpp_lib_latch should not be defined before c++20"
# endif

# ifdef __cpp_lib_launder
#   error "__cpp_lib_launder should not be defined before c++17"
# endif

# ifdef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
# endif

# ifdef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should not be defined before c++17"
# endif

# ifdef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should not be defined before c++17"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++14"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++14"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++14"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_math_constants
#   error "__cpp_lib_math_constants should not be defined before c++20"
# endif

# ifdef __cpp_lib_math_special_functions
#   error "__cpp_lib_math_special_functions should not be defined before c++17"
# endif

# ifdef __cpp_lib_memory_resource
#   error "__cpp_lib_memory_resource should not be defined before c++17"
# endif

# ifdef __cpp_lib_monadic_optional
#   error "__cpp_lib_monadic_optional should not be defined before c++2b"
# endif

# ifdef __cpp_lib_move_only_function
#   error "__cpp_lib_move_only_function should not be defined before c++2b"
# endif

# ifdef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should not be defined before c++17"
# endif

# ifdef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should not be defined before c++17"
# endif

# ifdef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should not be defined before c++17"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++14"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_optional
#   error "__cpp_lib_optional should not be defined before c++17"
# endif

# ifdef __cpp_lib_out_ptr
#   error "__cpp_lib_out_ptr should not be defined before c++2b"
# endif

# ifdef __cpp_lib_parallel_algorithm
#   error "__cpp_lib_parallel_algorithm should not be defined before c++17"
# endif

# ifdef __cpp_lib_polymorphic_allocator
#   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++14"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_ranges
#   error "__cpp_lib_ranges should not be defined before c++20"
# endif

# ifdef __cpp_lib_ranges_chunk
#   error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_chunk_by
#   error "__cpp_lib_ranges_chunk_by should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_iota
#   error "__cpp_lib_ranges_iota should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_join_with
#   error "__cpp_lib_ranges_join_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_slide
#   error "__cpp_lib_ranges_slide should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_starts_ends_with
#   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_to_container
#   error "__cpp_lib_ranges_to_container should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_zip
#   error "__cpp_lib_ranges_zip should not be defined before c++2b"
# endif

# ifdef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should not be defined before c++17"
# endif

# ifdef __cpp_lib_reference_from_temporary
#   error "__cpp_lib_reference_from_temporary should not be defined before c++2b"
# endif

# ifdef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should not be defined before c++20"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++14"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++14"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++14"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_sample
#   error "__cpp_lib_sample should not be defined before c++17"
# endif

# ifdef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should not be defined before c++17"
# endif

# ifdef __cpp_lib_semaphore
#   error "__cpp_lib_semaphore should not be defined before c++20"
# endif

# ifdef __cpp_lib_shared_mutex
#   error "__cpp_lib_shared_mutex should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should not be defined before c++17"
# endif

# ifdef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should not be defined before c++17"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++14"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++14"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_shift
#   error "__cpp_lib_shift should not be defined before c++20"
# endif

# ifdef __cpp_lib_smart_ptr_for_overwrite
#   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
# endif

# ifdef __cpp_lib_source_location
#   error "__cpp_lib_source_location should not be defined before c++20"
# endif

# ifdef __cpp_lib_span
#   error "__cpp_lib_span should not be defined before c++20"
# endif

# ifdef __cpp_lib_spanstream
#   error "__cpp_lib_spanstream should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ssize
#   error "__cpp_lib_ssize should not be defined before c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifdef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should not be defined before c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_resize_and_overwrite
#   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++14"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_string_view
#   error "__cpp_lib_string_view should not be defined before c++17"
# endif

# ifdef __cpp_lib_syncbuf
#   error "__cpp_lib_syncbuf should not be defined before c++20"
# endif

# ifdef __cpp_lib_three_way_comparison
#   error "__cpp_lib_three_way_comparison should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_address
#   error "__cpp_lib_to_address should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_array
#   error "__cpp_lib_to_array should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_chars
#   error "__cpp_lib_to_chars should not be defined before c++17"
# endif

# ifdef __cpp_lib_to_underlying
#   error "__cpp_lib_to_underlying should not be defined before c++2b"
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++14"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++14"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++14"
# endif
# if __cpp_lib_transparent_operators != 201210L
#   error "__cpp_lib_transparent_operators should have the value 201210L in c++14"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++14"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++14"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++14"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++14"
# endif

# ifdef __cpp_lib_type_identity
#   error "__cpp_lib_type_identity should not be defined before c++20"
# endif

# ifdef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should not be defined before c++17"
# endif

# ifdef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should not be defined before c++17"
# endif

# ifdef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should not be defined before c++17"
# endif

# ifdef __cpp_lib_unreachable
#   error "__cpp_lib_unreachable should not be defined before c++2b"
# endif

# ifdef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_variant
#   error "__cpp_lib_variant should not be defined before c++17"
# endif

# ifdef __cpp_lib_void_t
#   error "__cpp_lib_void_t should not be defined before c++17"
# endif

#elif TEST_STD_VER == 17

# ifdef __cpp_lib_adaptor_iterator_pair_constructor
#   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++2b"
# endif

# ifndef __cpp_lib_addressof_constexpr
#   error "__cpp_lib_addressof_constexpr should be defined in c++17"
# endif
# if __cpp_lib_addressof_constexpr != 201603L
#   error "__cpp_lib_addressof_constexpr should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_allocate_at_least
#   error "__cpp_lib_allocate_at_least should not be defined before c++2b"
# endif

# ifndef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++17"
# endif
# if __cpp_lib_allocator_traits_is_always_equal != 201411L
#   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++17"
# endif

# ifndef __cpp_lib_any
#   error "__cpp_lib_any should be defined in c++17"
# endif
# if __cpp_lib_any != 201606L
#   error "__cpp_lib_any should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_apply
#   error "__cpp_lib_apply should be defined in c++17"
# endif
# if __cpp_lib_apply != 201603L
#   error "__cpp_lib_apply should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should be defined in c++17"
# endif
# if __cpp_lib_array_constexpr != 201603L
#   error "__cpp_lib_array_constexpr should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_as_const
#   error "__cpp_lib_as_const should be defined in c++17"
# endif
# if __cpp_lib_as_const != 201510L
#   error "__cpp_lib_as_const should have the value 201510L in c++17"
# endif

# ifdef __cpp_lib_associative_heterogeneous_erasure
#   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++2b"
# endif

# ifdef __cpp_lib_assume_aligned
#   error "__cpp_lib_assume_aligned should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_float
#   error "__cpp_lib_atomic_float should not be defined before c++20"
# endif

# ifndef __cpp_lib_atomic_is_always_lock_free
#   error "__cpp_lib_atomic_is_always_lock_free should be defined in c++17"
# endif
# if __cpp_lib_atomic_is_always_lock_free != 201603L
#   error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_ref
#   error "__cpp_lib_atomic_ref should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_shared_ptr
#   error "__cpp_lib_atomic_shared_ptr should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should not be defined before c++20"
# endif

# ifdef __cpp_lib_atomic_wait
#   error "__cpp_lib_atomic_wait should not be defined before c++20"
# endif

# ifdef __cpp_lib_barrier
#   error "__cpp_lib_barrier should not be defined before c++20"
# endif

# ifdef __cpp_lib_bind_back
#   error "__cpp_lib_bind_back should not be defined before c++2b"
# endif

# ifdef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should not be defined before c++20"
# endif

# ifdef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should not be defined before c++20"
# endif

# ifdef __cpp_lib_bitops
#   error "__cpp_lib_bitops should not be defined before c++20"
# endif

# ifndef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should be defined in c++17"
# endif
# if __cpp_lib_bool_constant != 201505L
#   error "__cpp_lib_bool_constant should have the value 201505L in c++17"
# endif

# ifdef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should be defined in c++17"
#   endif
#   if __cpp_lib_boyer_moore_searcher != 201603L
#     error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_byte
#   error "__cpp_lib_byte should be defined in c++17"
# endif
# if __cpp_lib_byte != 201603L
#   error "__cpp_lib_byte should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_byteswap
#   error "__cpp_lib_byteswap should not be defined before c++2b"
# endif

# ifdef __cpp_lib_char8_t
#   error "__cpp_lib_char8_t should not be defined before c++20"
# endif

# ifndef __cpp_lib_chrono
#   error "__cpp_lib_chrono should be defined in c++17"
# endif
# if __cpp_lib_chrono != 201611L
#   error "__cpp_lib_chrono should have the value 201611L in c++17"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++17"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_clamp
#   error "__cpp_lib_clamp should be defined in c++17"
# endif
# if __cpp_lib_clamp != 201603L
#   error "__cpp_lib_clamp should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++17"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++17"
# endif

# ifdef __cpp_lib_concepts
#   error "__cpp_lib_concepts should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_cmath
#   error "__cpp_lib_constexpr_cmath should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_complex
#   error "__cpp_lib_constexpr_complex should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_typeinfo
#   error "__cpp_lib_constexpr_typeinfo should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should not be defined before c++20"
# endif

# ifdef __cpp_lib_constexpr_vector
#   error "__cpp_lib_constexpr_vector should not be defined before c++20"
# endif

# ifdef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should not be defined before c++20"
# endif

# ifdef __cpp_lib_destroying_delete
#   error "__cpp_lib_destroying_delete should not be defined before c++20"
# endif

# ifndef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should be defined in c++17"
# endif
# if __cpp_lib_enable_shared_from_this != 201603L
#   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_endian
#   error "__cpp_lib_endian should not be defined before c++20"
# endif

# ifdef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should not be defined before c++20"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++17"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++17"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_execution
#     error "__cpp_lib_execution should be defined in c++17"
#   endif
#   if __cpp_lib_execution != 201603L
#     error "__cpp_lib_execution should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_execution
#     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem)
#   ifndef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should be defined in c++17"
#   endif
#   if __cpp_lib_filesystem != 201703L
#     error "__cpp_lib_filesystem should have the value 201703L in c++17"
#   endif
# else
#   ifdef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_format
#   error "__cpp_lib_format should not be defined before c++20"
# endif

# ifndef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should be defined in c++17"
# endif
# if __cpp_lib_gcd_lcm != 201606L
#   error "__cpp_lib_gcd_lcm should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++17"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++17"
# endif

# ifdef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should be defined in c++17"
#   endif
#   if __cpp_lib_hardware_interference_size != 201703L
#     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_has_unique_object_representations
#   error "__cpp_lib_has_unique_object_representations should be defined in c++17"
# endif
# if __cpp_lib_has_unique_object_representations != 201606L
#   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_hypot
#   error "__cpp_lib_hypot should be defined in c++17"
# endif
# if __cpp_lib_hypot != 201603L
#   error "__cpp_lib_hypot should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should be defined in c++17"
# endif
# if __cpp_lib_incomplete_container_elements != 201505L
#   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++17"
# endif

# ifdef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should not be defined before c++20"
# endif

# ifdef __cpp_lib_integer_comparison_functions
#   error "__cpp_lib_integer_comparison_functions should not be defined before c++20"
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++17"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++17"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++17"
# endif

# ifdef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should not be defined before c++20"
# endif

# ifndef __cpp_lib_invoke
#   error "__cpp_lib_invoke should be defined in c++17"
# endif
# if __cpp_lib_invoke != 201411L
#   error "__cpp_lib_invoke should have the value 201411L in c++17"
# endif

# ifdef __cpp_lib_invoke_r
#   error "__cpp_lib_invoke_r should not be defined before c++2b"
# endif

# ifndef __cpp_lib_is_aggregate
#   error "__cpp_lib_is_aggregate should be defined in c++17"
# endif
# if __cpp_lib_is_aggregate != 201703L
#   error "__cpp_lib_is_aggregate should have the value 201703L in c++17"
# endif

# ifdef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++17"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++17"
# endif

# ifndef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should be defined in c++17"
# endif
# if __cpp_lib_is_invocable != 201703L
#   error "__cpp_lib_is_invocable should have the value 201703L in c++17"
# endif

# ifdef __cpp_lib_is_layout_compatible
#   error "__cpp_lib_is_layout_compatible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should not be defined before c++20"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++17"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++17"
# endif

# ifdef __cpp_lib_is_pointer_interconvertible
#   error "__cpp_lib_is_pointer_interconvertible should not be defined before c++20"
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifndef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should be defined in c++17"
# endif
# if __cpp_lib_is_swappable != 201603L
#   error "__cpp_lib_is_swappable should have the value 201603L in c++17"
# endif

# ifdef __cpp_lib_jthread
#   error "__cpp_lib_jthread should not be defined before c++20"
# endif

# ifdef __cpp_lib_latch
#   error "__cpp_lib_latch should not be defined before c++20"
# endif

# ifndef __cpp_lib_launder
#   error "__cpp_lib_launder should be defined in c++17"
# endif
# if __cpp_lib_launder != 201606L
#   error "__cpp_lib_launder should have the value 201606L in c++17"
# endif

# ifdef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should not be defined before c++20"
# endif

# ifndef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should be defined in c++17"
# endif
# if __cpp_lib_logical_traits != 201510L
#   error "__cpp_lib_logical_traits should have the value 201510L in c++17"
# endif

# ifndef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should be defined in c++17"
# endif
# if __cpp_lib_make_from_tuple != 201606L
#   error "__cpp_lib_make_from_tuple should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++17"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++17"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++17"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should be defined in c++17"
# endif
# if __cpp_lib_map_try_emplace != 201411L
#   error "__cpp_lib_map_try_emplace should have the value 201411L in c++17"
# endif

# ifdef __cpp_lib_math_constants
#   error "__cpp_lib_math_constants should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should be defined in c++17"
#   endif
#   if __cpp_lib_math_special_functions != 201603L
#     error "__cpp_lib_math_special_functions should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should be defined in c++17"
#   endif
#   if __cpp_lib_memory_resource != 201603L
#     error "__cpp_lib_memory_resource should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_monadic_optional
#   error "__cpp_lib_monadic_optional should not be defined before c++2b"
# endif

# ifdef __cpp_lib_move_only_function
#   error "__cpp_lib_move_only_function should not be defined before c++2b"
# endif

# ifndef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should be defined in c++17"
# endif
# if __cpp_lib_node_extract != 201606L
#   error "__cpp_lib_node_extract should have the value 201606L in c++17"
# endif

# ifndef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should be defined in c++17"
# endif
# if __cpp_lib_nonmember_container_access != 201411L
#   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++17"
# endif

# ifndef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should be defined in c++17"
# endif
# if __cpp_lib_not_fn != 201603L
#   error "__cpp_lib_not_fn should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++17"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_optional
#   error "__cpp_lib_optional should be defined in c++17"
# endif
# if __cpp_lib_optional != 201606L
#   error "__cpp_lib_optional should have the value 201606L in c++17"
# endif

# ifdef __cpp_lib_out_ptr
#   error "__cpp_lib_out_ptr should not be defined before c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should be defined in c++17"
#   endif
#   if __cpp_lib_parallel_algorithm != 201603L
#     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_polymorphic_allocator
#   error "__cpp_lib_polymorphic_allocator should not be defined before c++20"
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++17"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++17"
# endif

# ifdef __cpp_lib_ranges
#   error "__cpp_lib_ranges should not be defined before c++20"
# endif

# ifdef __cpp_lib_ranges_chunk
#   error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_chunk_by
#   error "__cpp_lib_ranges_chunk_by should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_iota
#   error "__cpp_lib_ranges_iota should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_join_with
#   error "__cpp_lib_ranges_join_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_slide
#   error "__cpp_lib_ranges_slide should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_starts_ends_with
#   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_to_container
#   error "__cpp_lib_ranges_to_container should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_zip
#   error "__cpp_lib_ranges_zip should not be defined before c++2b"
# endif

# ifndef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should be defined in c++17"
# endif
# if __cpp_lib_raw_memory_algorithms != 201606L
#   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++17"
# endif

# ifdef __cpp_lib_reference_from_temporary
#   error "__cpp_lib_reference_from_temporary should not be defined before c++2b"
# endif

# ifdef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should not be defined before c++20"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++17"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++17"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++17"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_sample
#   error "__cpp_lib_sample should be defined in c++17"
# endif
# if __cpp_lib_sample != 201603L
#   error "__cpp_lib_sample should have the value 201603L in c++17"
# endif

# ifndef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should be defined in c++17"
# endif
# if __cpp_lib_scoped_lock != 201703L
#   error "__cpp_lib_scoped_lock should have the value 201703L in c++17"
# endif

# ifdef __cpp_lib_semaphore
#   error "__cpp_lib_semaphore should not be defined before c++20"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex)
#   ifndef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should be defined in c++17"
#   endif
#   if __cpp_lib_shared_mutex != 201505L
#     error "__cpp_lib_shared_mutex should have the value 201505L in c++17"
#   endif
# else
#   ifdef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++17"
# endif

# ifndef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should be defined in c++17"
# endif
# if __cpp_lib_shared_ptr_weak_type != 201606L
#   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++17"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++17"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++17"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_shift
#   error "__cpp_lib_shift should not be defined before c++20"
# endif

# ifdef __cpp_lib_smart_ptr_for_overwrite
#   error "__cpp_lib_smart_ptr_for_overwrite should not be defined before c++20"
# endif

# ifdef __cpp_lib_source_location
#   error "__cpp_lib_source_location should not be defined before c++20"
# endif

# ifdef __cpp_lib_span
#   error "__cpp_lib_span should not be defined before c++20"
# endif

# ifdef __cpp_lib_spanstream
#   error "__cpp_lib_spanstream should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ssize
#   error "__cpp_lib_ssize should not be defined before c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifdef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should not be defined before c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_resize_and_overwrite
#   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++17"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_string_view
#   error "__cpp_lib_string_view should be defined in c++17"
# endif
# if __cpp_lib_string_view != 201606L
#   error "__cpp_lib_string_view should have the value 201606L in c++17"
# endif

# ifdef __cpp_lib_syncbuf
#   error "__cpp_lib_syncbuf should not be defined before c++20"
# endif

# ifdef __cpp_lib_three_way_comparison
#   error "__cpp_lib_three_way_comparison should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_address
#   error "__cpp_lib_to_address should not be defined before c++20"
# endif

# ifdef __cpp_lib_to_array
#   error "__cpp_lib_to_array should not be defined before c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should be defined in c++17"
#   endif
#   if __cpp_lib_to_chars != 201611L
#     error "__cpp_lib_to_chars should have the value 201611L in c++17"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_to_underlying
#   error "__cpp_lib_to_underlying should not be defined before c++2b"
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++17"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++17"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++17"
# endif
# if __cpp_lib_transparent_operators != 201510L
#   error "__cpp_lib_transparent_operators should have the value 201510L in c++17"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++17"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++17"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++17"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++17"
# endif

# ifdef __cpp_lib_type_identity
#   error "__cpp_lib_type_identity should not be defined before c++20"
# endif

# ifndef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should be defined in c++17"
# endif
# if __cpp_lib_type_trait_variable_templates != 201510L
#   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++17"
# endif

# ifndef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should be defined in c++17"
# endif
# if __cpp_lib_uncaught_exceptions != 201411L
#   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++17"
# endif

# ifndef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should be defined in c++17"
# endif
# if __cpp_lib_unordered_map_try_emplace != 201411L
#   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++17"
# endif

# ifdef __cpp_lib_unreachable
#   error "__cpp_lib_unreachable should not be defined before c++2b"
# endif

# ifdef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should not be defined before c++20"
# endif

# ifndef __cpp_lib_variant
#   error "__cpp_lib_variant should be defined in c++17"
# endif
# if __cpp_lib_variant != 202102L
#   error "__cpp_lib_variant should have the value 202102L in c++17"
# endif

# ifndef __cpp_lib_void_t
#   error "__cpp_lib_void_t should be defined in c++17"
# endif
# if __cpp_lib_void_t != 201411L
#   error "__cpp_lib_void_t should have the value 201411L in c++17"
# endif

#elif TEST_STD_VER == 20

# ifdef __cpp_lib_adaptor_iterator_pair_constructor
#   error "__cpp_lib_adaptor_iterator_pair_constructor should not be defined before c++2b"
# endif

# ifndef __cpp_lib_addressof_constexpr
#   error "__cpp_lib_addressof_constexpr should be defined in c++20"
# endif
# if __cpp_lib_addressof_constexpr != 201603L
#   error "__cpp_lib_addressof_constexpr should have the value 201603L in c++20"
# endif

# ifdef __cpp_lib_allocate_at_least
#   error "__cpp_lib_allocate_at_least should not be defined before c++2b"
# endif

# ifndef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++20"
# endif
# if __cpp_lib_allocator_traits_is_always_equal != 201411L
#   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++20"
# endif

# ifndef __cpp_lib_any
#   error "__cpp_lib_any should be defined in c++20"
# endif
# if __cpp_lib_any != 201606L
#   error "__cpp_lib_any should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_apply
#   error "__cpp_lib_apply should be defined in c++20"
# endif
# if __cpp_lib_apply != 201603L
#   error "__cpp_lib_apply should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should be defined in c++20"
# endif
# if __cpp_lib_array_constexpr != 201811L
#   error "__cpp_lib_array_constexpr should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_as_const
#   error "__cpp_lib_as_const should be defined in c++20"
# endif
# if __cpp_lib_as_const != 201510L
#   error "__cpp_lib_as_const should have the value 201510L in c++20"
# endif

# ifdef __cpp_lib_associative_heterogeneous_erasure
#   error "__cpp_lib_associative_heterogeneous_erasure should not be defined before c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should be defined in c++20"
#   endif
#   if __cpp_lib_assume_aligned != 201811L
#     error "__cpp_lib_assume_aligned should have the value 201811L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should be defined in c++20"
# endif
# if __cpp_lib_atomic_flag_test != 201907L
#   error "__cpp_lib_atomic_flag_test should have the value 201907L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_float != 201711L
#     error "__cpp_lib_atomic_float should have the value 201711L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_atomic_is_always_lock_free
#   error "__cpp_lib_atomic_is_always_lock_free should be defined in c++20"
# endif
# if __cpp_lib_atomic_is_always_lock_free != 201603L
#   error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++20"
# endif
# if __cpp_lib_atomic_lock_free_type_aliases != 201907L
#   error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_ref != 201806L
#     error "__cpp_lib_atomic_ref should have the value 201806L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_shared_ptr != 201711L
#     error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should be defined in c++20"
# endif
# if __cpp_lib_atomic_value_initialization != 201911L
#   error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++20"
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait)
#   ifndef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should be defined in c++20"
#   endif
#   if __cpp_lib_atomic_wait != 201907L
#     error "__cpp_lib_atomic_wait should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier)
#   ifndef __cpp_lib_barrier
#     error "__cpp_lib_barrier should be defined in c++20"
#   endif
#   if __cpp_lib_barrier != 201907L
#     error "__cpp_lib_barrier should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_barrier
#     error "__cpp_lib_barrier should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier) is not defined!"
#   endif
# endif

# ifdef __cpp_lib_bind_back
#   error "__cpp_lib_bind_back should not be defined before c++2b"
# endif

# ifndef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should be defined in c++20"
# endif
# if __cpp_lib_bind_front != 201907L
#   error "__cpp_lib_bind_front should have the value 201907L in c++20"
# endif

# ifndef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should be defined in c++20"
# endif
# if __cpp_lib_bit_cast != 201806L
#   error "__cpp_lib_bit_cast should have the value 201806L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bitops
#     error "__cpp_lib_bitops should be defined in c++20"
#   endif
#   if __cpp_lib_bitops != 201907L
#     error "__cpp_lib_bitops should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bitops
#     error "__cpp_lib_bitops should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should be defined in c++20"
# endif
# if __cpp_lib_bool_constant != 201505L
#   error "__cpp_lib_bool_constant should have the value 201505L in c++20"
# endif

# ifndef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should be defined in c++20"
# endif
# if __cpp_lib_bounded_array_traits != 201902L
#   error "__cpp_lib_bounded_array_traits should have the value 201902L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should be defined in c++20"
#   endif
#   if __cpp_lib_boyer_moore_searcher != 201603L
#     error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_byte
#   error "__cpp_lib_byte should be defined in c++20"
# endif
# if __cpp_lib_byte != 201603L
#   error "__cpp_lib_byte should have the value 201603L in c++20"
# endif

# ifdef __cpp_lib_byteswap
#   error "__cpp_lib_byteswap should not be defined before c++2b"
# endif

# if defined(__cpp_char8_t)
#   ifndef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should be defined in c++20"
#   endif
#   if __cpp_lib_char8_t != 201811L
#     error "__cpp_lib_char8_t should have the value 201811L in c++20"
#   endif
# else
#   ifdef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should not be defined when defined(__cpp_char8_t) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_chrono
#   error "__cpp_lib_chrono should be defined in c++20"
# endif
# if __cpp_lib_chrono != 201611L
#   error "__cpp_lib_chrono should have the value 201611L in c++20"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++20"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_clamp
#   error "__cpp_lib_clamp should be defined in c++20"
# endif
# if __cpp_lib_clamp != 201603L
#   error "__cpp_lib_clamp should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++20"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++20"
# endif

# ifndef __cpp_lib_concepts
#   error "__cpp_lib_concepts should be defined in c++20"
# endif
# if __cpp_lib_concepts != 202002L
#   error "__cpp_lib_concepts should have the value 202002L in c++20"
# endif

# ifndef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should be defined in c++20"
# endif
# if __cpp_lib_constexpr_algorithms != 201806L
#   error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++20"
# endif

# ifdef __cpp_lib_constexpr_cmath
#   error "__cpp_lib_constexpr_cmath should not be defined before c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_complex != 201711L
#     error "__cpp_lib_constexpr_complex should have the value 201711L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++20"
# endif
# if __cpp_lib_constexpr_dynamic_alloc != 201907L
#   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++20"
# endif

# ifndef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should be defined in c++20"
# endif
# if __cpp_lib_constexpr_functional != 201907L
#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++20"
# endif

# ifndef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should be defined in c++20"
# endif
# if __cpp_lib_constexpr_iterator != 201811L
#   error "__cpp_lib_constexpr_iterator should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should be defined in c++20"
# endif
# if __cpp_lib_constexpr_memory != 201811L
#   error "__cpp_lib_constexpr_memory should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should be defined in c++20"
# endif
# if __cpp_lib_constexpr_numeric != 201911L
#   error "__cpp_lib_constexpr_numeric should have the value 201911L in c++20"
# endif

# ifndef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should be defined in c++20"
# endif
# if __cpp_lib_constexpr_string != 201811L
#   error "__cpp_lib_constexpr_string should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should be defined in c++20"
# endif
# if __cpp_lib_constexpr_string_view != 201811L
#   error "__cpp_lib_constexpr_string_view should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should be defined in c++20"
# endif
# if __cpp_lib_constexpr_tuple != 201811L
#   error "__cpp_lib_constexpr_tuple should have the value 201811L in c++20"
# endif

# ifdef __cpp_lib_constexpr_typeinfo
#   error "__cpp_lib_constexpr_typeinfo should not be defined before c++2b"
# endif

# ifndef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should be defined in c++20"
# endif
# if __cpp_lib_constexpr_utility != 201811L
#   error "__cpp_lib_constexpr_utility should have the value 201811L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should be defined in c++20"
#   endif
#   if __cpp_lib_constexpr_vector != 201907L
#     error "__cpp_lib_constexpr_vector should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should be defined in c++20"
# endif
# if __cpp_lib_coroutine != 201902L
#   error "__cpp_lib_coroutine should have the value 201902L in c++20"
# endif

# if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
#   ifndef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should be defined in c++20"
#   endif
#   if __cpp_lib_destroying_delete != 201806L
#     error "__cpp_lib_destroying_delete should have the value 201806L in c++20"
#   endif
# else
#   ifdef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should not be defined when TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L is not defined!"
#   endif
# endif

# ifndef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should be defined in c++20"
# endif
# if __cpp_lib_enable_shared_from_this != 201603L
#   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_endian
#   error "__cpp_lib_endian should be defined in c++20"
# endif
# if __cpp_lib_endian != 201907L
#   error "__cpp_lib_endian should have the value 201907L in c++20"
# endif

# ifndef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should be defined in c++20"
# endif
# if __cpp_lib_erase_if != 202002L
#   error "__cpp_lib_erase_if should have the value 202002L in c++20"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++20"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_execution
#     error "__cpp_lib_execution should be defined in c++20"
#   endif
#   if __cpp_lib_execution != 201902L
#     error "__cpp_lib_execution should have the value 201902L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_execution
#     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem)
#   ifndef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should be defined in c++20"
#   endif
#   if __cpp_lib_filesystem != 201703L
#     error "__cpp_lib_filesystem should have the value 201703L in c++20"
#   endif
# else
#   ifdef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_format
#     error "__cpp_lib_format should be defined in c++20"
#   endif
#   if __cpp_lib_format != 202106L
#     error "__cpp_lib_format should have the value 202106L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_format
#     error "__cpp_lib_format should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should be defined in c++20"
# endif
# if __cpp_lib_gcd_lcm != 201606L
#   error "__cpp_lib_gcd_lcm should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++20"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should be defined in c++20"
# endif
# if __cpp_lib_generic_unordered_lookup != 201811L
#   error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should be defined in c++20"
#   endif
#   if __cpp_lib_hardware_interference_size != 201703L
#     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_has_unique_object_representations
#   error "__cpp_lib_has_unique_object_representations should be defined in c++20"
# endif
# if __cpp_lib_has_unique_object_representations != 201606L
#   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_hypot
#   error "__cpp_lib_hypot should be defined in c++20"
# endif
# if __cpp_lib_hypot != 201603L
#   error "__cpp_lib_hypot should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should be defined in c++20"
# endif
# if __cpp_lib_incomplete_container_elements != 201505L
#   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++20"
# endif

# ifndef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should be defined in c++20"
# endif
# if __cpp_lib_int_pow2 != 202002L
#   error "__cpp_lib_int_pow2 should have the value 202002L in c++20"
# endif

# if defined(__cpp_concepts) && __cpp_concepts >= 201907L
#   ifndef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should be defined in c++20"
#   endif
#   if __cpp_lib_integer_comparison_functions != 202002L
#     error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++20"
#   endif
# else
#   ifdef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should not be defined when defined(__cpp_concepts) && __cpp_concepts >= 201907L is not defined!"
#   endif
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++20"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++20"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should be defined in c++20"
# endif
# if __cpp_lib_interpolate != 201902L
#   error "__cpp_lib_interpolate should have the value 201902L in c++20"
# endif

# ifndef __cpp_lib_invoke
#   error "__cpp_lib_invoke should be defined in c++20"
# endif
# if __cpp_lib_invoke != 201411L
#   error "__cpp_lib_invoke should have the value 201411L in c++20"
# endif

# ifdef __cpp_lib_invoke_r
#   error "__cpp_lib_invoke_r should not be defined before c++2b"
# endif

# ifndef __cpp_lib_is_aggregate
#   error "__cpp_lib_is_aggregate should be defined in c++20"
# endif
# if __cpp_lib_is_aggregate != 201703L
#   error "__cpp_lib_is_aggregate should have the value 201703L in c++20"
# endif

# ifndef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should be defined in c++20"
# endif
# if __cpp_lib_is_constant_evaluated != 201811L
#   error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++20"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++20"
# endif

# ifndef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should be defined in c++20"
# endif
# if __cpp_lib_is_invocable != 201703L
#   error "__cpp_lib_is_invocable should have the value 201703L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should be defined in c++20"
#   endif
#   if __cpp_lib_is_layout_compatible != 201907L
#     error "__cpp_lib_is_layout_compatible should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should be defined in c++20"
# endif
# if __cpp_lib_is_nothrow_convertible != 201806L
#   error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++20"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++20"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should be defined in c++20"
#   endif
#   if __cpp_lib_is_pointer_interconvertible != 201907L
#     error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should not be defined before c++2b"
# endif

# ifndef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should be defined in c++20"
# endif
# if __cpp_lib_is_swappable != 201603L
#   error "__cpp_lib_is_swappable should have the value 201603L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_jthread
#     error "__cpp_lib_jthread should be defined in c++20"
#   endif
#   if __cpp_lib_jthread != 201911L
#     error "__cpp_lib_jthread should have the value 201911L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_jthread
#     error "__cpp_lib_jthread should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch)
#   ifndef __cpp_lib_latch
#     error "__cpp_lib_latch should be defined in c++20"
#   endif
#   if __cpp_lib_latch != 201907L
#     error "__cpp_lib_latch should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_latch
#     error "__cpp_lib_latch should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_launder
#   error "__cpp_lib_launder should be defined in c++20"
# endif
# if __cpp_lib_launder != 201606L
#   error "__cpp_lib_launder should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should be defined in c++20"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
#   error "__cpp_lib_list_remove_return_type should have the value 201806L in c++20"
# endif

# ifndef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should be defined in c++20"
# endif
# if __cpp_lib_logical_traits != 201510L
#   error "__cpp_lib_logical_traits should have the value 201510L in c++20"
# endif

# ifndef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should be defined in c++20"
# endif
# if __cpp_lib_make_from_tuple != 201606L
#   error "__cpp_lib_make_from_tuple should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++20"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++20"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++20"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should be defined in c++20"
# endif
# if __cpp_lib_map_try_emplace != 201411L
#   error "__cpp_lib_map_try_emplace should have the value 201411L in c++20"
# endif

# if defined(__cpp_concepts) && __cpp_concepts >= 201907L
#   ifndef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should be defined in c++20"
#   endif
#   if __cpp_lib_math_constants != 201907L
#     error "__cpp_lib_math_constants should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should not be defined when defined(__cpp_concepts) && __cpp_concepts >= 201907L is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should be defined in c++20"
#   endif
#   if __cpp_lib_math_special_functions != 201603L
#     error "__cpp_lib_math_special_functions should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should be defined in c++20"
#   endif
#   if __cpp_lib_memory_resource != 201603L
#     error "__cpp_lib_memory_resource should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_monadic_optional
#   error "__cpp_lib_monadic_optional should not be defined before c++2b"
# endif

# ifdef __cpp_lib_move_only_function
#   error "__cpp_lib_move_only_function should not be defined before c++2b"
# endif

# ifndef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should be defined in c++20"
# endif
# if __cpp_lib_node_extract != 201606L
#   error "__cpp_lib_node_extract should have the value 201606L in c++20"
# endif

# ifndef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should be defined in c++20"
# endif
# if __cpp_lib_nonmember_container_access != 201411L
#   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++20"
# endif

# ifndef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should be defined in c++20"
# endif
# if __cpp_lib_not_fn != 201603L
#   error "__cpp_lib_not_fn should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++20"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_optional
#   error "__cpp_lib_optional should be defined in c++20"
# endif
# if __cpp_lib_optional != 201606L
#   error "__cpp_lib_optional should have the value 201606L in c++20"
# endif

# ifdef __cpp_lib_out_ptr
#   error "__cpp_lib_out_ptr should not be defined before c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should be defined in c++20"
#   endif
#   if __cpp_lib_parallel_algorithm != 201603L
#     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should be defined in c++20"
#   endif
#   if __cpp_lib_polymorphic_allocator != 201902L
#     error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++20"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges
#     error "__cpp_lib_ranges should be defined in c++20"
#   endif
#   if __cpp_lib_ranges != 201811L
#     error "__cpp_lib_ranges should have the value 201811L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges
#     error "__cpp_lib_ranges should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_ranges_chunk
#   error "__cpp_lib_ranges_chunk should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_chunk_by
#   error "__cpp_lib_ranges_chunk_by should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_iota
#   error "__cpp_lib_ranges_iota should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_join_with
#   error "__cpp_lib_ranges_join_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_slide
#   error "__cpp_lib_ranges_slide should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_starts_ends_with
#   error "__cpp_lib_ranges_starts_ends_with should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_to_container
#   error "__cpp_lib_ranges_to_container should not be defined before c++2b"
# endif

# ifdef __cpp_lib_ranges_zip
#   error "__cpp_lib_ranges_zip should not be defined before c++2b"
# endif

# ifndef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should be defined in c++20"
# endif
# if __cpp_lib_raw_memory_algorithms != 201606L
#   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++20"
# endif

# ifdef __cpp_lib_reference_from_temporary
#   error "__cpp_lib_reference_from_temporary should not be defined before c++2b"
# endif

# ifndef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should be defined in c++20"
# endif
# if __cpp_lib_remove_cvref != 201711L
#   error "__cpp_lib_remove_cvref should have the value 201711L in c++20"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++20"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++20"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++20"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_sample
#   error "__cpp_lib_sample should be defined in c++20"
# endif
# if __cpp_lib_sample != 201603L
#   error "__cpp_lib_sample should have the value 201603L in c++20"
# endif

# ifndef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should be defined in c++20"
# endif
# if __cpp_lib_scoped_lock != 201703L
#   error "__cpp_lib_scoped_lock should have the value 201703L in c++20"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore)
#   ifndef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should be defined in c++20"
#   endif
#   if __cpp_lib_semaphore != 201907L
#     error "__cpp_lib_semaphore should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex)
#   ifndef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should be defined in c++20"
#   endif
#   if __cpp_lib_shared_mutex != 201505L
#     error "__cpp_lib_shared_mutex should have the value 201505L in c++20"
#   endif
# else
#   ifdef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should be defined in c++20"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++20"
# endif

# ifndef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should be defined in c++20"
# endif
# if __cpp_lib_shared_ptr_weak_type != 201606L
#   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++20"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++20"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++20"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shift
#   error "__cpp_lib_shift should be defined in c++20"
# endif
# if __cpp_lib_shift != 201806L
#   error "__cpp_lib_shift should have the value 201806L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++20"
#   endif
#   if __cpp_lib_smart_ptr_for_overwrite != 202002L
#     error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_source_location
#     error "__cpp_lib_source_location should be defined in c++20"
#   endif
#   if __cpp_lib_source_location != 201907L
#     error "__cpp_lib_source_location should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_source_location
#     error "__cpp_lib_source_location should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_span
#   error "__cpp_lib_span should be defined in c++20"
# endif
# if __cpp_lib_span != 202002L
#   error "__cpp_lib_span should have the value 202002L in c++20"
# endif

# ifdef __cpp_lib_spanstream
#   error "__cpp_lib_spanstream should not be defined before c++2b"
# endif

# ifndef __cpp_lib_ssize
#   error "__cpp_lib_ssize should be defined in c++20"
# endif
# if __cpp_lib_ssize != 201902L
#   error "__cpp_lib_ssize should have the value 201902L in c++20"
# endif

# ifdef __cpp_lib_stacktrace
#   error "__cpp_lib_stacktrace should not be defined before c++2b"
# endif

# ifndef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should be defined in c++20"
# endif
# if __cpp_lib_starts_ends_with != 201711L
#   error "__cpp_lib_starts_ends_with should have the value 201711L in c++20"
# endif

# ifdef __cpp_lib_stdatomic_h
#   error "__cpp_lib_stdatomic_h should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should not be defined before c++2b"
# endif

# ifdef __cpp_lib_string_resize_and_overwrite
#   error "__cpp_lib_string_resize_and_overwrite should not be defined before c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++20"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_string_view
#   error "__cpp_lib_string_view should be defined in c++20"
# endif
# if __cpp_lib_string_view != 201803L
#   error "__cpp_lib_string_view should have the value 201803L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should be defined in c++20"
#   endif
#   if __cpp_lib_syncbuf != 201803L
#     error "__cpp_lib_syncbuf should have the value 201803L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should be defined in c++20"
#   endif
#   if __cpp_lib_three_way_comparison != 201907L
#     error "__cpp_lib_three_way_comparison should have the value 201907L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_to_address
#   error "__cpp_lib_to_address should be defined in c++20"
# endif
# if __cpp_lib_to_address != 201711L
#   error "__cpp_lib_to_address should have the value 201711L in c++20"
# endif

# ifndef __cpp_lib_to_array
#   error "__cpp_lib_to_array should be defined in c++20"
# endif
# if __cpp_lib_to_array != 201907L
#   error "__cpp_lib_to_array should have the value 201907L in c++20"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should be defined in c++20"
#   endif
#   if __cpp_lib_to_chars != 201611L
#     error "__cpp_lib_to_chars should have the value 201611L in c++20"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifdef __cpp_lib_to_underlying
#   error "__cpp_lib_to_underlying should not be defined before c++2b"
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++20"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++20"
# endif
# if __cpp_lib_transparent_operators != 201510L
#   error "__cpp_lib_transparent_operators should have the value 201510L in c++20"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++20"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++20"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++20"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++20"
# endif

# ifndef __cpp_lib_type_identity
#   error "__cpp_lib_type_identity should be defined in c++20"
# endif
# if __cpp_lib_type_identity != 201806L
#   error "__cpp_lib_type_identity should have the value 201806L in c++20"
# endif

# ifndef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should be defined in c++20"
# endif
# if __cpp_lib_type_trait_variable_templates != 201510L
#   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++20"
# endif

# ifndef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should be defined in c++20"
# endif
# if __cpp_lib_uncaught_exceptions != 201411L
#   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++20"
# endif

# ifndef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should be defined in c++20"
# endif
# if __cpp_lib_unordered_map_try_emplace != 201411L
#   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++20"
# endif

# ifdef __cpp_lib_unreachable
#   error "__cpp_lib_unreachable should not be defined before c++2b"
# endif

# ifndef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should be defined in c++20"
# endif
# if __cpp_lib_unwrap_ref != 201811L
#   error "__cpp_lib_unwrap_ref should have the value 201811L in c++20"
# endif

# ifndef __cpp_lib_variant
#   error "__cpp_lib_variant should be defined in c++20"
# endif
# if __cpp_lib_variant != 202102L
#   error "__cpp_lib_variant should have the value 202102L in c++20"
# endif

# ifndef __cpp_lib_void_t
#   error "__cpp_lib_void_t should be defined in c++20"
# endif
# if __cpp_lib_void_t != 201411L
#   error "__cpp_lib_void_t should have the value 201411L in c++20"
# endif

#elif TEST_STD_VER > 20

# ifndef __cpp_lib_adaptor_iterator_pair_constructor
#   error "__cpp_lib_adaptor_iterator_pair_constructor should be defined in c++2b"
# endif
# if __cpp_lib_adaptor_iterator_pair_constructor != 202106L
#   error "__cpp_lib_adaptor_iterator_pair_constructor should have the value 202106L in c++2b"
# endif

# ifndef __cpp_lib_addressof_constexpr
#   error "__cpp_lib_addressof_constexpr should be defined in c++2b"
# endif
# if __cpp_lib_addressof_constexpr != 201603L
#   error "__cpp_lib_addressof_constexpr should have the value 201603L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_allocate_at_least
#     error "__cpp_lib_allocate_at_least should be defined in c++2b"
#   endif
#   if __cpp_lib_allocate_at_least != 202106L
#     error "__cpp_lib_allocate_at_least should have the value 202106L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_allocate_at_least
#     error "__cpp_lib_allocate_at_least should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_allocator_traits_is_always_equal
#   error "__cpp_lib_allocator_traits_is_always_equal should be defined in c++2b"
# endif
# if __cpp_lib_allocator_traits_is_always_equal != 201411L
#   error "__cpp_lib_allocator_traits_is_always_equal should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_any
#   error "__cpp_lib_any should be defined in c++2b"
# endif
# if __cpp_lib_any != 201606L
#   error "__cpp_lib_any should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_apply
#   error "__cpp_lib_apply should be defined in c++2b"
# endif
# if __cpp_lib_apply != 201603L
#   error "__cpp_lib_apply should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_array_constexpr
#   error "__cpp_lib_array_constexpr should be defined in c++2b"
# endif
# if __cpp_lib_array_constexpr != 201811L
#   error "__cpp_lib_array_constexpr should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_as_const
#   error "__cpp_lib_as_const should be defined in c++2b"
# endif
# if __cpp_lib_as_const != 201510L
#   error "__cpp_lib_as_const should have the value 201510L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_associative_heterogeneous_erasure
#     error "__cpp_lib_associative_heterogeneous_erasure should be defined in c++2b"
#   endif
#   if __cpp_lib_associative_heterogeneous_erasure != 202110L
#     error "__cpp_lib_associative_heterogeneous_erasure should have the value 202110L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_associative_heterogeneous_erasure
#     error "__cpp_lib_associative_heterogeneous_erasure should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should be defined in c++2b"
#   endif
#   if __cpp_lib_assume_aligned != 201811L
#     error "__cpp_lib_assume_aligned should have the value 201811L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_assume_aligned
#     error "__cpp_lib_assume_aligned should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_atomic_flag_test
#   error "__cpp_lib_atomic_flag_test should be defined in c++2b"
# endif
# if __cpp_lib_atomic_flag_test != 201907L
#   error "__cpp_lib_atomic_flag_test should have the value 201907L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_float != 201711L
#     error "__cpp_lib_atomic_float should have the value 201711L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_float
#     error "__cpp_lib_atomic_float should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_atomic_is_always_lock_free
#   error "__cpp_lib_atomic_is_always_lock_free should be defined in c++2b"
# endif
# if __cpp_lib_atomic_is_always_lock_free != 201603L
#   error "__cpp_lib_atomic_is_always_lock_free should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_atomic_lock_free_type_aliases
#   error "__cpp_lib_atomic_lock_free_type_aliases should be defined in c++2b"
# endif
# if __cpp_lib_atomic_lock_free_type_aliases != 201907L
#   error "__cpp_lib_atomic_lock_free_type_aliases should have the value 201907L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_ref != 201806L
#     error "__cpp_lib_atomic_ref should have the value 201806L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_ref
#     error "__cpp_lib_atomic_ref should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_shared_ptr != 201711L
#     error "__cpp_lib_atomic_shared_ptr should have the value 201711L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_atomic_shared_ptr
#     error "__cpp_lib_atomic_shared_ptr should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_atomic_value_initialization
#   error "__cpp_lib_atomic_value_initialization should be defined in c++2b"
# endif
# if __cpp_lib_atomic_value_initialization != 201911L
#   error "__cpp_lib_atomic_value_initialization should have the value 201911L in c++2b"
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait)
#   ifndef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should be defined in c++2b"
#   endif
#   if __cpp_lib_atomic_wait != 201907L
#     error "__cpp_lib_atomic_wait should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_atomic_wait
#     error "__cpp_lib_atomic_wait should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_atomic_wait) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier)
#   ifndef __cpp_lib_barrier
#     error "__cpp_lib_barrier should be defined in c++2b"
#   endif
#   if __cpp_lib_barrier != 201907L
#     error "__cpp_lib_barrier should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_barrier
#     error "__cpp_lib_barrier should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_barrier) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bind_back
#     error "__cpp_lib_bind_back should be defined in c++2b"
#   endif
#   if __cpp_lib_bind_back != 202202L
#     error "__cpp_lib_bind_back should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bind_back
#     error "__cpp_lib_bind_back should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_bind_front
#   error "__cpp_lib_bind_front should be defined in c++2b"
# endif
# if __cpp_lib_bind_front != 201907L
#   error "__cpp_lib_bind_front should have the value 201907L in c++2b"
# endif

# ifndef __cpp_lib_bit_cast
#   error "__cpp_lib_bit_cast should be defined in c++2b"
# endif
# if __cpp_lib_bit_cast != 201806L
#   error "__cpp_lib_bit_cast should have the value 201806L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_bitops
#     error "__cpp_lib_bitops should be defined in c++2b"
#   endif
#   if __cpp_lib_bitops != 201907L
#     error "__cpp_lib_bitops should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_bitops
#     error "__cpp_lib_bitops should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_bool_constant
#   error "__cpp_lib_bool_constant should be defined in c++2b"
# endif
# if __cpp_lib_bool_constant != 201505L
#   error "__cpp_lib_bool_constant should have the value 201505L in c++2b"
# endif

# ifndef __cpp_lib_bounded_array_traits
#   error "__cpp_lib_bounded_array_traits should be defined in c++2b"
# endif
# if __cpp_lib_bounded_array_traits != 201902L
#   error "__cpp_lib_bounded_array_traits should have the value 201902L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should be defined in c++2b"
#   endif
#   if __cpp_lib_boyer_moore_searcher != 201603L
#     error "__cpp_lib_boyer_moore_searcher should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_boyer_moore_searcher
#     error "__cpp_lib_boyer_moore_searcher should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_byte
#   error "__cpp_lib_byte should be defined in c++2b"
# endif
# if __cpp_lib_byte != 201603L
#   error "__cpp_lib_byte should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_byteswap
#   error "__cpp_lib_byteswap should be defined in c++2b"
# endif
# if __cpp_lib_byteswap != 202110L
#   error "__cpp_lib_byteswap should have the value 202110L in c++2b"
# endif

# if defined(__cpp_char8_t)
#   ifndef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should be defined in c++2b"
#   endif
#   if __cpp_lib_char8_t != 201811L
#     error "__cpp_lib_char8_t should have the value 201811L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should not be defined when defined(__cpp_char8_t) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_chrono
#   error "__cpp_lib_chrono should be defined in c++2b"
# endif
# if __cpp_lib_chrono != 201611L
#   error "__cpp_lib_chrono should have the value 201611L in c++2b"
# endif

# ifndef __cpp_lib_chrono_udls
#   error "__cpp_lib_chrono_udls should be defined in c++2b"
# endif
# if __cpp_lib_chrono_udls != 201304L
#   error "__cpp_lib_chrono_udls should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_clamp
#   error "__cpp_lib_clamp should be defined in c++2b"
# endif
# if __cpp_lib_clamp != 201603L
#   error "__cpp_lib_clamp should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_complex_udls
#   error "__cpp_lib_complex_udls should be defined in c++2b"
# endif
# if __cpp_lib_complex_udls != 201309L
#   error "__cpp_lib_complex_udls should have the value 201309L in c++2b"
# endif

# ifndef __cpp_lib_concepts
#   error "__cpp_lib_concepts should be defined in c++2b"
# endif
# if __cpp_lib_concepts != 202002L
#   error "__cpp_lib_concepts should have the value 202002L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_algorithms
#   error "__cpp_lib_constexpr_algorithms should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_algorithms != 201806L
#   error "__cpp_lib_constexpr_algorithms should have the value 201806L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_cmath
#     error "__cpp_lib_constexpr_cmath should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_cmath != 202202L
#     error "__cpp_lib_constexpr_cmath should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_cmath
#     error "__cpp_lib_constexpr_cmath should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_complex != 201711L
#     error "__cpp_lib_constexpr_complex should have the value 201711L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_complex
#     error "__cpp_lib_constexpr_complex should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_dynamic_alloc
#   error "__cpp_lib_constexpr_dynamic_alloc should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_dynamic_alloc != 201907L
#   error "__cpp_lib_constexpr_dynamic_alloc should have the value 201907L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_functional
#   error "__cpp_lib_constexpr_functional should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_functional != 201907L
#   error "__cpp_lib_constexpr_functional should have the value 201907L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_iterator
#   error "__cpp_lib_constexpr_iterator should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_iterator != 201811L
#   error "__cpp_lib_constexpr_iterator should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_memory
#   error "__cpp_lib_constexpr_memory should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_memory != 201811L
#   error "__cpp_lib_constexpr_memory should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_numeric
#   error "__cpp_lib_constexpr_numeric should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_numeric != 201911L
#   error "__cpp_lib_constexpr_numeric should have the value 201911L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_string
#   error "__cpp_lib_constexpr_string should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_string != 201811L
#   error "__cpp_lib_constexpr_string should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_string_view
#   error "__cpp_lib_constexpr_string_view should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_string_view != 201811L
#   error "__cpp_lib_constexpr_string_view should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_constexpr_tuple
#   error "__cpp_lib_constexpr_tuple should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_tuple != 201811L
#   error "__cpp_lib_constexpr_tuple should have the value 201811L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_typeinfo
#     error "__cpp_lib_constexpr_typeinfo should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_typeinfo != 202106L
#     error "__cpp_lib_constexpr_typeinfo should have the value 202106L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_typeinfo
#     error "__cpp_lib_constexpr_typeinfo should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_constexpr_utility
#   error "__cpp_lib_constexpr_utility should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_utility != 201811L
#   error "__cpp_lib_constexpr_utility should have the value 201811L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should be defined in c++2b"
#   endif
#   if __cpp_lib_constexpr_vector != 201907L
#     error "__cpp_lib_constexpr_vector should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_constexpr_vector
#     error "__cpp_lib_constexpr_vector should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_coroutine
#   error "__cpp_lib_coroutine should be defined in c++2b"
# endif
# if __cpp_lib_coroutine != 201902L
#   error "__cpp_lib_coroutine should have the value 201902L in c++2b"
# endif

# if TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
#   ifndef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should be defined in c++2b"
#   endif
#   if __cpp_lib_destroying_delete != 201806L
#     error "__cpp_lib_destroying_delete should have the value 201806L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_destroying_delete
#     error "__cpp_lib_destroying_delete should not be defined when TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L is not defined!"
#   endif
# endif

# ifndef __cpp_lib_enable_shared_from_this
#   error "__cpp_lib_enable_shared_from_this should be defined in c++2b"
# endif
# if __cpp_lib_enable_shared_from_this != 201603L
#   error "__cpp_lib_enable_shared_from_this should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_endian
#   error "__cpp_lib_endian should be defined in c++2b"
# endif
# if __cpp_lib_endian != 201907L
#   error "__cpp_lib_endian should have the value 201907L in c++2b"
# endif

# ifndef __cpp_lib_erase_if
#   error "__cpp_lib_erase_if should be defined in c++2b"
# endif
# if __cpp_lib_erase_if != 202002L
#   error "__cpp_lib_erase_if should have the value 202002L in c++2b"
# endif

# ifndef __cpp_lib_exchange_function
#   error "__cpp_lib_exchange_function should be defined in c++2b"
# endif
# if __cpp_lib_exchange_function != 201304L
#   error "__cpp_lib_exchange_function should have the value 201304L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_execution
#     error "__cpp_lib_execution should be defined in c++2b"
#   endif
#   if __cpp_lib_execution != 201902L
#     error "__cpp_lib_execution should have the value 201902L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_execution
#     error "__cpp_lib_execution should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem)
#   ifndef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should be defined in c++2b"
#   endif
#   if __cpp_lib_filesystem != 201703L
#     error "__cpp_lib_filesystem should have the value 201703L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_filesystem
#     error "__cpp_lib_filesystem should not be defined when !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_filesystem) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_format
#     error "__cpp_lib_format should be defined in c++2b"
#   endif
#   if __cpp_lib_format != 202106L
#     error "__cpp_lib_format should have the value 202106L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_format
#     error "__cpp_lib_format should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_gcd_lcm
#   error "__cpp_lib_gcd_lcm should be defined in c++2b"
# endif
# if __cpp_lib_gcd_lcm != 201606L
#   error "__cpp_lib_gcd_lcm should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_generic_associative_lookup
#   error "__cpp_lib_generic_associative_lookup should be defined in c++2b"
# endif
# if __cpp_lib_generic_associative_lookup != 201304L
#   error "__cpp_lib_generic_associative_lookup should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_generic_unordered_lookup
#   error "__cpp_lib_generic_unordered_lookup should be defined in c++2b"
# endif
# if __cpp_lib_generic_unordered_lookup != 201811L
#   error "__cpp_lib_generic_unordered_lookup should have the value 201811L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should be defined in c++2b"
#   endif
#   if __cpp_lib_hardware_interference_size != 201703L
#     error "__cpp_lib_hardware_interference_size should have the value 201703L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_has_unique_object_representations
#   error "__cpp_lib_has_unique_object_representations should be defined in c++2b"
# endif
# if __cpp_lib_has_unique_object_representations != 201606L
#   error "__cpp_lib_has_unique_object_representations should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_hypot
#   error "__cpp_lib_hypot should be defined in c++2b"
# endif
# if __cpp_lib_hypot != 201603L
#   error "__cpp_lib_hypot should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_incomplete_container_elements
#   error "__cpp_lib_incomplete_container_elements should be defined in c++2b"
# endif
# if __cpp_lib_incomplete_container_elements != 201505L
#   error "__cpp_lib_incomplete_container_elements should have the value 201505L in c++2b"
# endif

# ifndef __cpp_lib_int_pow2
#   error "__cpp_lib_int_pow2 should be defined in c++2b"
# endif
# if __cpp_lib_int_pow2 != 202002L
#   error "__cpp_lib_int_pow2 should have the value 202002L in c++2b"
# endif

# if defined(__cpp_concepts) && __cpp_concepts >= 201907L
#   ifndef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should be defined in c++2b"
#   endif
#   if __cpp_lib_integer_comparison_functions != 202002L
#     error "__cpp_lib_integer_comparison_functions should have the value 202002L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_integer_comparison_functions
#     error "__cpp_lib_integer_comparison_functions should not be defined when defined(__cpp_concepts) && __cpp_concepts >= 201907L is not defined!"
#   endif
# endif

# ifndef __cpp_lib_integer_sequence
#   error "__cpp_lib_integer_sequence should be defined in c++2b"
# endif
# if __cpp_lib_integer_sequence != 201304L
#   error "__cpp_lib_integer_sequence should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_integral_constant_callable
#   error "__cpp_lib_integral_constant_callable should be defined in c++2b"
# endif
# if __cpp_lib_integral_constant_callable != 201304L
#   error "__cpp_lib_integral_constant_callable should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_interpolate
#   error "__cpp_lib_interpolate should be defined in c++2b"
# endif
# if __cpp_lib_interpolate != 201902L
#   error "__cpp_lib_interpolate should have the value 201902L in c++2b"
# endif

# ifndef __cpp_lib_invoke
#   error "__cpp_lib_invoke should be defined in c++2b"
# endif
# if __cpp_lib_invoke != 201411L
#   error "__cpp_lib_invoke should have the value 201411L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_invoke_r
#     error "__cpp_lib_invoke_r should be defined in c++2b"
#   endif
#   if __cpp_lib_invoke_r != 202106L
#     error "__cpp_lib_invoke_r should have the value 202106L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_invoke_r
#     error "__cpp_lib_invoke_r should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_is_aggregate
#   error "__cpp_lib_is_aggregate should be defined in c++2b"
# endif
# if __cpp_lib_is_aggregate != 201703L
#   error "__cpp_lib_is_aggregate should have the value 201703L in c++2b"
# endif

# ifndef __cpp_lib_is_constant_evaluated
#   error "__cpp_lib_is_constant_evaluated should be defined in c++2b"
# endif
# if __cpp_lib_is_constant_evaluated != 201811L
#   error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_is_final
#   error "__cpp_lib_is_final should be defined in c++2b"
# endif
# if __cpp_lib_is_final != 201402L
#   error "__cpp_lib_is_final should have the value 201402L in c++2b"
# endif

# ifndef __cpp_lib_is_invocable
#   error "__cpp_lib_is_invocable should be defined in c++2b"
# endif
# if __cpp_lib_is_invocable != 201703L
#   error "__cpp_lib_is_invocable should have the value 201703L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should be defined in c++2b"
#   endif
#   if __cpp_lib_is_layout_compatible != 201907L
#     error "__cpp_lib_is_layout_compatible should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_layout_compatible
#     error "__cpp_lib_is_layout_compatible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_is_nothrow_convertible
#   error "__cpp_lib_is_nothrow_convertible should be defined in c++2b"
# endif
# if __cpp_lib_is_nothrow_convertible != 201806L
#   error "__cpp_lib_is_nothrow_convertible should have the value 201806L in c++2b"
# endif

# ifndef __cpp_lib_is_null_pointer
#   error "__cpp_lib_is_null_pointer should be defined in c++2b"
# endif
# if __cpp_lib_is_null_pointer != 201309L
#   error "__cpp_lib_is_null_pointer should have the value 201309L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should be defined in c++2b"
#   endif
#   if __cpp_lib_is_pointer_interconvertible != 201907L
#     error "__cpp_lib_is_pointer_interconvertible should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_is_pointer_interconvertible
#     error "__cpp_lib_is_pointer_interconvertible should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_is_scoped_enum
#   error "__cpp_lib_is_scoped_enum should be defined in c++2b"
# endif
# if __cpp_lib_is_scoped_enum != 202011L
#   error "__cpp_lib_is_scoped_enum should have the value 202011L in c++2b"
# endif

# ifndef __cpp_lib_is_swappable
#   error "__cpp_lib_is_swappable should be defined in c++2b"
# endif
# if __cpp_lib_is_swappable != 201603L
#   error "__cpp_lib_is_swappable should have the value 201603L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_jthread
#     error "__cpp_lib_jthread should be defined in c++2b"
#   endif
#   if __cpp_lib_jthread != 201911L
#     error "__cpp_lib_jthread should have the value 201911L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_jthread
#     error "__cpp_lib_jthread should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch)
#   ifndef __cpp_lib_latch
#     error "__cpp_lib_latch should be defined in c++2b"
#   endif
#   if __cpp_lib_latch != 201907L
#     error "__cpp_lib_latch should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_latch
#     error "__cpp_lib_latch should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_latch) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_launder
#   error "__cpp_lib_launder should be defined in c++2b"
# endif
# if __cpp_lib_launder != 201606L
#   error "__cpp_lib_launder should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_list_remove_return_type
#   error "__cpp_lib_list_remove_return_type should be defined in c++2b"
# endif
# if __cpp_lib_list_remove_return_type != 201806L
#   error "__cpp_lib_list_remove_return_type should have the value 201806L in c++2b"
# endif

# ifndef __cpp_lib_logical_traits
#   error "__cpp_lib_logical_traits should be defined in c++2b"
# endif
# if __cpp_lib_logical_traits != 201510L
#   error "__cpp_lib_logical_traits should have the value 201510L in c++2b"
# endif

# ifndef __cpp_lib_make_from_tuple
#   error "__cpp_lib_make_from_tuple should be defined in c++2b"
# endif
# if __cpp_lib_make_from_tuple != 201606L
#   error "__cpp_lib_make_from_tuple should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_make_reverse_iterator
#   error "__cpp_lib_make_reverse_iterator should be defined in c++2b"
# endif
# if __cpp_lib_make_reverse_iterator != 201402L
#   error "__cpp_lib_make_reverse_iterator should have the value 201402L in c++2b"
# endif

# ifndef __cpp_lib_make_unique
#   error "__cpp_lib_make_unique should be defined in c++2b"
# endif
# if __cpp_lib_make_unique != 201304L
#   error "__cpp_lib_make_unique should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_map_try_emplace
#   error "__cpp_lib_map_try_emplace should be defined in c++2b"
# endif
# if __cpp_lib_map_try_emplace != 201411L
#   error "__cpp_lib_map_try_emplace should have the value 201411L in c++2b"
# endif

# if defined(__cpp_concepts) && __cpp_concepts >= 201907L
#   ifndef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should be defined in c++2b"
#   endif
#   if __cpp_lib_math_constants != 201907L
#     error "__cpp_lib_math_constants should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_math_constants
#     error "__cpp_lib_math_constants should not be defined when defined(__cpp_concepts) && __cpp_concepts >= 201907L is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should be defined in c++2b"
#   endif
#   if __cpp_lib_math_special_functions != 201603L
#     error "__cpp_lib_math_special_functions should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_math_special_functions
#     error "__cpp_lib_math_special_functions should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should be defined in c++2b"
#   endif
#   if __cpp_lib_memory_resource != 201603L
#     error "__cpp_lib_memory_resource should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_memory_resource
#     error "__cpp_lib_memory_resource should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_monadic_optional
#   error "__cpp_lib_monadic_optional should be defined in c++2b"
# endif
# if __cpp_lib_monadic_optional != 202110L
#   error "__cpp_lib_monadic_optional should have the value 202110L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_move_only_function
#     error "__cpp_lib_move_only_function should be defined in c++2b"
#   endif
#   if __cpp_lib_move_only_function != 202110L
#     error "__cpp_lib_move_only_function should have the value 202110L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_move_only_function
#     error "__cpp_lib_move_only_function should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_node_extract
#   error "__cpp_lib_node_extract should be defined in c++2b"
# endif
# if __cpp_lib_node_extract != 201606L
#   error "__cpp_lib_node_extract should have the value 201606L in c++2b"
# endif

# ifndef __cpp_lib_nonmember_container_access
#   error "__cpp_lib_nonmember_container_access should be defined in c++2b"
# endif
# if __cpp_lib_nonmember_container_access != 201411L
#   error "__cpp_lib_nonmember_container_access should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_not_fn
#   error "__cpp_lib_not_fn should be defined in c++2b"
# endif
# if __cpp_lib_not_fn != 201603L
#   error "__cpp_lib_not_fn should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_null_iterators
#   error "__cpp_lib_null_iterators should be defined in c++2b"
# endif
# if __cpp_lib_null_iterators != 201304L
#   error "__cpp_lib_null_iterators should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_optional
#   error "__cpp_lib_optional should be defined in c++2b"
# endif
# if __cpp_lib_optional != 201606L
#   error "__cpp_lib_optional should have the value 201606L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_out_ptr
#     error "__cpp_lib_out_ptr should be defined in c++2b"
#   endif
#   if __cpp_lib_out_ptr != 202106L
#     error "__cpp_lib_out_ptr should have the value 202106L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_out_ptr
#     error "__cpp_lib_out_ptr should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should be defined in c++2b"
#   endif
#   if __cpp_lib_parallel_algorithm != 201603L
#     error "__cpp_lib_parallel_algorithm should have the value 201603L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_parallel_algorithm
#     error "__cpp_lib_parallel_algorithm should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should be defined in c++2b"
#   endif
#   if __cpp_lib_polymorphic_allocator != 201902L
#     error "__cpp_lib_polymorphic_allocator should have the value 201902L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_polymorphic_allocator
#     error "__cpp_lib_polymorphic_allocator should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_quoted_string_io
#   error "__cpp_lib_quoted_string_io should be defined in c++2b"
# endif
# if __cpp_lib_quoted_string_io != 201304L
#   error "__cpp_lib_quoted_string_io should have the value 201304L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges
#     error "__cpp_lib_ranges should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges != 201811L
#     error "__cpp_lib_ranges should have the value 201811L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges
#     error "__cpp_lib_ranges should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_chunk
#     error "__cpp_lib_ranges_chunk should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_chunk != 202202L
#     error "__cpp_lib_ranges_chunk should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_chunk
#     error "__cpp_lib_ranges_chunk should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_chunk_by
#     error "__cpp_lib_ranges_chunk_by should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_chunk_by != 202202L
#     error "__cpp_lib_ranges_chunk_by should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_chunk_by
#     error "__cpp_lib_ranges_chunk_by should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_iota
#     error "__cpp_lib_ranges_iota should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_iota != 202202L
#     error "__cpp_lib_ranges_iota should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_iota
#     error "__cpp_lib_ranges_iota should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_join_with
#     error "__cpp_lib_ranges_join_with should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_join_with != 202202L
#     error "__cpp_lib_ranges_join_with should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_join_with
#     error "__cpp_lib_ranges_join_with should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_slide
#     error "__cpp_lib_ranges_slide should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_slide != 202202L
#     error "__cpp_lib_ranges_slide should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_slide
#     error "__cpp_lib_ranges_slide should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_starts_ends_with
#     error "__cpp_lib_ranges_starts_ends_with should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_starts_ends_with != 202106L
#     error "__cpp_lib_ranges_starts_ends_with should have the value 202106L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_starts_ends_with
#     error "__cpp_lib_ranges_starts_ends_with should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_to_container
#     error "__cpp_lib_ranges_to_container should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_to_container != 202202L
#     error "__cpp_lib_ranges_to_container should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_to_container
#     error "__cpp_lib_ranges_to_container should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_ranges_zip
#     error "__cpp_lib_ranges_zip should be defined in c++2b"
#   endif
#   if __cpp_lib_ranges_zip != 202110L
#     error "__cpp_lib_ranges_zip should have the value 202110L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_ranges_zip
#     error "__cpp_lib_ranges_zip should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_raw_memory_algorithms
#   error "__cpp_lib_raw_memory_algorithms should be defined in c++2b"
# endif
# if __cpp_lib_raw_memory_algorithms != 201606L
#   error "__cpp_lib_raw_memory_algorithms should have the value 201606L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_reference_from_temporary
#     error "__cpp_lib_reference_from_temporary should be defined in c++2b"
#   endif
#   if __cpp_lib_reference_from_temporary != 202202L
#     error "__cpp_lib_reference_from_temporary should have the value 202202L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_reference_from_temporary
#     error "__cpp_lib_reference_from_temporary should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_remove_cvref
#   error "__cpp_lib_remove_cvref should be defined in c++2b"
# endif
# if __cpp_lib_remove_cvref != 201711L
#   error "__cpp_lib_remove_cvref should have the value 201711L in c++2b"
# endif

# ifndef __cpp_lib_result_of_sfinae
#   error "__cpp_lib_result_of_sfinae should be defined in c++2b"
# endif
# if __cpp_lib_result_of_sfinae != 201210L
#   error "__cpp_lib_result_of_sfinae should have the value 201210L in c++2b"
# endif

# ifndef __cpp_lib_robust_nonmodifying_seq_ops
#   error "__cpp_lib_robust_nonmodifying_seq_ops should be defined in c++2b"
# endif
# if __cpp_lib_robust_nonmodifying_seq_ops != 201304L
#   error "__cpp_lib_robust_nonmodifying_seq_ops should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_sample
#   error "__cpp_lib_sample should be defined in c++2b"
# endif
# if __cpp_lib_sample != 201603L
#   error "__cpp_lib_sample should have the value 201603L in c++2b"
# endif

# ifndef __cpp_lib_scoped_lock
#   error "__cpp_lib_scoped_lock should be defined in c++2b"
# endif
# if __cpp_lib_scoped_lock != 201703L
#   error "__cpp_lib_scoped_lock should have the value 201703L in c++2b"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore)
#   ifndef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should be defined in c++2b"
#   endif
#   if __cpp_lib_semaphore != 201907L
#     error "__cpp_lib_semaphore should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_semaphore
#     error "__cpp_lib_semaphore should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_semaphore) is not defined!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex)
#   ifndef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should be defined in c++2b"
#   endif
#   if __cpp_lib_shared_mutex != 201505L
#     error "__cpp_lib_shared_mutex should have the value 201505L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_shared_mutex
#     error "__cpp_lib_shared_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shared_ptr_arrays
#   error "__cpp_lib_shared_ptr_arrays should be defined in c++2b"
# endif
# if __cpp_lib_shared_ptr_arrays != 201611L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201611L in c++2b"
# endif

# ifndef __cpp_lib_shared_ptr_weak_type
#   error "__cpp_lib_shared_ptr_weak_type should be defined in c++2b"
# endif
# if __cpp_lib_shared_ptr_weak_type != 201606L
#   error "__cpp_lib_shared_ptr_weak_type should have the value 201606L in c++2b"
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex)
#   ifndef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should be defined in c++2b"
#   endif
#   if __cpp_lib_shared_timed_mutex != 201402L
#     error "__cpp_lib_shared_timed_mutex should have the value 201402L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_shared_timed_mutex
#     error "__cpp_lib_shared_timed_mutex should not be defined when !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_DISABLE_FTM___cpp_lib_shared_timed_mutex) is not defined!"
#   endif
# endif

# ifndef __cpp_lib_shift
#   error "__cpp_lib_shift should be defined in c++2b"
# endif
# if __cpp_lib_shift != 201806L
#   error "__cpp_lib_shift should have the value 201806L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should be defined in c++2b"
#   endif
#   if __cpp_lib_smart_ptr_for_overwrite != 202002L
#     error "__cpp_lib_smart_ptr_for_overwrite should have the value 202002L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_smart_ptr_for_overwrite
#     error "__cpp_lib_smart_ptr_for_overwrite should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_source_location
#     error "__cpp_lib_source_location should be defined in c++2b"
#   endif
#   if __cpp_lib_source_location != 201907L
#     error "__cpp_lib_source_location should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_source_location
#     error "__cpp_lib_source_location should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_span
#   error "__cpp_lib_span should be defined in c++2b"
# endif
# if __cpp_lib_span != 202002L
#   error "__cpp_lib_span should have the value 202002L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_spanstream
#     error "__cpp_lib_spanstream should be defined in c++2b"
#   endif
#   if __cpp_lib_spanstream != 202106L
#     error "__cpp_lib_spanstream should have the value 202106L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_spanstream
#     error "__cpp_lib_spanstream should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_ssize
#   error "__cpp_lib_ssize should be defined in c++2b"
# endif
# if __cpp_lib_ssize != 201902L
#   error "__cpp_lib_ssize should have the value 201902L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_stacktrace
#     error "__cpp_lib_stacktrace should be defined in c++2b"
#   endif
#   if __cpp_lib_stacktrace != 202011L
#     error "__cpp_lib_stacktrace should have the value 202011L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_stacktrace
#     error "__cpp_lib_stacktrace should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_starts_ends_with
#   error "__cpp_lib_starts_ends_with should be defined in c++2b"
# endif
# if __cpp_lib_starts_ends_with != 201711L
#   error "__cpp_lib_starts_ends_with should have the value 201711L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_stdatomic_h
#     error "__cpp_lib_stdatomic_h should be defined in c++2b"
#   endif
#   if __cpp_lib_stdatomic_h != 202011L
#     error "__cpp_lib_stdatomic_h should have the value 202011L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_stdatomic_h
#     error "__cpp_lib_stdatomic_h should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_string_contains
#   error "__cpp_lib_string_contains should be defined in c++2b"
# endif
# if __cpp_lib_string_contains != 202011L
#   error "__cpp_lib_string_contains should have the value 202011L in c++2b"
# endif

# ifndef __cpp_lib_string_resize_and_overwrite
#   error "__cpp_lib_string_resize_and_overwrite should be defined in c++2b"
# endif
# if __cpp_lib_string_resize_and_overwrite != 202110L
#   error "__cpp_lib_string_resize_and_overwrite should have the value 202110L in c++2b"
# endif

# ifndef __cpp_lib_string_udls
#   error "__cpp_lib_string_udls should be defined in c++2b"
# endif
# if __cpp_lib_string_udls != 201304L
#   error "__cpp_lib_string_udls should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_string_view
#   error "__cpp_lib_string_view should be defined in c++2b"
# endif
# if __cpp_lib_string_view != 201803L
#   error "__cpp_lib_string_view should have the value 201803L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should be defined in c++2b"
#   endif
#   if __cpp_lib_syncbuf != 201803L
#     error "__cpp_lib_syncbuf should have the value 201803L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_syncbuf
#     error "__cpp_lib_syncbuf should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should be defined in c++2b"
#   endif
#   if __cpp_lib_three_way_comparison != 201907L
#     error "__cpp_lib_three_way_comparison should have the value 201907L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_three_way_comparison
#     error "__cpp_lib_three_way_comparison should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_to_address
#   error "__cpp_lib_to_address should be defined in c++2b"
# endif
# if __cpp_lib_to_address != 201711L
#   error "__cpp_lib_to_address should have the value 201711L in c++2b"
# endif

# ifndef __cpp_lib_to_array
#   error "__cpp_lib_to_array should be defined in c++2b"
# endif
# if __cpp_lib_to_array != 201907L
#   error "__cpp_lib_to_array should have the value 201907L in c++2b"
# endif

# if !defined(_LIBCPP_VERSION)
#   ifndef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should be defined in c++2b"
#   endif
#   if __cpp_lib_to_chars != 201611L
#     error "__cpp_lib_to_chars should have the value 201611L in c++2b"
#   endif
# else // _LIBCPP_VERSION
#   ifdef __cpp_lib_to_chars
#     error "__cpp_lib_to_chars should not be defined because it is unimplemented in libc++!"
#   endif
# endif

# ifndef __cpp_lib_to_underlying
#   error "__cpp_lib_to_underlying should be defined in c++2b"
# endif
# if __cpp_lib_to_underlying != 202102L
#   error "__cpp_lib_to_underlying should have the value 202102L in c++2b"
# endif

# ifndef __cpp_lib_transformation_trait_aliases
#   error "__cpp_lib_transformation_trait_aliases should be defined in c++2b"
# endif
# if __cpp_lib_transformation_trait_aliases != 201304L
#   error "__cpp_lib_transformation_trait_aliases should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_transparent_operators
#   error "__cpp_lib_transparent_operators should be defined in c++2b"
# endif
# if __cpp_lib_transparent_operators != 201510L
#   error "__cpp_lib_transparent_operators should have the value 201510L in c++2b"
# endif

# ifndef __cpp_lib_tuple_element_t
#   error "__cpp_lib_tuple_element_t should be defined in c++2b"
# endif
# if __cpp_lib_tuple_element_t != 201402L
#   error "__cpp_lib_tuple_element_t should have the value 201402L in c++2b"
# endif

# ifndef __cpp_lib_tuples_by_type
#   error "__cpp_lib_tuples_by_type should be defined in c++2b"
# endif
# if __cpp_lib_tuples_by_type != 201304L
#   error "__cpp_lib_tuples_by_type should have the value 201304L in c++2b"
# endif

# ifndef __cpp_lib_type_identity
#   error "__cpp_lib_type_identity should be defined in c++2b"
# endif
# if __cpp_lib_type_identity != 201806L
#   error "__cpp_lib_type_identity should have the value 201806L in c++2b"
# endif

# ifndef __cpp_lib_type_trait_variable_templates
#   error "__cpp_lib_type_trait_variable_templates should be defined in c++2b"
# endif
# if __cpp_lib_type_trait_variable_templates != 201510L
#   error "__cpp_lib_type_trait_variable_templates should have the value 201510L in c++2b"
# endif

# ifndef __cpp_lib_uncaught_exceptions
#   error "__cpp_lib_uncaught_exceptions should be defined in c++2b"
# endif
# if __cpp_lib_uncaught_exceptions != 201411L
#   error "__cpp_lib_uncaught_exceptions should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_unordered_map_try_emplace
#   error "__cpp_lib_unordered_map_try_emplace should be defined in c++2b"
# endif
# if __cpp_lib_unordered_map_try_emplace != 201411L
#   error "__cpp_lib_unordered_map_try_emplace should have the value 201411L in c++2b"
# endif

# ifndef __cpp_lib_unreachable
#   error "__cpp_lib_unreachable should be defined in c++2b"
# endif
# if __cpp_lib_unreachable != 202202L
#   error "__cpp_lib_unreachable should have the value 202202L in c++2b"
# endif

# ifndef __cpp_lib_unwrap_ref
#   error "__cpp_lib_unwrap_ref should be defined in c++2b"
# endif
# if __cpp_lib_unwrap_ref != 201811L
#   error "__cpp_lib_unwrap_ref should have the value 201811L in c++2b"
# endif

# ifndef __cpp_lib_variant
#   error "__cpp_lib_variant should be defined in c++2b"
# endif
# if __cpp_lib_variant != 202102L
#   error "__cpp_lib_variant should have the value 202102L in c++2b"
# endif

# ifndef __cpp_lib_void_t
#   error "__cpp_lib_void_t should be defined in c++2b"
# endif
# if __cpp_lib_void_t != 201411L
#   error "__cpp_lib_void_t should have the value 201411L in c++2b"
# endif

#endif // TEST_STD_VER > 20

int main(int, char**) { return 0; }
