Each of the macros defined in <version> is also defined
after inclusion of any member of the set of library headers
indicated in the corresponding comment in this synopsis.
Future revisions of C++ might replace
the values of these macros with greater values.
— end note]
#define__cpp_lib_addressof_constexpr201603L// also in <memory>#define__cpp_lib_allocator_traits_is_always_equal201411L// also in <memory>, <scoped_allocator>, <string>, <deque>, <forward_list>, <list>, <vector>,// <map>, <set>, <unordered_map>, <unordered_set>#define__cpp_lib_any201606L// also in <any>#define__cpp_lib_apply201603L// also in <tuple>#define__cpp_lib_array_constexpr201811L// also in <iterator>, <array>#define__cpp_lib_as_const201510L// also in <utility>#define__cpp_lib_assume_aligned201811L// also in <memory>#define__cpp_lib_atomic_flag_test201907L// also in <atomic>#define__cpp_lib_atomic_float201711L// also in <atomic>#define__cpp_lib_atomic_is_always_lock_free201603L// also in <atomic>#define__cpp_lib_atomic_lock_free_type_aliases201907L// also in <atomic>#define__cpp_lib_atomic_ref201806L// also in <atomic>#define__cpp_lib_atomic_shared_ptr201711L// also in <memory>#define__cpp_lib_atomic_value_initialization201911L// also in <atomic>, <memory>#define__cpp_lib_atomic_wait201907L// also in <atomic>#define__cpp_lib_barrier201907L// also in <barrier>#define__cpp_lib_bind_front201907L// also in <functional>#define__cpp_lib_bit_cast201806L// also in <bit>#define__cpp_lib_bitops201907L// also in <bit>#define__cpp_lib_bool_constant201505L// also in <type_traits>#define__cpp_lib_bounded_array_traits201902L// also in <type_traits>#define__cpp_lib_boyer_moore_searcher201603L// also in <functional>#define__cpp_lib_byte201603L// also in <cstddef>#define__cpp_lib_char8_t201907L// also in <atomic>, <filesystem>, <istream>, <limits>, <locale>, <ostream>, <string>, <string_view>#define__cpp_lib_chrono201907L// also in <chrono>#define__cpp_lib_chrono_udls201304L// also in <chrono>#define__cpp_lib_clamp201603L// also in <algorithm>#define__cpp_lib_complex_udls201309L// also in <complex>#define__cpp_lib_concepts202002L// also in <concepts>#define__cpp_lib_constexpr_algorithms201806L// also in <algorithm>#define__cpp_lib_constexpr_complex201711L// also in <complex>#define__cpp_lib_constexpr_dynamic_alloc201907L// also in <memory>#define__cpp_lib_constexpr_functional201907L// also in <functional>#define__cpp_lib_constexpr_iterator201811L// also in <iterator>#define__cpp_lib_constexpr_memory201811L// also in <memory>#define__cpp_lib_constexpr_numeric201911L// also in <numeric>#define__cpp_lib_constexpr_string201907L// also in <string>#define__cpp_lib_constexpr_string_view201811L// also in <string_view>#define__cpp_lib_constexpr_tuple201811L// also in <tuple>#define__cpp_lib_constexpr_utility201811L// also in <utility>#define__cpp_lib_constexpr_vector201907L// also in <vector>#define__cpp_lib_coroutine201902L// also in <coroutine>#define__cpp_lib_destroying_delete201806L// also in <new>#define__cpp_lib_enable_shared_from_this201603L// also in <memory>#define__cpp_lib_endian201907L// also in <bit>#define__cpp_lib_erase_if202002L// also in <string>, <deque>, <forward_list>, <list>, <vector>, <map>, <set>, <unordered_map>,// <unordered_set>#define__cpp_lib_exchange_function201304L// also in <utility>#define__cpp_lib_execution201902L// also in <execution>#define__cpp_lib_filesystem201703L// also in <filesystem>#define__cpp_lib_format201907L// also in <format>#define__cpp_lib_gcd_lcm201606L// also in <numeric>#define__cpp_lib_generic_associative_lookup201304L// also in <map>, <set>#define__cpp_lib_generic_unordered_lookup201811L// also in <unordered_map>, <unordered_set>#define__cpp_lib_hardware_interference_size201703L// also in <new>#define__cpp_lib_has_unique_object_representations201606L// also in <type_traits>#define__cpp_lib_hypot201603L// also in <cmath>#define__cpp_lib_incomplete_container_elements201505L// also in <forward_list>, <list>, <vector>#define__cpp_lib_int_pow2202002L// also in <bit>#define__cpp_lib_integer_comparison_functions202002L// also in <utility>#define__cpp_lib_integer_sequence201304L// also in <utility>#define__cpp_lib_integral_constant_callable201304L// also in <type_traits>#define__cpp_lib_interpolate201902L// also in <cmath>, <numeric>#define__cpp_lib_invoke201411L// also in <functional>#define__cpp_lib_is_aggregate201703L// also in <type_traits>#define__cpp_lib_is_constant_evaluated201811L// also in <type_traits>#define__cpp_lib_is_final201402L// also in <type_traits>#define__cpp_lib_is_invocable201703L// also in <type_traits>#define__cpp_lib_is_layout_compatible201907L// also in <type_traits>#define__cpp_lib_is_nothrow_convertible201806L// also in <type_traits>#define__cpp_lib_is_null_pointer201309L// also in <type_traits>#define__cpp_lib_is_pointer_interconvertible201907L// also in <type_traits>#define__cpp_lib_is_swappable201603L// also in <type_traits>#define__cpp_lib_jthread201911L// also in <stop_token>, <thread>#define__cpp_lib_latch201907L// also in <latch>#define__cpp_lib_launder201606L// also in <new>#define__cpp_lib_list_remove_return_type201806L// also in <forward_list>, <list>#define__cpp_lib_logical_traits201510L// also in <type_traits>#define__cpp_lib_make_from_tuple201606L// also in <tuple>#define__cpp_lib_make_reverse_iterator201402L// also in <iterator>#define__cpp_lib_make_unique201304L// also in <memory>#define__cpp_lib_map_try_emplace201411L// also in <map>#define__cpp_lib_math_constants201907L// also in <numbers>#define__cpp_lib_math_special_functions201603L// also in <cmath>#define__cpp_lib_memory_resource201603L// also in <memory_resource>#define__cpp_lib_node_extract201606L// also in <map>, <set>, <unordered_map>, <unordered_set>#define__cpp_lib_nonmember_container_access201411L// also in <array>, <deque>, <forward_list>, <iterator>, <list>, <map>, <regex>, <set>, <string>,// <unordered_map>, <unordered_set>, <vector>#define__cpp_lib_not_fn201603L// also in <functional>#define__cpp_lib_null_iterators201304L// also in <iterator>#define__cpp_lib_optional201606L// also in <optional>#define__cpp_lib_parallel_algorithm201603L// also in <algorithm>, <numeric>#define__cpp_lib_polymorphic_allocator201902L// also in <memory>#define__cpp_lib_quoted_string_io201304L// also in <iomanip>#define__cpp_lib_ranges201911L// also in <algorithm>, <functional>, <iterator>, <memory>, <ranges>#define__cpp_lib_raw_memory_algorithms201606L// also in <memory>#define__cpp_lib_remove_cvref201711L// also in <type_traits>#define__cpp_lib_result_of_sfinae201210L// also in <functional>, <type_traits>#define__cpp_lib_robust_nonmodifying_seq_ops201304L// also in <algorithm>#define__cpp_lib_sample201603L// also in <algorithm>#define__cpp_lib_scoped_lock201703L// also in <mutex>#define__cpp_lib_semaphore201907L// also in <semaphore>#define__cpp_lib_shared_mutex201505L// also in <shared_mutex>#define__cpp_lib_shared_ptr_arrays201707L// also in <memory>#define__cpp_lib_shared_ptr_weak_type201606L// also in <memory>#define__cpp_lib_shared_timed_mutex201402L// also in <shared_mutex>#define__cpp_lib_shift201806L// also in <algorithm>#define__cpp_lib_smart_ptr_for_overwrite202002L// also in <memory>#define__cpp_lib_source_location201907L// also in <source_location>#define__cpp_lib_span202002L// also in <span>#define__cpp_lib_ssize201902L// also in <iterator>#define__cpp_lib_starts_ends_with201711L// also in <string>, <string_view>#define__cpp_lib_string_udls201304L// also in <string>#define__cpp_lib_string_view201803L// also in <string>, <string_view>#define__cpp_lib_syncbuf201803L// also in <syncstream>#define__cpp_lib_three_way_comparison201907L// also in <compare>#define__cpp_lib_to_address201711L// also in <memory>#define__cpp_lib_to_array201907L// also in <array>#define__cpp_lib_to_chars201611L// also in <charconv>#define__cpp_lib_transformation_trait_aliases201304L// also in <type_traits>#define__cpp_lib_transparent_operators201510L// also in <memory>, <functional>#define__cpp_lib_tuple_element_t201402L// also in <tuple>#define__cpp_lib_tuples_by_type201304L// also in <utility>, <tuple>#define__cpp_lib_type_identity201806L// also in <type_traits>#define__cpp_lib_type_trait_variable_templates201510L// also in <type_traits>#define__cpp_lib_uncaught_exceptions201411L// also in <exception>#define__cpp_lib_unordered_map_try_emplace201411L// also in <unordered_map>#define__cpp_lib_unwrap_ref201811L// also in <type_traits>#define__cpp_lib_variant201606L// also in <variant>#define__cpp_lib_void_t201411L// also in <type_traits>