|
| struct | std::__is_nullptr_t< _Tp > |
| struct | std::tr2::__reflection_typelist< _Elements > |
| struct | std::tr2::__reflection_typelist< _First, _Rest... > |
| struct | std::tr2::__reflection_typelist<> |
| struct | std::add_const< _Tp > |
| struct | std::add_cv< _Tp > |
| struct | std::add_lvalue_reference< _Tp > |
| struct | std::add_pointer< _Tp > |
| struct | std::add_rvalue_reference< _Tp > |
| struct | std::add_volatile< _Tp > |
| struct | std::aligned_storage< _Len, _Align > |
| struct | std::aligned_union< _Len, _Types > |
| struct | std::alignment_of< _Tp > |
| struct | std::tr2::bases< _Tp > |
| struct | std::common_type< _Tp > |
| struct | std::conditional< _Cond, _Iftrue, _Iffalse > |
| class | std::decay< _Tp > |
| struct | std::tr2::direct_bases< _Tp > |
| struct | std::enable_if< bool, _Tp > |
| struct | std::extent< typename, _Uint > |
| struct | std::has_unique_object_representations< _Tp > |
| struct | std::has_virtual_destructor< _Tp > |
| struct | std::integral_constant< _Tp, __v > |
| struct | std::invoke_result< _Functor, _ArgTypes > |
| struct | std::is_abstract< _Tp > |
| struct | std::is_aggregate< _Tp > |
| struct | std::is_arithmetic< _Tp > |
| struct | std::is_array< typename > |
| struct | std::is_assignable< _Tp, _Up > |
| struct | std::is_base_of< _Base, _Derived > |
| struct | std::is_bounded_array< _Tp > |
| struct | std::is_class< _Tp > |
| struct | std::is_compound< _Tp > |
| struct | std::is_const< typename > |
| struct | std::is_constructible< _Tp, _Args > |
| struct | std::is_convertible< _From, _To > |
| struct | std::is_copy_assignable< _Tp > |
| struct | std::is_copy_constructible< _Tp > |
| struct | std::is_default_constructible< _Tp > |
| struct | std::is_destructible< _Tp > |
| struct | std::is_empty< _Tp > |
| struct | std::is_enum< _Tp > |
| struct | std::is_final< _Tp > |
| struct | std::is_floating_point< _Tp > |
| struct | std::is_function< _Tp > |
| struct | std::is_fundamental< _Tp > |
| struct | std::is_integral< _Tp > |
| struct | std::is_invocable< _Fn, _ArgTypes > |
| struct | std::is_invocable_r< _Ret, _Fn, _ArgTypes > |
| struct | std::is_layout_compatible< _Tp, _Up > |
| struct | std::is_literal_type< _Tp > |
| struct | std::is_lvalue_reference< typename > |
| struct | std::is_member_function_pointer< _Tp > |
| struct | std::is_member_object_pointer< _Tp > |
| struct | std::is_member_pointer< _Tp > |
| struct | std::is_move_assignable< _Tp > |
| struct | std::is_move_constructible< _Tp > |
| struct | std::is_nothrow_assignable< _Tp, _Up > |
| struct | std::is_nothrow_constructible< _Tp, _Args > |
| struct | std::is_nothrow_convertible< _From, _To > |
| struct | std::is_nothrow_copy_assignable< _Tp > |
| struct | std::is_nothrow_copy_constructible< _Tp > |
| struct | std::is_nothrow_default_constructible< _Tp > |
| struct | std::is_nothrow_destructible< _Tp > |
| struct | std::is_nothrow_invocable< _Fn, _ArgTypes > |
| struct | std::is_nothrow_invocable_r< _Ret, _Fn, _ArgTypes > |
| struct | std::is_nothrow_move_assignable< _Tp > |
| struct | std::is_nothrow_move_constructible< _Tp > |
| struct | std::is_nothrow_swappable< _Tp > |
| struct | std::is_nothrow_swappable_with< _Tp, _Up > |
| struct | std::is_null_pointer< _Tp > |
| struct | std::is_object< _Tp > |
| struct | std::is_pod< _Tp > |
| struct | std::is_pointer< _Tp > |
| struct | std::is_pointer_interconvertible_base_of< _Base, _Derived > |
| struct | std::is_polymorphic< _Tp > |
| struct | std::is_reference< _Tp > |
| struct | std::is_rvalue_reference< typename > |
| struct | std::is_same< _Tp, _Up > |
| struct | std::is_scalar< _Tp > |
| struct | std::is_signed< _Tp > |
| struct | std::is_standard_layout< _Tp > |
| struct | std::is_swappable< _Tp > |
| struct | std::is_swappable_with< _Tp, _Up > |
| struct | std::is_trivial< _Tp > |
| struct | std::is_trivially_assignable< _Tp, _Up > |
| struct | std::is_trivially_constructible< _Tp, _Args > |
| struct | std::is_trivially_copy_assignable< _Tp > |
| struct | std::is_trivially_copy_constructible< _Tp > |
| struct | std::is_trivially_copyable< _Tp > |
| struct | std::is_trivially_default_constructible< _Tp > |
| struct | std::is_trivially_destructible< _Tp > |
| struct | std::is_trivially_move_assignable< _Tp > |
| struct | std::is_trivially_move_constructible< _Tp > |
| struct | std::is_unbounded_array< _Tp > |
| struct | std::is_union< _Tp > |
| struct | std::is_unsigned< _Tp > |
| struct | std::is_void< _Tp > |
| struct | std::is_volatile< typename > |
| struct | std::make_signed< _Tp > |
| struct | std::make_unsigned< _Tp > |
| struct | std::rank< typename > |
| struct | std::remove_all_extents< _Tp > |
| struct | std::remove_const< _Tp > |
| struct | std::remove_cv< _Tp > |
| struct | std::remove_extent< _Tp > |
| struct | std::remove_pointer< _Tp > |
| struct | std::remove_reference< _Tp > |
| struct | std::remove_volatile< _Tp > |
| struct | std::result_of< _Signature > |
| struct | std::underlying_type< _Tp > |
| struct | std::unwrap_ref_decay< _Tp > |
| struct | std::unwrap_reference< _Tp > |
|
| template<bool _Cond, typename _If, typename _Else> |
| using | std::__conditional_t |
| template<typename _ToElementType, typename _FromElementType> |
| using | std::__is_array_convertible |
| template<typename _Tp, typename _Up> |
| using | std::__is_nothrow_assignable_impl |
| template<typename _Tp> |
| using | std::add_const_t |
| template<typename _Tp> |
| using | std::add_cv_t |
| template<typename _Tp> |
| using | std::add_lvalue_reference_t |
| template<typename _Tp> |
| using | std::add_pointer_t |
| template<typename _Tp> |
| using | std::add_rvalue_reference_t |
| template<typename _Tp> |
| using | std::add_volatile_t |
| template<size_t _Len, size_t _Align = __alignof__(typename __aligned_storage_msa<_Len>::__type)> |
| using | std::aligned_storage_t |
| template<size_t _Len, typename... _Types> |
| using | std::aligned_union_t |
| template<bool __v> |
| using | std::bool_constant |
| template<typename... _Tp> |
| using | std::common_reference_t |
| template<typename... _Tp> |
| using | std::common_type_t |
| template<bool _Cond, typename _Iftrue, typename _Iffalse> |
| using | std::conditional_t |
| template<typename _Tp> |
| using | std::decay_t |
| template<bool _Cond, typename _Tp = void> |
| using | std::enable_if_t |
| using | std::false_type |
| template<typename _Fn, typename... _Args> |
| using | std::invoke_result_t |
| template<typename _Tp> |
| using | std::make_signed_t |
| template<typename _Tp> |
| using | std::make_unsigned_t |
| template<typename _Tp> |
| using | std::remove_all_extents_t |
| template<typename _Tp> |
| using | std::remove_const_t |
| template<typename _Tp> |
| using | std::remove_cv_t |
| template<typename _Tp> |
| using | std::remove_extent_t |
| template<typename _Tp> |
| using | std::remove_pointer_t |
| template<typename _Tp> |
| using | std::remove_reference_t |
| template<typename _Tp> |
| using | std::remove_volatile_t |
| template<typename _Tp> |
| using | std::result_of_t |
| using | std::true_type |
| template<typename _Tp> |
| using | std::underlying_type_t |
| template<typename...> |
| using | std::void_t |
|
| constexpr bool | std::is_constant_evaluated () noexcept |
| template<typename _S1, typename _S2, typename _M1, typename _M2> |
| constexpr bool | std::is_corresponding_member (_M1 _S1::*__m1, _M2 _S2::*__m2) noexcept |
| template<typename _Tp, typename _Mem> |
| constexpr bool | std::is_pointer_interconvertible_with_class (_Mem _Tp::*__mp) noexcept |
| template<typename _Tp> |
| constexpr _Require< __not_< __is_tuple_like< _Tp > >, is_move_constructible< _Tp >, is_move_assignable< _Tp > > | std::swap (_Tp &, _Tp &) noexcept(__and_< is_nothrow_move_constructible< _Tp >, is_nothrow_move_assignable< _Tp > >::value) |
| template<typename _Tp, size_t _Nm> |
| constexpr __enable_if_t< __is_swappable< _Tp >::value > | std::swap (_Tp(&__a)[_Nm], _Tp(&__b)[_Nm]) noexcept(__is_nothrow_swappable< _Tp >::value) |
|
| template<size_t _Len, typename... _Types> |
| const size_t | std::aligned_union< _Len, _Types... >::alignment_value |
| template<typename _From, typename _To> |
| constexpr bool | std::is_nothrow_convertible_v |
| template<typename _Tp> |
| constexpr bool | std::is_nothrow_swappable_v |
| template<typename _Tp, typename _Up> |
| constexpr bool | std::is_nothrow_swappable_with_v |
| template<typename _Tp> |
| constexpr bool | std::is_swappable_v |
| template<typename _Tp, typename _Up> |
| constexpr bool | std::is_swappable_with_v |
| template<typename _Tp> |
| using | std::remove_cvref_t |
| #define | __cpp_lib_remove_cvref |
| template<typename _Tp> |
| using | std::type_identity_t |
| #define | __cpp_lib_type_identity |
| template<typename _Tp> |
| using | std::unwrap_reference_t |
| template<typename _Tp> |
| using | std::unwrap_ref_decay_t |
| template<typename... _Bn> |
| constexpr bool | std::disjunction_v |
| template<typename _Pp> |
| constexpr bool | std::negation_v |
| template<typename _Tp> |
| constexpr bool | std::is_null_pointer_v |
| template<typename _Tp> |
| constexpr bool | std::is_integral_v |
| template<typename _Tp> |
| constexpr bool | std::is_floating_point_v |
| template<typename _Tp> |
| constexpr bool | std::is_array_v |
| template<typename _Tp> |
| constexpr bool | std::is_pointer_v |
| template<typename _Tp> |
| constexpr bool | std::is_lvalue_reference_v |
| template<typename _Tp> |
| constexpr bool | std::is_rvalue_reference_v |
| template<typename _Tp> |
| constexpr bool | std::is_member_object_pointer_v |
| template<typename _Tp> |
| constexpr bool | std::is_member_function_pointer_v |
| template<typename _Tp> |
| constexpr bool | std::is_enum_v |
| template<typename _Tp> |
| constexpr bool | std::is_union_v |
| template<typename _Tp> |
| constexpr bool | std::is_class_v |
| template<typename _Tp> |
| constexpr bool | std::is_function_v |
| template<typename _Tp> |
| constexpr bool | std::is_reference_v |
| template<typename _Tp> |
| constexpr bool | std::is_arithmetic_v |
| template<typename _Tp> |
| constexpr bool | std::is_fundamental_v |
| template<typename _Tp> |
| constexpr bool | std::is_object_v |
| template<typename _Tp> |
| constexpr bool | std::is_scalar_v |
| template<typename _Tp> |
| constexpr bool | std::is_compound_v |
| template<typename _Tp> |
| constexpr bool | std::is_member_pointer_v |
| template<typename _Tp> |
| constexpr bool | std::is_const_v |
| template<typename _Tp> |
| constexpr bool | std::is_volatile_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivial_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivially_copyable_v |
| template<typename _Tp> |
| constexpr bool | std::is_standard_layout_v |
| template<typename _Tp> |
| constexpr bool | std::is_pod_v |
| template<typename _Tp> |
| constexpr bool | std::is_literal_type_v |
| template<typename _Tp> |
| constexpr bool | std::is_empty_v |
| template<typename _Tp> |
| constexpr bool | std::is_polymorphic_v |
| template<typename _Tp> |
| constexpr bool | std::is_abstract_v |
| template<typename _Tp> |
| constexpr bool | std::is_final_v |
| template<typename _Tp> |
| constexpr bool | std::is_signed_v |
| template<typename _Tp> |
| constexpr bool | std::is_unsigned_v |
| template<typename _Tp, typename... _Args> |
| constexpr bool | std::is_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_default_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_copy_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_move_constructible_v |
| template<typename _Tp, typename _Up> |
| constexpr bool | std::is_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_copy_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_move_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_destructible_v |
| template<typename _Tp, typename... _Args> |
| constexpr bool | std::is_trivially_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivially_default_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivially_copy_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivially_move_constructible_v |
| template<typename _Tp, typename _Up> |
| constexpr bool | std::is_trivially_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivially_copy_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivially_move_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_trivially_destructible_v |
| template<typename _Tp, typename... _Args> |
| constexpr bool | std::is_nothrow_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_nothrow_default_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_nothrow_copy_constructible_v |
| template<typename _Tp> |
| constexpr bool | std::is_nothrow_move_constructible_v |
| template<typename _Tp, typename _Up> |
| constexpr bool | std::is_nothrow_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_nothrow_copy_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_nothrow_move_assignable_v |
| template<typename _Tp> |
| constexpr bool | std::is_nothrow_destructible_v |
| template<typename _Tp> |
| constexpr bool | std::has_virtual_destructor_v |
| template<typename _Tp> |
| constexpr size_t | std::alignment_of_v |
| template<typename _Tp> |
| constexpr size_t | std::rank_v |
| template<typename _Tp, unsigned _Idx = 0> |
| constexpr size_t | std::extent_v |
| template<typename _Tp, typename _Up> |
| constexpr bool | std::is_same_v |
| template<typename _Base, typename _Derived> |
| constexpr bool | std::is_base_of_v |
| template<typename _From, typename _To> |
| constexpr bool | std::is_convertible_v |
| template<typename _Fn, typename... _Args> |
| constexpr bool | std::is_invocable_v |
| template<typename _Fn, typename... _Args> |
| constexpr bool | std::is_nothrow_invocable_v |
| template<typename _Ret, typename _Fn, typename... _Args> |
| constexpr bool | std::is_invocable_r_v |
| template<typename _Ret, typename _Fn, typename... _Args> |
| constexpr bool | std::is_nothrow_invocable_r_v |
Template utilities for compile-time introspection and modification, including type classification traits, type property inspection traits and type transformation traits.