libstdc++
|
Modules | |
Variable templates for type traits | |
Typedefs | |
template<bool _Cond, typename _If , typename _Else > | |
using | std::__conditional_t = typename __conditional< _Cond >::template type< _If, _Else > |
template<typename _ToElementType , typename _FromElementType > | |
using | std::__is_array_convertible = is_convertible< _FromElementType(*)[], _ToElementType(*)[]> |
template<typename _Tp , typename _Up > | |
using | std::__is_nothrow_assignable_impl = __bool_constant< __is_nothrow_assignable(_Tp, _Up)> |
template<typename _Tp > | |
using | std::add_const_t = typename add_const< _Tp >::type |
template<typename _Tp > | |
using | std::add_cv_t = typename add_cv< _Tp >::type |
template<typename _Tp > | |
using | std::add_lvalue_reference_t = typename add_lvalue_reference< _Tp >::type |
template<typename _Tp > | |
using | std::add_pointer_t = typename add_pointer< _Tp >::type |
template<typename _Tp > | |
using | std::add_rvalue_reference_t = typename add_rvalue_reference< _Tp >::type |
template<typename _Tp > | |
using | std::add_volatile_t = typename add_volatile< _Tp >::type |
template<size_t _Len, size_t _Align = __alignof__(typename __aligned_storage_msa<_Len>::__type)> | |
using | std::aligned_storage_t = typename aligned_storage< _Len, _Align >::type |
template<size_t _Len, typename... _Types> | |
using | std::aligned_union_t = typename aligned_union< _Len, _Types... >::type |
template<bool __v> | |
using | std::bool_constant = integral_constant< bool, __v > |
template<typename... _Tp> | |
using | std::common_reference_t = typename common_reference< _Tp... >::type |
template<typename... _Tp> | |
using | std::common_type_t = typename common_type< _Tp... >::type |
template<bool _Cond, typename _Iftrue , typename _Iffalse > | |
using | std::conditional_t = typename conditional< _Cond, _Iftrue, _Iffalse >::type |
template<typename _Tp > | |
using | std::decay_t = typename decay< _Tp >::type |
template<bool _Cond, typename _Tp = void> | |
using | std::enable_if_t = typename enable_if< _Cond, _Tp >::type |
using | std::false_type = integral_constant< bool, false > |
template<typename _Fn , typename... _Args> | |
using | std::invoke_result_t = typename invoke_result< _Fn, _Args... >::type |
template<typename _Tp > | |
using | std::make_signed_t = typename make_signed< _Tp >::type |
template<typename _Tp > | |
using | std::make_unsigned_t = typename make_unsigned< _Tp >::type |
template<typename _Tp > | |
using | std::remove_all_extents_t = typename remove_all_extents< _Tp >::type |
template<typename _Tp > | |
using | std::remove_const_t = typename remove_const< _Tp >::type |
template<typename _Tp > | |
using | std::remove_cv_t = typename remove_cv< _Tp >::type |
template<typename _Tp > | |
using | std::remove_extent_t = typename remove_extent< _Tp >::type |
template<typename _Tp > | |
using | std::remove_pointer_t = typename remove_pointer< _Tp >::type |
template<typename _Tp > | |
using | std::remove_reference_t = typename remove_reference< _Tp >::type |
template<typename _Tp > | |
using | std::remove_volatile_t = typename remove_volatile< _Tp >::type |
template<typename _Tp > | |
using | std::result_of_t = typename result_of< _Tp >::type |
using | std::true_type = integral_constant< bool, true > |
template<typename _Tp > | |
using | std::underlying_type_t = typename underlying_type< _Tp >::type |
template<typename... > | |
using | std::void_t = void |
Functions | |
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) |
Variables | |
static 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 = typename remove_cvref< _Tp >::type |
#define | __cpp_lib_remove_cvref |
template<typename _Tp > | |
using | std::type_identity_t = typename type_identity< _Tp >::type |
#define | __cpp_lib_type_identity |
template<typename _Tp > | |
using | std::unwrap_reference_t = typename unwrap_reference< _Tp >::type |
template<typename _Tp > | |
using | std::unwrap_ref_decay_t = typename unwrap_ref_decay< _Tp >::type |
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.
#define __cpp_lib_remove_cvref |
Definition at line 3339 of file type_traits.
#define __cpp_lib_type_identity |
Definition at line 3364 of file type_traits.
using std::add_const_t = typedef typename add_const<_Tp>::type |
Alias template for add_const.
Definition at line 1613 of file type_traits.
using std::add_cv_t = typedef typename add_cv<_Tp>::type |
Alias template for add_cv.
Definition at line 1621 of file type_traits.
using std::add_lvalue_reference_t = typedef typename add_lvalue_reference<_Tp>::type |
Alias template for add_lvalue_reference.
Definition at line 1674 of file type_traits.
using std::add_pointer_t = typedef typename add_pointer<_Tp>::type |
Alias template for add_pointer.
Definition at line 2088 of file type_traits.
using std::add_rvalue_reference_t = typedef typename add_rvalue_reference<_Tp>::type |
Alias template for add_rvalue_reference.
Definition at line 1678 of file type_traits.
using std::add_volatile_t = typedef typename add_volatile<_Tp>::type |
Alias template for add_volatile.
Definition at line 1617 of file type_traits.
using std::aligned_storage_t = typedef typename aligned_storage<_Len, _Align>::type |
Alias template for aligned_storage.
Definition at line 2603 of file type_traits.
using std::bool_constant = typedef integral_constant<bool, __v> |
Alias template for compile-time boolean constant types.
Definition at line 98 of file type_traits.
using std::common_type_t = typedef typename common_type<_Tp...>::type |
Alias template for common_type.
Definition at line 2622 of file type_traits.
using std::conditional_t = typedef typename conditional<_Cond, _Iftrue, _Iffalse>::type |
Alias template for conditional.
Definition at line 2618 of file type_traits.
using std::decay_t = typedef typename decay<_Tp>::type |
Alias template for decay.
Definition at line 2610 of file type_traits.
using std::enable_if_t = typedef typename enable_if<_Cond, _Tp>::type |
Alias template for enable_if.
Definition at line 2614 of file type_traits.
using std::false_type = typedef integral_constant<bool, false> |
The type used as a compile-time boolean with false value.
Definition at line 85 of file type_traits.
using std::invoke_result_t = typedef typename invoke_result<_Fn, _Args...>::type |
std::invoke_result_t
Definition at line 3034 of file type_traits.
using std::make_signed_t = typedef typename make_signed<_Tp>::type |
Alias template for make_signed.
Definition at line 2005 of file type_traits.
using std::make_unsigned_t = typedef typename make_unsigned<_Tp>::type |
Alias template for make_unsigned.
Definition at line 2009 of file type_traits.
using std::remove_all_extents_t = typedef typename remove_all_extents<_Tp>::type |
Alias template for remove_all_extents.
Definition at line 2047 of file type_traits.
using std::remove_const_t = typedef typename remove_const<_Tp>::type |
Alias template for remove_const.
Definition at line 1601 of file type_traits.
using std::remove_cv_t = typedef typename remove_cv<_Tp>::type |
Alias template for remove_cv.
Definition at line 1609 of file type_traits.
using std::remove_cvref_t = typedef typename remove_cvref<_Tp>::type |
Definition at line 3357 of file type_traits.
using std::remove_extent_t = typedef typename remove_extent<_Tp>::type |
Alias template for remove_extent.
Definition at line 2043 of file type_traits.
using std::remove_pointer_t = typedef typename remove_pointer<_Tp>::type |
Alias template for remove_pointer.
Definition at line 2084 of file type_traits.
using std::remove_reference_t = typedef typename remove_reference<_Tp>::type |
Alias template for remove_reference.
Definition at line 1670 of file type_traits.
using std::remove_volatile_t = typedef typename remove_volatile<_Tp>::type |
Alias template for remove_volatile.
Definition at line 1605 of file type_traits.
using std::result_of_t = typedef typename result_of<_Tp>::type |
Alias template for result_of.
Definition at line 2630 of file type_traits.
using std::true_type = typedef integral_constant<bool, true> |
The type used as a compile-time boolean with true value.
Definition at line 82 of file type_traits.
using std::type_identity_t = typedef typename type_identity<_Tp>::type |
Definition at line 3369 of file type_traits.
using std::underlying_type_t = typedef typename underlying_type<_Tp>::type |
Alias template for underlying_type.
Definition at line 2626 of file type_traits.
using std::void_t = typedef void |
A metafunction that always yields void, used for detecting valid types.
Definition at line 2636 of file type_traits.
|
inlineconstexprnoexcept |
Returns true only when called during constant evaluation.
Definition at line 3519 of file type_traits.
Referenced by std::assume_aligned().
|
constexprnoexcept |
Definition at line 3447 of file type_traits.
|
constexprnoexcept |
True if __mp
points to the first member of a standard-layout type.
s.*__mp
is pointer-interconvertible with s
Definition at line 3474 of file type_traits.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
static |
The value of the strictest alignment of _Types.
Definition at line 2161 of file type_traits.
|
inlineconstexpr |
is_nothrow_convertible_v
Definition at line 1536 of file type_traits.
|
inlineconstexpr |
is_nothrow_swappable_v
Definition at line 2800 of file type_traits.
|
inlineconstexpr |
is_nothrow_swappable_with_v
Definition at line 2896 of file type_traits.
|
inlineconstexpr |
is_swappable_v
Definition at line 2795 of file type_traits.
|
inlineconstexpr |
is_swappable_with_v
Definition at line 2891 of file type_traits.