// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

#ifndef _LIBCPP_VERSIONH
#define _LIBCPP_VERSIONH

/*
  version synopsis

Macro name                                              Value   Headers
__cpp_lib_adaptor_iterator_pair_constructor             202106L <queue> <stack>
__cpp_lib_addressof_constexpr                           201603L <memory>
__cpp_lib_allocate_at_least                             202302L <memory>
__cpp_lib_allocator_traits_is_always_equal              201411L <deque> <forward_list> <list>
                                                                <map> <memory> <scoped_allocator>
                                                                <set> <string> <unordered_map>
                                                                <unordered_set> <vector>
__cpp_lib_any                                           201606L <any>
__cpp_lib_apply                                         201603L <tuple>
__cpp_lib_array_constexpr                               201811L <array> <iterator>
                                                        201603L // C++17
__cpp_lib_as_const                                      201510L <utility>
__cpp_lib_associative_heterogeneous_erasure             202110L <map> <set> <unordered_map>
                                                                <unordered_set>
__cpp_lib_associative_heterogeneous_insertion           202306L <map> <set> <unordered_map>
                                                                <unordered_set>
__cpp_lib_assume_aligned                                201811L <memory>
__cpp_lib_atomic_flag_test                              201907L <atomic>
__cpp_lib_atomic_float                                  201711L <atomic>
__cpp_lib_atomic_is_always_lock_free                    201603L <atomic>
__cpp_lib_atomic_lock_free_type_aliases                 201907L <atomic>
__cpp_lib_atomic_min_max                                202403L <atomic>
__cpp_lib_atomic_ref                                    201806L <atomic>
__cpp_lib_atomic_shared_ptr                             201711L <atomic>
__cpp_lib_atomic_value_initialization                   201911L <atomic> <memory>
__cpp_lib_atomic_wait                                   201907L <atomic>
__cpp_lib_barrier                                       201907L <barrier>
__cpp_lib_bind_back                                     202202L <functional>
__cpp_lib_bind_front                                    202306L <functional>
                                                        201907L // C++20
__cpp_lib_bit_cast                                      201806L <bit>
__cpp_lib_bitops                                        201907L <bit>
__cpp_lib_bitset                                        202306L <bitset>
__cpp_lib_bool_constant                                 201505L <type_traits>
__cpp_lib_bounded_array_traits                          201902L <type_traits>
__cpp_lib_boyer_moore_searcher                          201603L <functional>
__cpp_lib_byte                                          201603L <cstddef>
__cpp_lib_byteswap                                      202110L <bit>
__cpp_lib_char8_t                                       201907L <atomic> <filesystem> <istream>
                                                                <limits> <locale> <ostream>
                                                                <string> <string_view>
__cpp_lib_chrono                                        201611L <chrono>
__cpp_lib_chrono_udls                                   201304L <chrono>
__cpp_lib_clamp                                         201603L <algorithm>
__cpp_lib_complex_udls                                  201309L <complex>
__cpp_lib_concepts                                      202002L <concepts>
__cpp_lib_constexpr_algorithms                          201806L <algorithm> <utility>
__cpp_lib_constexpr_bitset                              202207L <bitset>
__cpp_lib_constexpr_charconv                            202207L <charconv>
__cpp_lib_constexpr_cmath                               202202L <cmath> <cstdlib>
__cpp_lib_constexpr_complex                             201711L <complex>
__cpp_lib_constexpr_dynamic_alloc                       201907L <memory>
__cpp_lib_constexpr_functional                          201907L <functional>
__cpp_lib_constexpr_iterator                            201811L <iterator>
__cpp_lib_constexpr_memory                              202202L <memory>
                                                        201811L // C++20
__cpp_lib_constexpr_new                                 202406L <new>
__cpp_lib_constexpr_numeric                             201911L <numeric>
__cpp_lib_constexpr_string                              201907L <string>
__cpp_lib_constexpr_string_view                         201811L <string_view>
__cpp_lib_constexpr_tuple                               201811L <tuple>
__cpp_lib_constexpr_typeinfo                            202106L <typeinfo>
__cpp_lib_constexpr_utility                             201811L <utility>
__cpp_lib_constexpr_vector                              201907L <vector>
__cpp_lib_constrained_equality                          202403L <optional> <tuple> <utility>
                                                                <variant>
__cpp_lib_containers_ranges                             202202L <deque> <forward_list> <list>
                                                                <map> <queue> <set>
                                                                <stack> <string> <unordered_map>
                                                                <unordered_set> <vector>
__cpp_lib_copyable_function                             202306L <functional>
__cpp_lib_coroutine                                     201902L <coroutine>
__cpp_lib_debugging                                     202311L <debugging>
__cpp_lib_default_template_type_for_algorithm_values    202403L <algorithm> <deque> <forward_list>
                                                                <list> <ranges> <string>
                                                                <vector>
__cpp_lib_destroying_delete                             201806L <new>
__cpp_lib_enable_shared_from_this                       201603L <memory>
__cpp_lib_endian                                        201907L <bit>
__cpp_lib_erase_if                                      202002L <deque> <forward_list> <list>
                                                                <map> <set> <string>
                                                                <unordered_map> <unordered_set> <vector>
__cpp_lib_exchange_function                             201304L <utility>
__cpp_lib_execution                                     201902L <execution>
                                                        201603L // C++17
__cpp_lib_expected                                      202211L <expected>
__cpp_lib_filesystem                                    201703L <filesystem>
__cpp_lib_format                                        202110L <format>
__cpp_lib_format_path                                   202403L <filesystem>
__cpp_lib_format_ranges                                 202207L <format>
__cpp_lib_format_uchar                                  202311L <format>
__cpp_lib_formatters                                    202302L <stacktrace> <thread>
__cpp_lib_forward_like                                  202207L <utility>
__cpp_lib_freestanding_algorithm                        202311L <algorithm>
__cpp_lib_freestanding_array                            202311L <array>
__cpp_lib_freestanding_cstring                          202306L <cstring>
__cpp_lib_freestanding_expected                         202311L <expected>
__cpp_lib_freestanding_mdspan                           202311L <mdspan>
__cpp_lib_freestanding_optional                         202311L <optional>
__cpp_lib_freestanding_string_view                      202311L <string_view>
__cpp_lib_freestanding_variant                          202311L <variant>
__cpp_lib_fstream_native_handle                         202306L <fstream>
__cpp_lib_function_ref                                  202306L <functional>
__cpp_lib_gcd_lcm                                       201606L <numeric>
__cpp_lib_generate_random                               202403L <random>
__cpp_lib_generic_associative_lookup                    201304L <map> <set>
__cpp_lib_generic_unordered_lookup                      201811L <unordered_map> <unordered_set>
__cpp_lib_hardware_interference_size                    201703L <new>
__cpp_lib_has_unique_object_representations             201606L <type_traits>
__cpp_lib_hazard_pointer                                202306L <hazard_pointer>
__cpp_lib_hypot                                         201603L <cmath>
__cpp_lib_incomplete_container_elements                 201505L <forward_list> <list> <vector>
__cpp_lib_inplace_vector                                202406L <inplace_vector>
__cpp_lib_int_pow2                                      202002L <bit>
__cpp_lib_integer_comparison_functions                  202002L <utility>
__cpp_lib_integer_sequence                              201304L <utility>
__cpp_lib_integral_constant_callable                    201304L <type_traits>
__cpp_lib_interpolate                                   201902L <cmath> <numeric>
__cpp_lib_invoke                                        201411L <functional>
__cpp_lib_invoke_r                                      202106L <functional>
__cpp_lib_ios_noreplace                                 202207L <ios>
__cpp_lib_is_aggregate                                  201703L <type_traits>
__cpp_lib_is_constant_evaluated                         201811L <type_traits>
__cpp_lib_is_final                                      201402L <type_traits>
__cpp_lib_is_implicit_lifetime                          202302L <type_traits>
__cpp_lib_is_invocable                                  201703L <type_traits>
__cpp_lib_is_layout_compatible                          201907L <type_traits>
__cpp_lib_is_nothrow_convertible                        201806L <type_traits>
__cpp_lib_is_null_pointer                               201309L <type_traits>
__cpp_lib_is_pointer_interconvertible                   201907L <type_traits>
__cpp_lib_is_scoped_enum                                202011L <type_traits>
__cpp_lib_is_swappable                                  201603L <type_traits>
__cpp_lib_is_virtual_base_of                            202406L <type_traits>
__cpp_lib_is_within_lifetime                            202306L <type_traits>
__cpp_lib_jthread                                       201911L <stop_token> <thread>
__cpp_lib_latch                                         201907L <latch>
__cpp_lib_launder                                       201606L <new>
__cpp_lib_linalg                                        202311L <linalg>
__cpp_lib_list_remove_return_type                       201806L <forward_list> <list>
__cpp_lib_logical_traits                                201510L <type_traits>
__cpp_lib_make_from_tuple                               201606L <tuple>
__cpp_lib_make_reverse_iterator                         201402L <iterator>
__cpp_lib_make_unique                                   201304L <memory>
__cpp_lib_map_try_emplace                               201411L <map>
__cpp_lib_math_constants                                201907L <numbers>
__cpp_lib_math_special_functions                        201603L <cmath>
__cpp_lib_mdspan                                        202406L <mdspan>
                                                        202207L // C++23
__cpp_lib_memory_resource                               201603L <memory_resource>
__cpp_lib_move_iterator_concept                         202207L <iterator>
__cpp_lib_move_only_function                            202110L <functional>
__cpp_lib_node_extract                                  201606L <map> <set> <unordered_map>
                                                                <unordered_set>
__cpp_lib_nonmember_container_access                    201411L <array> <deque> <forward_list>
                                                                <iterator> <list> <map>
                                                                <regex> <set> <string>
                                                                <unordered_map> <unordered_set> <vector>
__cpp_lib_not_fn                                        202306L <functional>
                                                        201603L // C++17
__cpp_lib_null_iterators                                201304L <iterator>
__cpp_lib_optional                                      202110L <optional>
                                                        202106L // C++20
                                                        201606L // C++17
__cpp_lib_optional_range_support                        202406L <optional>
__cpp_lib_out_ptr                                       202311L <memory>
                                                        202106L // C++23
__cpp_lib_parallel_algorithm                            201603L <algorithm> <numeric>
__cpp_lib_philox_engine                                 202406L <random>
__cpp_lib_polymorphic_allocator                         201902L <memory_resource>
__cpp_lib_print                                         202207L <ostream> <print>
__cpp_lib_quoted_string_io                              201304L <iomanip>
__cpp_lib_ranges                                        202406L <algorithm> <functional> <iterator>
                                                                <memory> <ranges>
                                                        202110L // C++20
__cpp_lib_ranges_as_const                               202207L <ranges>
__cpp_lib_ranges_as_rvalue                              202207L <ranges>
__cpp_lib_ranges_chunk                                  202202L <ranges>
__cpp_lib_ranges_chunk_by                               202202L <ranges>
__cpp_lib_ranges_concat                                 202403L <ranges>
__cpp_lib_ranges_contains                               202207L <algorithm>
__cpp_lib_ranges_find_last                              202207L <algorithm>
__cpp_lib_ranges_iota                                   202202L <numeric>
__cpp_lib_ranges_join_with                              202202L <ranges>
__cpp_lib_ranges_repeat                                 202207L <ranges>
__cpp_lib_ranges_slide                                  202202L <ranges>
__cpp_lib_ranges_starts_ends_with                       202106L <algorithm>
__cpp_lib_ranges_to_container                           202202L <ranges>
__cpp_lib_ranges_zip                                    202110L <ranges> <tuple> <utility>
__cpp_lib_ratio                                         202306L <ratio>
__cpp_lib_raw_memory_algorithms                         201606L <memory>
__cpp_lib_rcu                                           202306L <rcu>
__cpp_lib_reference_from_temporary                      202202L <type_traits>
__cpp_lib_reference_wrapper                             202403L <functional>
__cpp_lib_remove_cvref                                  201711L <type_traits>
__cpp_lib_result_of_sfinae                              201210L <functional> <type_traits>
__cpp_lib_robust_nonmodifying_seq_ops                   201304L <algorithm>
__cpp_lib_sample                                        201603L <algorithm>
__cpp_lib_saturation_arithmetic                         202311L <numeric>
__cpp_lib_scoped_lock                                   201703L <mutex>
__cpp_lib_semaphore                                     201907L <semaphore>
__cpp_lib_senders                                       202406L <execution>
__cpp_lib_shared_mutex                                  201505L <shared_mutex>
__cpp_lib_shared_ptr_arrays                             201707L <memory>
                                                        201611L // C++17
__cpp_lib_shared_ptr_weak_type                          201606L <memory>
__cpp_lib_shared_timed_mutex                            201402L <shared_mutex>
__cpp_lib_shift                                         201806L <algorithm>
__cpp_lib_smart_ptr_for_overwrite                       202002L <memory>
__cpp_lib_smart_ptr_owner_equality                      202306L <memory>
__cpp_lib_source_location                               201907L <source_location>
__cpp_lib_span                                          202002L <span>
__cpp_lib_span_at                                       202311L <span>
__cpp_lib_span_initializer_list                         202311L <span>
__cpp_lib_spanstream                                    202106L <spanstream>
__cpp_lib_ssize                                         201902L <iterator>
__cpp_lib_sstream_from_string_view                      202306L <sstream>
__cpp_lib_stacktrace                                    202011L <stacktrace>
__cpp_lib_starts_ends_with                              201711L <string> <string_view>
__cpp_lib_stdatomic_h                                   202011L <stdatomic.h>
__cpp_lib_string_contains                               202011L <string> <string_view>
__cpp_lib_string_resize_and_overwrite                   202110L <string>
__cpp_lib_string_udls                                   201304L <string>
__cpp_lib_string_view                                   202403L <string> <string_view>
                                                        201803L // C++20
                                                        201606L // C++17
__cpp_lib_submdspan                                     202306L <mdspan>
__cpp_lib_syncbuf                                       201803L <syncstream>
__cpp_lib_text_encoding                                 202306L <text_encoding>
__cpp_lib_three_way_comparison                          201907L <compare>
__cpp_lib_to_address                                    201711L <memory>
__cpp_lib_to_array                                      201907L <array>
__cpp_lib_to_chars                                      202306L <charconv>
                                                        201611L // C++17
__cpp_lib_to_string                                     202306L <string>
__cpp_lib_to_underlying                                 202102L <utility>
__cpp_lib_transformation_trait_aliases                  201304L <type_traits>
__cpp_lib_transparent_operators                         201510L <functional> <memory>
                                                        201210L // C++14
__cpp_lib_tuple_element_t                               201402L <tuple>
__cpp_lib_tuple_like                                    202311L <map> <tuple> <unordered_map>
                                                                <utility>
                                                        202207L // C++23
__cpp_lib_tuples_by_type                                201304L <tuple> <utility>
__cpp_lib_type_identity                                 201806L <type_traits>
__cpp_lib_type_trait_variable_templates                 201510L <type_traits>
__cpp_lib_uncaught_exceptions                           201411L <exception>
__cpp_lib_unordered_map_try_emplace                     201411L <unordered_map>
__cpp_lib_unreachable                                   202202L <utility>
__cpp_lib_unwrap_ref                                    201811L <functional>
__cpp_lib_variant                                       202306L <variant>
                                                        202106L // C++20
                                                        202102L // C++17
__cpp_lib_void_t                                        201411L <type_traits>

*/

#if __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
#  include <__cxx03/version>
#else
#  include <__config>

#  if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#    pragma GCC system_header
#  endif

// clang-format off

#if _LIBCPP_STD_VER >= 14
# define __cpp_lib_chrono_udls                          201304L
# define __cpp_lib_complex_udls                         201309L
# define __cpp_lib_exchange_function                    201304L
# define __cpp_lib_generic_associative_lookup           201304L
# define __cpp_lib_integer_sequence                     201304L
# define __cpp_lib_integral_constant_callable           201304L
# define __cpp_lib_is_final                             201402L
# define __cpp_lib_is_null_pointer                      201309L
# define __cpp_lib_make_reverse_iterator                201402L
# define __cpp_lib_make_unique                          201304L
# define __cpp_lib_null_iterators                       201304L
# if _LIBCPP_HAS_LOCALIZATION
#   define __cpp_lib_quoted_string_io                   201304L
# endif
# define __cpp_lib_result_of_sfinae                     201210L
# define __cpp_lib_robust_nonmodifying_seq_ops          201304L
# if _LIBCPP_HAS_THREADS
#   define __cpp_lib_shared_timed_mutex                 201402L
# endif
# define __cpp_lib_string_udls                          201304L
# define __cpp_lib_transformation_trait_aliases         201304L
# define __cpp_lib_transparent_operators                201210L
# define __cpp_lib_tuple_element_t                      201402L
# define __cpp_lib_tuples_by_type                       201304L
#endif

#if _LIBCPP_STD_VER >= 17
# define __cpp_lib_addressof_constexpr                  201603L
# define __cpp_lib_allocator_traits_is_always_equal     201411L
# define __cpp_lib_any                                  201606L
# define __cpp_lib_apply                                201603L
# define __cpp_lib_array_constexpr                      201603L
# define __cpp_lib_as_const                             201510L
# define __cpp_lib_atomic_is_always_lock_free           201603L
# define __cpp_lib_bool_constant                        201505L
# define __cpp_lib_boyer_moore_searcher                 201603L
# define __cpp_lib_byte                                 201603L
# define __cpp_lib_chrono                               201611L
# define __cpp_lib_clamp                                201603L
# define __cpp_lib_enable_shared_from_this              201603L
// # define __cpp_lib_execution                            201603L
# if _LIBCPP_HAS_FILESYSTEM && _LIBCPP_AVAILABILITY_HAS_FILESYSTEM_LIBRARY
#   define __cpp_lib_filesystem                         201703L
# endif
# define __cpp_lib_gcd_lcm                              201606L
# if defined(__GCC_DESTRUCTIVE_SIZE) && defined(__GCC_CONSTRUCTIVE_SIZE)
#   define __cpp_lib_hardware_interference_size         201703L
# endif
# define __cpp_lib_has_unique_object_representations    201606L
# define __cpp_lib_hypot                                201603L
# define __cpp_lib_incomplete_container_elements        201505L
# define __cpp_lib_invoke                               201411L
# define __cpp_lib_is_aggregate                         201703L
# define __cpp_lib_is_invocable                         201703L
# define __cpp_lib_is_swappable                         201603L
# define __cpp_lib_launder                              201606L
# define __cpp_lib_logical_traits                       201510L
# define __cpp_lib_make_from_tuple                      201606L
# define __cpp_lib_map_try_emplace                      201411L
// # define __cpp_lib_math_special_functions               201603L
# if _LIBCPP_AVAILABILITY_HAS_PMR
#   define __cpp_lib_memory_resource                    201603L
# endif
# define __cpp_lib_node_extract                         201606L
# define __cpp_lib_nonmember_container_access           201411L
# define __cpp_lib_not_fn                               201603L
# define __cpp_lib_optional                             201606L
// # define __cpp_lib_parallel_algorithm                   201603L
# define __cpp_lib_raw_memory_algorithms                201606L
# define __cpp_lib_sample                               201603L
# if _LIBCPP_HAS_THREADS
#   define __cpp_lib_scoped_lock                        201703L
# endif
# if _LIBCPP_HAS_THREADS
#   define __cpp_lib_shared_mutex                       201505L
# endif
# define __cpp_lib_shared_ptr_arrays                    201611L
# define __cpp_lib_shared_ptr_weak_type                 201606L
# define __cpp_lib_string_view                          201606L
// # define __cpp_lib_to_chars                             201611L
# undef  __cpp_lib_transparent_operators
# define __cpp_lib_transparent_operators                201510L
# define __cpp_lib_type_trait_variable_templates        201510L
# define __cpp_lib_uncaught_exceptions                  201411L
# define __cpp_lib_unordered_map_try_emplace            201411L
# define __cpp_lib_variant                              202102L
# define __cpp_lib_void_t                               201411L
#endif

#if _LIBCPP_STD_VER >= 20
# undef  __cpp_lib_array_constexpr
# define __cpp_lib_array_constexpr                      201811L
# define __cpp_lib_assume_aligned                       201811L
# define __cpp_lib_atomic_flag_test                     201907L
// # define __cpp_lib_atomic_float                         201711L
# define __cpp_lib_atomic_lock_free_type_aliases        201907L
# define __cpp_lib_atomic_ref                           201806L
// # define __cpp_lib_atomic_shared_ptr                    201711L
# define __cpp_lib_atomic_value_initialization          201911L
# if _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_atomic_wait                        201907L
# endif
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_barrier                            201907L
# endif
# define __cpp_lib_bind_front                           201907L
# define __cpp_lib_bit_cast                             201806L
# define __cpp_lib_bitops                               201907L
# define __cpp_lib_bounded_array_traits                 201902L
# if _LIBCPP_HAS_CHAR8_T
#   define __cpp_lib_char8_t                            201907L
# endif
# define __cpp_lib_concepts                             202002L
# define __cpp_lib_constexpr_algorithms                 201806L
# define __cpp_lib_constexpr_complex                    201711L
# define __cpp_lib_constexpr_dynamic_alloc              201907L
# define __cpp_lib_constexpr_functional                 201907L
# define __cpp_lib_constexpr_iterator                   201811L
# define __cpp_lib_constexpr_memory                     201811L
# define __cpp_lib_constexpr_numeric                    201911L
# define __cpp_lib_constexpr_string                     201907L
# define __cpp_lib_constexpr_string_view                201811L
# define __cpp_lib_constexpr_tuple                      201811L
# define __cpp_lib_constexpr_utility                    201811L
# define __cpp_lib_constexpr_vector                     201907L
# define __cpp_lib_coroutine                            201902L
# if _LIBCPP_STD_VER >= 20 && defined(__cpp_impl_destroying_delete) && __cpp_impl_destroying_delete >= 201806L
#   define __cpp_lib_destroying_delete                  201806L
# endif
# define __cpp_lib_endian                               201907L
# define __cpp_lib_erase_if                             202002L
# undef  __cpp_lib_execution
// # define __cpp_lib_execution                            201902L
# define __cpp_lib_format                               202110L
# define __cpp_lib_format_uchar                         202311L
# define __cpp_lib_generic_unordered_lookup             201811L
# define __cpp_lib_int_pow2                             202002L
# define __cpp_lib_integer_comparison_functions         202002L
# define __cpp_lib_interpolate                          201902L
# define __cpp_lib_is_constant_evaluated                201811L
// # define __cpp_lib_is_layout_compatible                 201907L
# define __cpp_lib_is_nothrow_convertible               201806L
// # define __cpp_lib_is_pointer_interconvertible          201907L
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_jthread                            201911L
# endif
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_latch                              201907L
# endif
# define __cpp_lib_list_remove_return_type              201806L
# define __cpp_lib_math_constants                       201907L
# define __cpp_lib_move_iterator_concept                202207L
# undef  __cpp_lib_optional
# define __cpp_lib_optional                             202106L
# if _LIBCPP_AVAILABILITY_HAS_PMR
#   define __cpp_lib_polymorphic_allocator              201902L
# endif
# define __cpp_lib_ranges                               202110L
# define __cpp_lib_remove_cvref                         201711L
# if _LIBCPP_HAS_THREADS && _LIBCPP_AVAILABILITY_HAS_SYNC
#   define __cpp_lib_semaphore                          201907L
# endif
# undef  __cpp_lib_shared_ptr_arrays
# define __cpp_lib_shared_ptr_arrays                    201707L
# define __cpp_lib_shift                                201806L
# define __cpp_lib_smart_ptr_for_overwrite              202002L
# define __cpp_lib_source_location                      201907L
# define __cpp_lib_span                                 202002L
# define __cpp_lib_ssize                                201902L
# define __cpp_lib_starts_ends_with                     201711L
# undef  __cpp_lib_string_view
# define __cpp_lib_string_view                          201803L
# if !defined(_LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM)
#   define __cpp_lib_syncbuf                            201803L
# endif
# define __cpp_lib_three_way_comparison                 201907L
# define __cpp_lib_to_address                           201711L
# define __cpp_lib_to_array                             201907L
# define __cpp_lib_type_identity                        201806L
# define __cpp_lib_unwrap_ref                           201811L
# undef  __cpp_lib_variant
# define __cpp_lib_variant                              202106L
#endif

#if _LIBCPP_STD_VER >= 23
# define __cpp_lib_adaptor_iterator_pair_constructor    202106L
# define __cpp_lib_allocate_at_least                    202302L
// # define __cpp_lib_associative_heterogeneous_erasure    202110L
# define __cpp_lib_bind_back                            202202L
# define __cpp_lib_byteswap                             202110L
# define __cpp_lib_constexpr_bitset                     202207L
# define __cpp_lib_constexpr_charconv                   202207L
// # define __cpp_lib_constexpr_cmath                      202202L
# undef  __cpp_lib_constexpr_memory
# define __cpp_lib_constexpr_memory                     202202L
# define __cpp_lib_constexpr_typeinfo                   202106L
# define __cpp_lib_containers_ranges                    202202L
# define __cpp_lib_expected                             202211L
# define __cpp_lib_format_ranges                        202207L
// # define __cpp_lib_formatters                           202302L
# define __cpp_lib_forward_like                         202207L
# define __cpp_lib_invoke_r                             202106L
# define __cpp_lib_ios_noreplace                        202207L
# if __has_builtin(__builtin_is_implicit_lifetime)
#   define __cpp_lib_is_implicit_lifetime               202302L
# endif
# define __cpp_lib_is_scoped_enum                       202011L
# define __cpp_lib_mdspan                               202207L
# define __cpp_lib_modules                              202207L
// # define __cpp_lib_move_only_function                   202110L
# undef  __cpp_lib_optional
# define __cpp_lib_optional                             202110L
# define __cpp_lib_out_ptr                              202106L
# define __cpp_lib_print                                202207L
# undef  __cpp_lib_ranges
# define __cpp_lib_ranges                               202406L
// # define __cpp_lib_ranges_as_const                      202207L
# define __cpp_lib_ranges_as_rvalue                     202207L
// # define __cpp_lib_ranges_chunk                         202202L
# define __cpp_lib_ranges_chunk_by                      202202L
# define __cpp_lib_ranges_contains                      202207L
# define __cpp_lib_ranges_find_last                     202207L
// # define __cpp_lib_ranges_iota                          202202L
// # define __cpp_lib_ranges_join_with                     202202L
# define __cpp_lib_ranges_repeat                        202207L
// # define __cpp_lib_ranges_slide                         202202L
# define __cpp_lib_ranges_starts_ends_with              202106L
# define __cpp_lib_ranges_to_container                  202202L
// # define __cpp_lib_ranges_zip                           202110L
// # define __cpp_lib_reference_from_temporary             202202L
// # define __cpp_lib_spanstream                           202106L
// # define __cpp_lib_stacktrace                           202011L
# define __cpp_lib_stdatomic_h                          202011L
# define __cpp_lib_string_contains                      202011L
# define __cpp_lib_string_resize_and_overwrite          202110L
# define __cpp_lib_to_underlying                        202102L
// # define __cpp_lib_tuple_like                           202207L
# define __cpp_lib_unreachable                          202202L
#endif

#if _LIBCPP_STD_VER >= 26
// # define __cpp_lib_associative_heterogeneous_insertion  202306L
// # define __cpp_lib_atomic_min_max                       202403L
# undef  __cpp_lib_bind_front
# define __cpp_lib_bind_front                           202306L
# define __cpp_lib_bitset                               202306L
# if !defined(_LIBCPP_ABI_VCRUNTIME)
#   define __cpp_lib_constexpr_new                      202406L
# endif
// # define __cpp_lib_constrained_equality                 202403L
// # define __cpp_lib_copyable_function                    202306L
// # define __cpp_lib_debugging                            202311L
// # define __cpp_lib_default_template_type_for_algorithm_values 202403L
// # define __cpp_lib_format_path                          202403L
// # define __cpp_lib_freestanding_algorithm               202311L
// # define __cpp_lib_freestanding_array                   202311L
// # define __cpp_lib_freestanding_cstring                 202306L
// # define __cpp_lib_freestanding_expected                202311L
// # define __cpp_lib_freestanding_mdspan                  202311L
// # define __cpp_lib_freestanding_optional                202311L
// # define __cpp_lib_freestanding_string_view             202311L
// # define __cpp_lib_freestanding_variant                 202311L
# if _LIBCPP_HAS_FILESYSTEM && _LIBCPP_HAS_LOCALIZATION
#   define __cpp_lib_fstream_native_handle              202306L
# endif
// # define __cpp_lib_function_ref                         202306L
// # define __cpp_lib_generate_random                      202403L
// # define __cpp_lib_hazard_pointer                       202306L
// # define __cpp_lib_inplace_vector                       202406L
# if __has_builtin(__builtin_is_virtual_base_of)
#   define __cpp_lib_is_virtual_base_of                 202406L
# endif
// # define __cpp_lib_is_within_lifetime                   202306L
// # define __cpp_lib_linalg                               202311L
# undef  __cpp_lib_mdspan
# define __cpp_lib_mdspan                               202406L
# undef  __cpp_lib_not_fn
# define __cpp_lib_not_fn                               202306L
// # define __cpp_lib_optional_range_support               202406L
# undef  __cpp_lib_out_ptr
# define __cpp_lib_out_ptr                              202311L
// # define __cpp_lib_philox_engine                        202406L
// # define __cpp_lib_ranges_concat                        202403L
# define __cpp_lib_ratio                                202306L
// # define __cpp_lib_rcu                                  202306L
# define __cpp_lib_reference_wrapper                    202403L
# define __cpp_lib_saturation_arithmetic                202311L
// # define __cpp_lib_senders                              202406L
// # define __cpp_lib_smart_ptr_owner_equality             202306L
# define __cpp_lib_span_at                              202311L
# define __cpp_lib_span_initializer_list                202311L
# define __cpp_lib_sstream_from_string_view             202306L
# undef  __cpp_lib_string_view
# define __cpp_lib_string_view                          202403L
// # define __cpp_lib_submdspan                            202306L
// # define __cpp_lib_text_encoding                        202306L
# undef  __cpp_lib_to_chars
// # define __cpp_lib_to_chars                             202306L
// # define __cpp_lib_to_string                            202306L
# undef  __cpp_lib_tuple_like
// # define __cpp_lib_tuple_like                           202311L
# undef  __cpp_lib_variant
# define __cpp_lib_variant                              202306L
#endif

#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)

// clang-format on

#endif // _LIBCPP_VERSIONH
