libstdc++
Metaprogramming
Collaboration diagram for Metaprogramming:

Modules

 Variable templates for type traits.
 

Classes

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_virtual_destructor< _Tp >
 
struct  std::integral_constant< _Tp, __v >
 
struct  std::invoke_result< _Functor, _ArgTypes >
 
struct  std::is_abstract< _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_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_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_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_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_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 >
 

Macros

#define __cpp_lib_bool_constant
 
#define __cpp_lib_is_final
 
#define __cpp_lib_is_invocable
 
#define __cpp_lib_is_null_pointer
 
#define __cpp_lib_is_swappable
 
#define __cpp_lib_logical_traits
 
#define __cpp_lib_result_of_sfinae
 
#define __cpp_lib_transformation_trait_aliases
 
#define __cpp_lib_type_trait_variable_templates
 
#define __cpp_lib_void_t
 

Typedefs

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_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

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 _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
 
static constexpr _Tp std::integral_constant< _Tp, __v >::value
 
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
 

Detailed Description

Template utilities for compile-time introspection and modification, including type classification traits, type property inspection traits and type transformation traits.

Since
C++11

Macro Definition Documentation

◆ __cpp_lib_bool_constant

#define __cpp_lib_bool_constant

Definition at line 95 of file type_traits.

◆ __cpp_lib_is_final

#define __cpp_lib_is_final

Definition at line 766 of file type_traits.

◆ __cpp_lib_is_invocable

#define __cpp_lib_is_invocable

Definition at line 3000 of file type_traits.

◆ __cpp_lib_is_null_pointer

#define __cpp_lib_is_null_pointer

Definition at line 530 of file type_traits.

◆ __cpp_lib_is_swappable

#define __cpp_lib_is_swappable

Definition at line 2740 of file type_traits.

◆ __cpp_lib_logical_traits

#define __cpp_lib_logical_traits

Definition at line 176 of file type_traits.

◆ __cpp_lib_result_of_sfinae

#define __cpp_lib_result_of_sfinae

Definition at line 2371 of file type_traits.

◆ __cpp_lib_transformation_trait_aliases

#define __cpp_lib_transformation_trait_aliases

Definition at line 1566 of file type_traits.

◆ __cpp_lib_type_trait_variable_templates

#define __cpp_lib_type_trait_variable_templates

Definition at line 3080 of file type_traits.

◆ __cpp_lib_void_t

#define __cpp_lib_void_t

Definition at line 2599 of file type_traits.

Typedef Documentation

◆ __is_array_convertible

template<typename _ToElementType , typename _FromElementType >
using std::__is_array_convertible = typedef is_convertible<_FromElementType(*)[], _ToElementType(*)[]>

Definition at line 1463 of file type_traits.

◆ __is_nothrow_assignable_impl

template<typename _Tp , typename _Up >
using std::__is_nothrow_assignable_impl = typedef __bool_constant<__is_nothrow_assignable(_Tp, _Up)>

Definition at line 1136 of file type_traits.

◆ add_const_t

template<typename _Tp >
using std::add_const_t = typedef typename add_const<_Tp>::type

Alias template for add_const.

Definition at line 1582 of file type_traits.

◆ add_cv_t

template<typename _Tp >
using std::add_cv_t = typedef typename add_cv<_Tp>::type

Alias template for add_cv.

Definition at line 1590 of file type_traits.

◆ add_lvalue_reference_t

template<typename _Tp >
using std::add_lvalue_reference_t = typedef typename add_lvalue_reference<_Tp>::type

Alias template for add_lvalue_reference.

Definition at line 1643 of file type_traits.

◆ add_pointer_t

template<typename _Tp >
using std::add_pointer_t = typedef typename add_pointer<_Tp>::type

Alias template for add_pointer.

Definition at line 2053 of file type_traits.

◆ add_rvalue_reference_t

template<typename _Tp >
using std::add_rvalue_reference_t = typedef typename add_rvalue_reference<_Tp>::type

Alias template for add_rvalue_reference.

Definition at line 1647 of file type_traits.

◆ add_volatile_t

template<typename _Tp >
using std::add_volatile_t = typedef typename add_volatile<_Tp>::type

Alias template for add_volatile.

Definition at line 1586 of file type_traits.

◆ aligned_storage_t

template<size_t _Len, size_t _Align = __alignof__(typename __aligned_storage_msa<_Len>::__type)>
using std::aligned_storage_t = typedef typename aligned_storage<_Len, _Align>::type

Alias template for aligned_storage.

Definition at line 2568 of file type_traits.

◆ aligned_union_t

template<size_t _Len, typename... _Types>
using std::aligned_union_t = typedef typename aligned_union<_Len, _Types...>::type

Definition at line 2571 of file type_traits.

◆ bool_constant

template<bool __v>
using std::bool_constant = typedef integral_constant<bool, __v>

Alias template for compile-time boolean constant types.

Since
C++17

Definition at line 99 of file type_traits.

◆ common_type_t

template<typename... _Tp>
using std::common_type_t = typedef typename common_type<_Tp...>::type

Alias template for common_type.

Definition at line 2587 of file type_traits.

◆ conditional_t

template<bool _Cond, typename _Iftrue , typename _Iffalse >
using std::conditional_t = typedef typename conditional<_Cond, _Iftrue, _Iffalse>::type

Alias template for conditional.

Definition at line 2583 of file type_traits.

◆ decay_t

template<typename _Tp >
using std::decay_t = typedef typename decay<_Tp>::type

Alias template for decay.

Definition at line 2575 of file type_traits.

◆ enable_if_t

template<bool _Cond, typename _Tp = void>
using std::enable_if_t = typedef typename enable_if<_Cond, _Tp>::type

Alias template for enable_if.

Definition at line 2579 of file type_traits.

◆ false_type

using std::false_type = typedef integral_constant<bool, false>

The type used as a compile-time boolean with false value.

Definition at line 86 of file type_traits.

◆ invoke_result_t

template<typename _Fn , typename... _Args>
using std::invoke_result_t = typedef typename invoke_result<_Fn, _Args...>::type

std::invoke_result_t

Definition at line 3016 of file type_traits.

◆ make_signed_t

template<typename _Tp >
using std::make_signed_t = typedef typename make_signed<_Tp>::type

Alias template for make_signed.

Definition at line 1970 of file type_traits.

◆ make_unsigned_t

template<typename _Tp >
using std::make_unsigned_t = typedef typename make_unsigned<_Tp>::type

Alias template for make_unsigned.

Definition at line 1974 of file type_traits.

◆ remove_all_extents_t

template<typename _Tp >
using std::remove_all_extents_t = typedef typename remove_all_extents<_Tp>::type

Alias template for remove_all_extents.

Definition at line 2012 of file type_traits.

◆ remove_const_t

template<typename _Tp >
using std::remove_const_t = typedef typename remove_const<_Tp>::type

Alias template for remove_const.

Definition at line 1570 of file type_traits.

◆ remove_cv_t

template<typename _Tp >
using std::remove_cv_t = typedef typename remove_cv<_Tp>::type

Alias template for remove_cv.

Definition at line 1578 of file type_traits.

◆ remove_extent_t

template<typename _Tp >
using std::remove_extent_t = typedef typename remove_extent<_Tp>::type

Alias template for remove_extent.

Definition at line 2008 of file type_traits.

◆ remove_pointer_t

template<typename _Tp >
using std::remove_pointer_t = typedef typename remove_pointer<_Tp>::type

Alias template for remove_pointer.

Definition at line 2049 of file type_traits.

◆ remove_reference_t

template<typename _Tp >
using std::remove_reference_t = typedef typename remove_reference<_Tp>::type

Alias template for remove_reference.

Definition at line 1639 of file type_traits.

◆ remove_volatile_t

template<typename _Tp >
using std::remove_volatile_t = typedef typename remove_volatile<_Tp>::type

Alias template for remove_volatile.

Definition at line 1574 of file type_traits.

◆ result_of_t

template<typename _Tp >
using std::result_of_t = typedef typename result_of<_Tp>::type

Alias template for result_of.

Definition at line 2595 of file type_traits.

◆ true_type

using std::true_type = typedef integral_constant<bool, true>

The type used as a compile-time boolean with true value.

Definition at line 83 of file type_traits.

◆ underlying_type_t

template<typename _Tp >
using std::underlying_type_t = typedef typename underlying_type<_Tp>::type

Alias template for underlying_type.

Definition at line 2591 of file type_traits.

◆ void_t

template<typename... >
using std::void_t = typedef void

A metafunction that always yields void, used for detecting valid types.

Definition at line 2601 of file type_traits.

Function Documentation

◆ swap() [1/2]

template<typename _Tp >
constexpr _Require< __not_< __is_tuple_like< _Tp > >, is_move_constructible< _Tp >, is_move_assignable< _Tp > > std::swap ( _Tp &  __a,
_Tp &  __b 
)
inlineconstexprnoexcept

Swaps two values.

Parameters
__aA thing of arbitrary type.
__bAnother thing of arbitrary type.
Returns
Nothing.

Definition at line 196 of file move.h.

◆ swap() [2/2]

template<typename _Tp , size_t _Nm>
constexpr __enable_if_t< __is_swappable< _Tp >::value > std::swap ( _Tp(&)  __a[_Nm],
_Tp(&)  __b[_Nm] 
)
inlineconstexprnoexcept

Swap the contents of two arrays.

Definition at line 220 of file move.h.

References std::swap().

Variable Documentation

◆ alignment_of_v

template<typename _Tp >
constexpr size_t std::alignment_of_v
inlineconstexpr

Definition at line 3244 of file type_traits.

◆ alignment_value

template<size_t _Len, typename... _Types>
const size_t std::aligned_union< _Len, _Types >::alignment_value
static

The value of the strictest alignment of _Types.

Definition at line 2126 of file type_traits.

◆ disjunction_v

template<typename... _Bn>
constexpr bool std::disjunction_v
inlineconstexpr

Definition at line 200 of file type_traits.

◆ extent_v

template<typename _Tp , unsigned _Idx = 0>
constexpr size_t std::extent_v
inlineconstexpr

Definition at line 3248 of file type_traits.

◆ has_virtual_destructor_v

template<typename _Tp >
constexpr bool std::has_virtual_destructor_v
inlineconstexpr

Definition at line 3241 of file type_traits.

◆ is_abstract_v

template<typename _Tp >
constexpr bool std::is_abstract_v
inlineconstexpr

Definition at line 3165 of file type_traits.

◆ is_arithmetic_v

template<typename _Tp >
constexpr bool std::is_arithmetic_v
inlineconstexpr

Definition at line 3129 of file type_traits.

◆ is_array_v

template<typename _Tp >
constexpr bool std::is_array_v
inlineconstexpr

Definition at line 3103 of file type_traits.

◆ is_assignable_v

template<typename _Tp , typename _Up >
constexpr bool std::is_assignable_v
inlineconstexpr

Definition at line 3185 of file type_traits.

◆ is_base_of_v

template<typename _Base , typename _Derived >
constexpr bool std::is_base_of_v
inlineconstexpr

Definition at line 3257 of file type_traits.

◆ is_class_v

template<typename _Tp >
constexpr bool std::is_class_v
inlineconstexpr

Definition at line 3123 of file type_traits.

◆ is_compound_v

template<typename _Tp >
constexpr bool std::is_compound_v
inlineconstexpr

Definition at line 3137 of file type_traits.

◆ is_const_v

template<typename _Tp >
constexpr bool std::is_const_v
inlineconstexpr

Definition at line 3141 of file type_traits.

◆ is_constructible_v

template<typename _Tp , typename... _Args>
constexpr bool std::is_constructible_v
inlineconstexpr

Definition at line 3173 of file type_traits.

◆ is_convertible_v

template<typename _From , typename _To >
constexpr bool std::is_convertible_v
inlineconstexpr

Definition at line 3259 of file type_traits.

◆ is_copy_assignable_v

template<typename _Tp >
constexpr bool std::is_copy_assignable_v
inlineconstexpr

Definition at line 3187 of file type_traits.

◆ is_copy_constructible_v

template<typename _Tp >
constexpr bool std::is_copy_constructible_v
inlineconstexpr

Definition at line 3179 of file type_traits.

◆ is_default_constructible_v

template<typename _Tp >
constexpr bool std::is_default_constructible_v
inlineconstexpr

Definition at line 3176 of file type_traits.

◆ is_destructible_v

template<typename _Tp >
constexpr bool std::is_destructible_v
inlineconstexpr

Definition at line 3191 of file type_traits.

◆ is_empty_v

template<typename _Tp >
constexpr bool std::is_empty_v
inlineconstexpr

Definition at line 3161 of file type_traits.

◆ is_enum_v

template<typename _Tp >
constexpr bool std::is_enum_v
inlineconstexpr

Definition at line 3119 of file type_traits.

◆ is_final_v

template<typename _Tp >
constexpr bool std::is_final_v
inlineconstexpr

Definition at line 3167 of file type_traits.

◆ is_floating_point_v

template<typename _Tp >
constexpr bool std::is_floating_point_v
inlineconstexpr

Definition at line 3101 of file type_traits.

◆ is_function_v

template<typename _Tp >
constexpr bool std::is_function_v
inlineconstexpr

Definition at line 3125 of file type_traits.

◆ is_fundamental_v

template<typename _Tp >
constexpr bool std::is_fundamental_v
inlineconstexpr

Definition at line 3131 of file type_traits.

◆ is_integral_v

template<typename _Tp >
constexpr bool std::is_integral_v
inlineconstexpr

Definition at line 3099 of file type_traits.

◆ is_invocable_r_v

template<typename _Ret , typename _Fn , typename... _Args>
constexpr bool std::is_invocable_r_v
inlineconstexpr

Definition at line 3266 of file type_traits.

◆ is_invocable_v

template<typename _Fn , typename... _Args>
constexpr bool std::is_invocable_v
inlineconstexpr

Definition at line 3261 of file type_traits.

◆ is_literal_type_v

template<typename _Tp >
constexpr bool std::is_literal_type_v
inlineconstexpr

Definition at line 3158 of file type_traits.

◆ is_lvalue_reference_v

template<typename _Tp >
constexpr bool std::is_lvalue_reference_v
inlineconstexpr

Definition at line 3107 of file type_traits.

◆ is_member_function_pointer_v

template<typename _Tp >
constexpr bool std::is_member_function_pointer_v
inlineconstexpr

Definition at line 3116 of file type_traits.

◆ is_member_object_pointer_v

template<typename _Tp >
constexpr bool std::is_member_object_pointer_v
inlineconstexpr

Definition at line 3113 of file type_traits.

◆ is_member_pointer_v

template<typename _Tp >
constexpr bool std::is_member_pointer_v
inlineconstexpr

Definition at line 3139 of file type_traits.

◆ is_move_assignable_v

template<typename _Tp >
constexpr bool std::is_move_assignable_v
inlineconstexpr

Definition at line 3189 of file type_traits.

◆ is_move_constructible_v

template<typename _Tp >
constexpr bool std::is_move_constructible_v
inlineconstexpr

Definition at line 3182 of file type_traits.

◆ is_nothrow_assignable_v

template<typename _Tp , typename _Up >
constexpr bool std::is_nothrow_assignable_v
inlineconstexpr

Definition at line 3229 of file type_traits.

◆ is_nothrow_constructible_v

template<typename _Tp , typename... _Args>
constexpr bool std::is_nothrow_constructible_v
inlineconstexpr

Definition at line 3217 of file type_traits.

◆ is_nothrow_copy_assignable_v

template<typename _Tp >
constexpr bool std::is_nothrow_copy_assignable_v
inlineconstexpr

Definition at line 3232 of file type_traits.

◆ is_nothrow_copy_constructible_v

template<typename _Tp >
constexpr bool std::is_nothrow_copy_constructible_v
inlineconstexpr

Definition at line 3223 of file type_traits.

◆ is_nothrow_default_constructible_v

template<typename _Tp >
constexpr bool std::is_nothrow_default_constructible_v
inlineconstexpr

Definition at line 3220 of file type_traits.

◆ is_nothrow_destructible_v

template<typename _Tp >
constexpr bool std::is_nothrow_destructible_v
inlineconstexpr

Definition at line 3238 of file type_traits.

◆ is_nothrow_invocable_r_v

template<typename _Ret , typename _Fn , typename... _Args>
constexpr bool std::is_nothrow_invocable_r_v
inlineconstexpr

Definition at line 3269 of file type_traits.

◆ is_nothrow_invocable_v

template<typename _Fn , typename... _Args>
constexpr bool std::is_nothrow_invocable_v
inlineconstexpr

Definition at line 3263 of file type_traits.

◆ is_nothrow_move_assignable_v

template<typename _Tp >
constexpr bool std::is_nothrow_move_assignable_v
inlineconstexpr

Definition at line 3235 of file type_traits.

◆ is_nothrow_move_constructible_v

template<typename _Tp >
constexpr bool std::is_nothrow_move_constructible_v
inlineconstexpr

Definition at line 3226 of file type_traits.

◆ is_nothrow_swappable_v

template<typename _Tp >
constexpr bool std::is_nothrow_swappable_v
inlineconstexpr

is_nothrow_swappable_v

Definition at line 2769 of file type_traits.

◆ is_nothrow_swappable_with_v

template<typename _Tp , typename _Up >
constexpr bool std::is_nothrow_swappable_with_v
inlineconstexpr

is_nothrow_swappable_with_v

Definition at line 2865 of file type_traits.

◆ is_null_pointer_v

template<typename _Tp >
constexpr bool std::is_null_pointer_v
inlineconstexpr

Definition at line 3097 of file type_traits.

◆ is_object_v

template<typename _Tp >
constexpr bool std::is_object_v
inlineconstexpr

Definition at line 3133 of file type_traits.

◆ is_pod_v

template<typename _Tp >
constexpr bool std::is_pod_v
inlineconstexpr

Definition at line 3155 of file type_traits.

◆ is_pointer_v

template<typename _Tp >
constexpr bool std::is_pointer_v
inlineconstexpr

Definition at line 3105 of file type_traits.

◆ is_polymorphic_v

template<typename _Tp >
constexpr bool std::is_polymorphic_v
inlineconstexpr

Definition at line 3163 of file type_traits.

◆ is_reference_v

template<typename _Tp >
constexpr bool std::is_reference_v
inlineconstexpr

Definition at line 3127 of file type_traits.

◆ is_rvalue_reference_v

template<typename _Tp >
constexpr bool std::is_rvalue_reference_v
inlineconstexpr

Definition at line 3110 of file type_traits.

◆ is_same_v

template<typename _Tp , typename _Up >
constexpr bool std::is_same_v
inlineconstexpr

Definition at line 3254 of file type_traits.

◆ is_scalar_v

template<typename _Tp >
constexpr bool std::is_scalar_v
inlineconstexpr

Definition at line 3135 of file type_traits.

◆ is_signed_v

template<typename _Tp >
constexpr bool std::is_signed_v
inlineconstexpr

Definition at line 3169 of file type_traits.

◆ is_standard_layout_v

template<typename _Tp >
constexpr bool std::is_standard_layout_v
inlineconstexpr

Definition at line 3150 of file type_traits.

◆ is_swappable_v

template<typename _Tp >
constexpr bool std::is_swappable_v
inlineconstexpr

is_swappable_v

Definition at line 2764 of file type_traits.

◆ is_swappable_with_v

template<typename _Tp , typename _Up >
constexpr bool std::is_swappable_with_v
inlineconstexpr

is_swappable_with_v

Definition at line 2860 of file type_traits.

◆ is_trivial_v

template<typename _Tp >
constexpr bool std::is_trivial_v
inlineconstexpr

Definition at line 3145 of file type_traits.

◆ is_trivially_assignable_v

template<typename _Tp , typename _Up >
constexpr bool std::is_trivially_assignable_v
inlineconstexpr

Definition at line 3205 of file type_traits.

◆ is_trivially_constructible_v

template<typename _Tp , typename... _Args>
constexpr bool std::is_trivially_constructible_v
inlineconstexpr

Definition at line 3193 of file type_traits.

◆ is_trivially_copy_assignable_v

template<typename _Tp >
constexpr bool std::is_trivially_copy_assignable_v
inlineconstexpr

Definition at line 3208 of file type_traits.

◆ is_trivially_copy_constructible_v

template<typename _Tp >
constexpr bool std::is_trivially_copy_constructible_v
inlineconstexpr

Definition at line 3199 of file type_traits.

◆ is_trivially_copyable_v

template<typename _Tp >
constexpr bool std::is_trivially_copyable_v
inlineconstexpr

Definition at line 3147 of file type_traits.

◆ is_trivially_default_constructible_v

template<typename _Tp >
constexpr bool std::is_trivially_default_constructible_v
inlineconstexpr

Definition at line 3196 of file type_traits.

◆ is_trivially_destructible_v

template<typename _Tp >
constexpr bool std::is_trivially_destructible_v
inlineconstexpr

Definition at line 3214 of file type_traits.

◆ is_trivially_move_assignable_v

template<typename _Tp >
constexpr bool std::is_trivially_move_assignable_v
inlineconstexpr

Definition at line 3211 of file type_traits.

◆ is_trivially_move_constructible_v

template<typename _Tp >
constexpr bool std::is_trivially_move_constructible_v
inlineconstexpr

Definition at line 3202 of file type_traits.

◆ is_union_v

template<typename _Tp >
constexpr bool std::is_union_v
inlineconstexpr

Definition at line 3121 of file type_traits.

◆ is_unsigned_v

template<typename _Tp >
constexpr bool std::is_unsigned_v
inlineconstexpr

Definition at line 3171 of file type_traits.

◆ is_volatile_v

template<typename _Tp >
constexpr bool std::is_volatile_v
inlineconstexpr

Definition at line 3143 of file type_traits.

◆ negation_v

template<typename _Pp >
constexpr bool std::negation_v
inlineconstexpr

Definition at line 203 of file type_traits.

◆ rank_v

template<typename _Tp >
constexpr size_t std::rank_v
inlineconstexpr

Definition at line 3246 of file type_traits.

◆ value

template<typename _Tp , _Tp __v>
constexpr _Tp std::integral_constant< _Tp, __v >::value
staticconstexpr

Definition at line 67 of file type_traits.