库特性测试宏 (C++20)
若包含头文件 <version> 或指定于表中的头文件之一,则定义对应的宏。
宏名 | 值 | 头文件 |
---|---|---|
__cpp_lib_addressof_constexpr |
201603L | <memory> |
__cpp_lib_allocator_traits_is_always_equal |
201411L | <memory> <scoped_allocator> <string> <deque> <forward_list> <list> <vector> <map> <set> <unordered_map> <unordered_set> |
__cpp_lib_any |
201606L | <any> |
__cpp_lib_apply |
201603L | <tuple> |
__cpp_lib_array_constexpr |
201811L | <iterator> <array> |
__cpp_lib_as_const |
201510L | <utility> |
__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_ref |
201806L | <atomic> |
__cpp_lib_atomic_shared_ptr |
201711L | <memory> |
__cpp_lib_atomic_value_initialization |
201911L | <atomic> <memory> |
__cpp_lib_atomic_wait |
201907L | <atomic> |
__cpp_lib_barrier |
201907L | <barrier> |
__cpp_lib_bind_front |
201907L | <functional> |
__cpp_lib_bit_cast |
201806L | <bit> |
__cpp_lib_bitops |
201907L | <bit> |
__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_char8_t |
201907L | <atomic> <filesystem> <istream> <limits> <locale> <ostream> <string> <string_view> |
__cpp_lib_chrono |
201907L | <chrono> |
__cpp_lib_chrono_udls |
201304L | <chrono> |
__cpp_lib_clamp |
201603L | <algorithm> |
__cpp_lib_complex_udls |
201309L | <complex> |
__cpp_lib_concepts |
201907L | <concepts> |
__cpp_lib_constexpr_algorithms |
201806L | <algorithm> |
__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 |
201811L | <memory> |
__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_utility |
201811L | <utility> |
__cpp_lib_constexpr_vector |
201907L | <vector> |
__cpp_lib_destroying_delete |
201806L | <new> |
__cpp_lib_enable_shared_from_this |
201603L | <memory> |
__cpp_lib_endian |
201907L | <bit> |
__cpp_lib_erase_if |
201811L | <string> <deque> <forward_list> <list> <vector> <map> <set> <unordered_map> <unordered_set> |
__cpp_lib_exchange_function |
201304L | <utility> |
__cpp_lib_execution |
201902L | <execution> |
__cpp_lib_filesystem |
201703L | <filesystem> |
__cpp_lib_format |
201907L | <format> |
__cpp_lib_gcd_lcm |
201606L | <numeric> |
__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_hypot |
201603L | <cmath> |
__cpp_lib_incomplete_container_elements |
201505L | <forward_list> <list> <vector> |
__cpp_lib_int_pow2 |
201806L | <bit> |
__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_is_aggregate |
201703L | <type_traits> |
__cpp_lib_is_constant_evaluated |
201811L | <type_traits> |
__cpp_lib_is_final |
201402L | <type_traits> |
__cpp_lib_is_invocable |
201703L | <type_traits> |
__cpp_lib_is_layout_compatible |
201907L | <type_traits> |
__cpp_lib_is_null_pointer |
201309L | <type_traits> |
__cpp_lib_is_pointer_interconvertible |
201907L | <type_traits> |
__cpp_lib_is_swappable |
201603L | <type_traits> |
__cpp_lib_jthread |
201911L | <stop_token> <thread> |
__cpp_lib_latch |
201907L | <latch> |
__cpp_lib_launder |
201606L | <new> |
__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_memory_resource |
201603L | <memory_resource> |
__cpp_lib_node_extract |
201606L | <map> <set> <unordered_map> <unordered_set> |
__cpp_lib_nonmember_container_access |
201411L | <iterator> <array> <deque> <forward_list> <list> <map> <regex> <set> <string> <unordered_map> <unordered_set> <vector> |
__cpp_lib_not_fn |
201603L | <functional> |
__cpp_lib_nothrow_convertible |
201806L | <type_traits> |
__cpp_lib_null_iterators |
201304L | <iterator> |
__cpp_lib_optional |
201606L | <optional> |
__cpp_lib_parallel_algorithm |
201603L | <algorithm> <numeric> |
__cpp_lib_polymorphic_allocator |
201902L | <memory> |
__cpp_lib_quoted_string_io |
201304L | <iomanip> |
__cpp_lib_ranges |
201911L | <algorithm> <functional> <iterator> <memory> <ranges> |
__cpp_lib_raw_memory_algorithms |
201606L | <memory> |
__cpp_lib_remove_cvref |
201711L | <type_traits> |
__cpp_lib_result_of_sfinae |
201210L | <type_traits> <functional> |
__cpp_lib_robust_nonmodifying_seq_ops |
201304L | <algorithm> |
__cpp_lib_sample |
201603L | <algorithm> |
__cpp_lib_scoped_lock |
201703L | <mutex> |
__cpp_lib_semaphore |
201907L | <semaphore> |
__cpp_lib_shared_mutex |
201505L | <shared_mutex> |
__cpp_lib_shared_ptr_arrays |
201707L | <memory> |
__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 |
201811L | <memory> |
__cpp_lib_source_location |
201907L | <source_location> |
__cpp_lib_span |
201902L | <span> |
__cpp_lib_ssize |
201902L | <iterator> |
__cpp_lib_starts_ends_with |
201711L | <string> <string_view> |
__cpp_lib_string_udls |
201304L | <string> |
__cpp_lib_string_view |
201803L | <string> <string_view> |
__cpp_lib_syncbuf |
201803L | <syncstream> |
__cpp_lib_three_way_comparison |
201907L | <compare> |
__cpp_lib_to_address |
201711L | <memory> |
__cpp_lib_to_array |
201907L | <array> |
__cpp_lib_to_chars |
201611L | <charconv> |
__cpp_lib_transformation_trait_aliases |
201304L | <type_traits> |
__cpp_lib_transparent_operators |
201510L | <memory> <functional> |
__cpp_lib_tuple_element_t |
201402L | <tuple> |
__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_unwrap_ref |
201811L | <type_traits> |
__cpp_lib_variant |
201606L | <variant> |
__cpp_lib_void_t |
201411L | <type_traits> |