123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202 |
- .. _FeatureTestMacroTable:
- ==========================
- Feature Test Macro Support
- ==========================
- .. contents::
- :local:
- Overview
- ========
- This file documents the feature test macros currently supported by libc++.
- .. _feature-status:
- Status
- ======
- .. table:: Current Status
- :name: feature-status-table
- :widths: auto
-
- ================================================= =================
- Macro Name Value
- ================================================= =================
- **C++ 14**
- -------------------------------------------------------------------
- ``__cpp_lib_chrono_udls`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_complex_udls`` ``201309L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_exchange_function`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_generic_associative_lookup`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_integer_sequence`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_integral_constant_callable`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_is_final`` ``201402L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_is_null_pointer`` ``201309L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_make_reverse_iterator`` ``201402L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_make_unique`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_null_iterators`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_quoted_string_io`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_result_of_sfinae`` ``201210L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_robust_nonmodifying_seq_ops`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_shared_timed_mutex`` ``201402L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_string_udls`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_transformation_trait_aliases`` ``201304L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_transparent_operators`` ``201210L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_tuple_element_t`` ``201402L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_tuples_by_type`` ``201304L``
- ------------------------------------------------- -----------------
- **C++ 17**
- -------------------------------------------------------------------
- ``__cpp_lib_addressof_constexpr`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_allocator_traits_is_always_equal`` ``201411L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_any`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_apply`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_array_constexpr`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_as_const`` ``201510L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_atomic_is_always_lock_free`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_bool_constant`` ``201505L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_boyer_moore_searcher`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_byte`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_chrono`` ``201611L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_clamp`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_enable_shared_from_this`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_execution`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_filesystem`` ``201703L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_gcd_lcm`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_hardware_interference_size`` ``201703L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_has_unique_object_representations`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_hypot`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_incomplete_container_elements`` ``201505L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_invoke`` ``201411L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_is_aggregate`` ``201703L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_is_invocable`` ``201703L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_is_swappable`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_launder`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_logical_traits`` ``201510L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_make_from_tuple`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_map_try_emplace`` ``201411L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_math_special_functions`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_memory_resource`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_node_extract`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_nonmember_container_access`` ``201411L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_not_fn`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_optional`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_parallel_algorithm`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_raw_memory_algorithms`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_sample`` ``201603L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_scoped_lock`` ``201703L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_shared_mutex`` ``201505L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_shared_ptr_arrays`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_shared_ptr_weak_type`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_string_view`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_to_chars`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_transparent_operators`` ``201510L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_type_trait_variable_templates`` ``201510L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_uncaught_exceptions`` ``201411L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_unordered_map_try_emplace`` ``201411L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_variant`` ``201606L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_void_t`` ``201411L``
- ------------------------------------------------- -----------------
- **C++ 2a**
- -------------------------------------------------------------------
- ``__cpp_lib_atomic_ref`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_bind_front`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_bit_cast`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_char8_t`` ``201811L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_concepts`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_constexpr_misc`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_constexpr_swap_algorithms`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_destroying_delete`` ``201806L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_erase_if`` ``201811L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_generic_unordered_lookup`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_interpolate`` ``201902L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_is_constant_evaluated`` ``201811L``
- ------------------------------------------------- -----------------
- ``__cpp_lib_list_remove_return_type`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_ranges`` *unimplemented*
- ------------------------------------------------- -----------------
- ``__cpp_lib_three_way_comparison`` *unimplemented*
- ================================================= =================
|