//===----------------------------------------------------------------------===//
//
// 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                              201907L [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_bitset                     202207L [C++2b]
    __cpp_lib_constexpr_charconv                   202207L [C++2b]
    __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]
                                                   202202L [C++2b]
    __cpp_lib_constexpr_numeric                    201911L [C++20]
    __cpp_lib_constexpr_string                     201907L [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_expected                             202202L [C++2b]
    __cpp_lib_filesystem                           201703L [C++17]
    __cpp_lib_format                               202106L [C++20]
    __cpp_lib_format_ranges                        202207L [C++2b]
    __cpp_lib_formatters                           202302L [C++2b]
    __cpp_lib_forward_like                         202207L [C++2b]
    __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_move_iterator_concept                202207L [C++20]
    __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]
                                                   202110L [C++2b]
    __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                               202106L [C++20]
    __cpp_lib_ranges_as_rvalue                     202207L [C++2b]
    __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]
                                                   201707L [C++20]
    __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_bitset
#   error "__cpp_lib_constexpr_bitset should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_charconv
#   error "__cpp_lib_constexpr_charconv should not be defined before c++2b"
# 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_expected
#   error "__cpp_lib_expected should not be defined before c++2b"
# 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_format_ranges
#   error "__cpp_lib_format_ranges should not be defined before c++2b"
# endif

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

# ifdef __cpp_lib_forward_like
#   error "__cpp_lib_forward_like should not be defined before c++2b"
# 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_move_iterator_concept
#   error "__cpp_lib_move_iterator_concept should not be defined before c++20"
# 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_as_rvalue
#   error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
# 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_bitset
#   error "__cpp_lib_constexpr_bitset should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_charconv
#   error "__cpp_lib_constexpr_charconv should not be defined before c++2b"
# 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_expected
#   error "__cpp_lib_expected should not be defined before c++2b"
# 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_format_ranges
#   error "__cpp_lib_format_ranges should not be defined before c++2b"
# endif

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

# ifdef __cpp_lib_forward_like
#   error "__cpp_lib_forward_like should not be defined before c++2b"
# 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_move_iterator_concept
#   error "__cpp_lib_move_iterator_concept should not be defined before c++20"
# 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_as_rvalue
#   error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
# 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_HAS_NO_SHARED_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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SHARED_MUTEX)' is not met!"
#   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

# 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

# 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_bitset
#   error "__cpp_lib_constexpr_bitset should not be defined before c++2b"
# endif

# ifdef __cpp_lib_constexpr_charconv
#   error "__cpp_lib_constexpr_charconv should not be defined before c++2b"
# 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

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

# if !defined(_LIBCPP_AVAILABILITY_HAS_NO_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 the requirement '!defined(_LIBCPP_AVAILABILITY_HAS_NO_FILESYSTEM)' is not met!"
#   endif
# endif

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

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

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

# ifdef __cpp_lib_forward_like
#   error "__cpp_lib_forward_like should not be defined before c++2b"
# 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(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
#   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
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined when the requirement 'defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)' is not met!"
#   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

# 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

# ifdef __cpp_lib_move_iterator_concept
#   error "__cpp_lib_move_iterator_concept should not be defined before c++20"
# 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_as_rvalue
#   error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
# 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_HAS_NO_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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SHARED_MUTEX)' is not met!"
#   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_HAS_NO_SHARED_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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SHARED_MUTEX)' is not met!"
#   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

# 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

# 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_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   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

# 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

# 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 != 201907L
#     error "__cpp_lib_char8_t should have the value 201907L in c++20"
#   endif
# else
#   ifdef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
#   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_bitset
#   error "__cpp_lib_constexpr_bitset should not be defined before c++2b"
# endif

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

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

# 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

# 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 != 201907L
#   error "__cpp_lib_constexpr_string should have the value 201907L 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

# 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

# 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 the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
#   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

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

# if !defined(_LIBCPP_AVAILABILITY_HAS_NO_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 the requirement '!defined(_LIBCPP_AVAILABILITY_HAS_NO_FILESYSTEM)' is not met!"
#   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

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

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

# ifdef __cpp_lib_forward_like
#   error "__cpp_lib_forward_like should not be defined before c++2b"
# 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(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
#   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
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined when the requirement 'defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)' is not met!"
#   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

# 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

# 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_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   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

# 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

# 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

# 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

# ifndef __cpp_lib_move_iterator_concept
#   error "__cpp_lib_move_iterator_concept should be defined in c++20"
# endif
# if __cpp_lib_move_iterator_concept != 202207L
#   error "__cpp_lib_move_iterator_concept should have the value 202207L in c++20"
# 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

# 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

# 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

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

# ifdef __cpp_lib_ranges_as_rvalue
#   error "__cpp_lib_ranges_as_rvalue should not be defined before c++2b"
# 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_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SHARED_MUTEX)' is not met!"
#   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 != 201707L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201707L 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_HAS_NO_SHARED_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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SHARED_MUTEX)' is not met!"
#   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 __has_builtin(__builtin_source_location) && !(defined(TEST_APPLE_CLANG_VER) && TEST_APPLE_CLANG_VER <= 1403)
#   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
#   ifdef __cpp_lib_source_location
#     error "__cpp_lib_source_location should not be defined when the requirement '__has_builtin(__builtin_source_location) && !(defined(TEST_APPLE_CLANG_VER) && TEST_APPLE_CLANG_VER <= 1403)' is not met!"
#   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

# 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

# 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

# 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

# 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_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   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

# 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

# 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 != 201907L
#     error "__cpp_lib_char8_t should have the value 201907L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_char8_t
#     error "__cpp_lib_char8_t should not be defined when the requirement 'defined(__cpp_char8_t)' is not met!"
#   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

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

# ifndef __cpp_lib_constexpr_charconv
#   error "__cpp_lib_constexpr_charconv should be defined in c++2b"
# endif
# if __cpp_lib_constexpr_charconv != 202207L
#   error "__cpp_lib_constexpr_charconv should have the value 202207L 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

# 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

# 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 != 202202L
#   error "__cpp_lib_constexpr_memory should have the value 202202L 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 != 201907L
#   error "__cpp_lib_constexpr_string should have the value 201907L 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

# 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

# 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

# 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

# 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 the requirement 'TEST_STD_VER > 17 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L' is not met!"
#   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

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

# if !defined(_LIBCPP_AVAILABILITY_HAS_NO_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 the requirement '!defined(_LIBCPP_AVAILABILITY_HAS_NO_FILESYSTEM)' is not met!"
#   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

# if !defined(_LIBCPP_HAS_NO_INCOMPLETE_FORMAT)
#   ifndef __cpp_lib_format_ranges
#     error "__cpp_lib_format_ranges should be defined in c++2b"
#   endif
#   if __cpp_lib_format_ranges != 202207L
#     error "__cpp_lib_format_ranges should have the value 202207L in c++2b"
#   endif
# else
#   ifdef __cpp_lib_format_ranges
#     error "__cpp_lib_format_ranges should not be defined when the requirement '!defined(_LIBCPP_HAS_NO_INCOMPLETE_FORMAT)' is not met!"
#   endif
# endif

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

# ifndef __cpp_lib_forward_like
#   error "__cpp_lib_forward_like should be defined in c++2b"
# endif
# if __cpp_lib_forward_like != 202207L
#   error "__cpp_lib_forward_like should have the value 202207L in c++2b"
# 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(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
#   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
#   ifdef __cpp_lib_hardware_interference_size
#     error "__cpp_lib_hardware_interference_size should not be defined when the requirement 'defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)' is not met!"
#   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

# 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

# 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

# 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

# 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_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   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

# 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

# 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

# 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

# ifndef __cpp_lib_move_iterator_concept
#   error "__cpp_lib_move_iterator_concept should be defined in c++2b"
# endif
# if __cpp_lib_move_iterator_concept != 202207L
#   error "__cpp_lib_move_iterator_concept should have the value 202207L 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 != 202110L
#   error "__cpp_lib_optional should have the value 202110L 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

# 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

# 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

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

# ifndef __cpp_lib_ranges_as_rvalue
#   error "__cpp_lib_ranges_as_rvalue should be defined in c++2b"
# endif
# if __cpp_lib_ranges_as_rvalue != 202207L
#   error "__cpp_lib_ranges_as_rvalue should have the value 202207L in c++2b"
# 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_HAS_NO_SYNC)
#   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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SYNC)' is not met!"
#   endif
# endif

# if !defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SHARED_MUTEX)' is not met!"
#   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 != 201707L
#   error "__cpp_lib_shared_ptr_arrays should have the value 201707L 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_HAS_NO_SHARED_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 the requirement '!defined(_LIBCPP_HAS_NO_THREADS) && !defined(_LIBCPP_AVAILABILITY_HAS_NO_SHARED_MUTEX)' is not met!"
#   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 __has_builtin(__builtin_source_location) && !(defined(TEST_APPLE_CLANG_VER) && TEST_APPLE_CLANG_VER <= 1403)
#   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
#   ifdef __cpp_lib_source_location
#     error "__cpp_lib_source_location should not be defined when the requirement '__has_builtin(__builtin_source_location) && !(defined(TEST_APPLE_CLANG_VER) && TEST_APPLE_CLANG_VER <= 1403)' is not met!"
#   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

# 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

# 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

