Variable templates for type traits.
Utilities » Metaprogramming
Collaboration diagram for Variable templates for type traits.:

template<typename... _Bn>
constexpr bool | std::conjunction_v
template<typename... _Bn>
constexpr bool | std::disjunction_v
template<typename _Pp >
constexpr bool | std::negation_v
template<typename _Tp >
constexpr bool | std::is_void_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

The variable `is_foo_v<T>` is a boolean constant with the same value as the type trait `is_foo<T>value`.

Since
  C++17