Variable template for type traits (original) (raw)

#define __cpp_lib_experimental_type_trait_variable_templates
template<typename _Tp >
constexpr bool std::experimental::is_void_v
template<typename _Tp >
constexpr bool std::experimental::is_null_pointer_v
template<typename _Tp >
constexpr bool std::experimental::is_integral_v
template<typename _Tp >
constexpr bool std::experimental::is_floating_point_v
template<typename _Tp >
constexpr bool std::experimental::is_array_v
template<typename _Tp >
constexpr bool std::experimental::is_pointer_v
template<typename _Tp >
constexpr bool std::experimental::is_lvalue_reference_v
template<typename _Tp >
constexpr bool std::experimental::is_rvalue_reference_v
template<typename _Tp >
constexpr bool std::experimental::is_member_object_pointer_v
template<typename _Tp >
constexpr bool std::experimental::is_member_function_pointer_v
template<typename _Tp >
constexpr bool std::experimental::is_enum_v
template<typename _Tp >
constexpr bool std::experimental::is_union_v
template<typename _Tp >
constexpr bool std::experimental::is_class_v
template<typename _Tp >
constexpr bool std::experimental::is_function_v
template<typename _Tp >
constexpr bool std::experimental::is_reference_v
template<typename _Tp >
constexpr bool std::experimental::is_arithmetic_v
template<typename _Tp >
constexpr bool std::experimental::is_fundamental_v
template<typename _Tp >
constexpr bool std::experimental::is_object_v
template<typename _Tp >
constexpr bool std::experimental::is_scalar_v
template<typename _Tp >
constexpr bool std::experimental::is_compound_v
template<typename _Tp >
constexpr bool std::experimental::is_member_pointer_v
template<typename _Tp >
constexpr bool std::experimental::is_const_v
template<typename _Tp >
constexpr bool std::experimental::is_volatile_v
template<typename _Tp >
constexpr bool std::experimental::is_trivial_v
template<typename _Tp >
constexpr bool std::experimental::is_trivially_copyable_v
template<typename _Tp >
constexpr bool std::experimental::is_standard_layout_v
template<typename _Tp >
constexpr bool std::experimental::is_pod_v
template<typename _Tp >
constexpr bool std::experimental::is_literal_type_v
template<typename _Tp >
constexpr bool std::experimental::is_empty_v
template<typename _Tp >
constexpr bool std::experimental::is_polymorphic_v
template<typename _Tp >
constexpr bool std::experimental::is_abstract_v
template<typename _Tp >
constexpr bool std::experimental::is_final_v
template<typename _Tp >
constexpr bool std::experimental::is_signed_v
template<typename _Tp >
constexpr bool std::experimental::is_unsigned_v
template<typename _Tp , typename... _Args>
constexpr bool std::experimental::is_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_default_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_copy_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_move_constructible_v
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_copy_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_move_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_destructible_v
template<typename _Tp , typename... _Args>
constexpr bool std::experimental::is_trivially_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_trivially_default_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_trivially_copy_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_trivially_move_constructible_v
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_trivially_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_trivially_copy_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_trivially_move_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_trivially_destructible_v
template<typename _Tp , typename... _Args>
constexpr bool std::experimental::is_nothrow_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_default_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_copy_constructible_v
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_move_constructible_v
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_nothrow_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_copy_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_move_assignable_v
template<typename _Tp >
constexpr bool std::experimental::is_nothrow_destructible_v
template<typename _Tp >
constexpr bool std::experimental::has_virtual_destructor_v
template<typename _Tp >
constexpr size_t std::experimental::alignment_of_v
template<typename _Tp >
constexpr size_t std::experimental::rank_v
template<typename _Tp , unsigned _Idx = 0>
constexpr size_t std::experimental::extent_v
template<typename _Tp , typename _Up >
constexpr bool std::experimental::is_same_v
template<typename _Tp >
constexpr bool std::experimental::is_same_v< _Tp, _Tp >
template<typename _Base , typename _Derived >
constexpr bool std::experimental::is_base_of_v
template<typename _From , typename _To >
constexpr bool std::experimental::is_convertible_v

Since

Library Fundamentals TS v1. C++14.

See also

variable_templates

__cpp_lib_experimental_type_trait_variable_templates

#define __cpp_lib_experimental_type_trait_variable_templates

alignment_of_v

template<typename _Tp >

constexpr size_t std::experimental::fundamentals_v1::alignment_of_v constexpr

extent_v

template<typename _Tp , unsigned _Idx = 0>

constexpr size_t std::experimental::fundamentals_v1::extent_v constexpr

has_virtual_destructor_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::has_virtual_destructor_v constexpr

is_abstract_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_abstract_v constexpr

is_arithmetic_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_arithmetic_v constexpr

is_array_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_array_v constexpr

is_assignable_v

template<typename _Tp , typename _Up >

constexpr bool std::experimental::fundamentals_v1::is_assignable_v constexpr

is_base_of_v

template<typename _Base , typename _Derived >

constexpr bool std::experimental::fundamentals_v1::is_base_of_v constexpr

is_class_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_class_v constexpr

is_compound_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_compound_v constexpr

is_const_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_const_v constexpr

is_constructible_v

template<typename _Tp , typename... _Args>

constexpr bool std::experimental::fundamentals_v1::is_constructible_v constexpr

is_convertible_v

template<typename _From , typename _To >

constexpr bool std::experimental::fundamentals_v1::is_convertible_v constexpr

is_copy_assignable_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_copy_assignable_v constexpr

is_copy_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_copy_constructible_v constexpr

is_default_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_default_constructible_v constexpr

is_destructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_destructible_v constexpr

is_empty_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_empty_v constexpr

is_enum_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_enum_v constexpr

is_final_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_final_v constexpr

is_floating_point_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_floating_point_v constexpr

is_function_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_function_v constexpr

is_fundamental_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_fundamental_v constexpr

is_integral_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_integral_v constexpr

is_literal_type_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_literal_type_v constexpr

is_lvalue_reference_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_lvalue_reference_v constexpr

is_member_function_pointer_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_member_function_pointer_v constexpr

is_member_object_pointer_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_member_object_pointer_v constexpr

is_member_pointer_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_member_pointer_v constexpr

is_move_assignable_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_move_assignable_v constexpr

is_move_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_move_constructible_v constexpr

is_nothrow_assignable_v

template<typename _Tp , typename _Up >

constexpr bool std::experimental::fundamentals_v1::is_nothrow_assignable_v constexpr

is_nothrow_constructible_v

template<typename _Tp , typename... _Args>

constexpr bool std::experimental::fundamentals_v1::is_nothrow_constructible_v constexpr

is_nothrow_copy_assignable_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_nothrow_copy_assignable_v constexpr

is_nothrow_copy_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_nothrow_copy_constructible_v constexpr

is_nothrow_default_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_nothrow_default_constructible_v constexpr

is_nothrow_destructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_nothrow_destructible_v constexpr

is_nothrow_move_assignable_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_nothrow_move_assignable_v constexpr

is_nothrow_move_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_nothrow_move_constructible_v constexpr

is_null_pointer_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_null_pointer_v constexpr

is_object_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_object_v constexpr

is_pod_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_pod_v constexpr

is_pointer_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_pointer_v constexpr

is_polymorphic_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_polymorphic_v constexpr

is_reference_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_reference_v constexpr

is_rvalue_reference_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_rvalue_reference_v constexpr

is_same_v

template<typename _Tp , typename _Up >

constexpr bool std::experimental::fundamentals_v1::is_same_v constexpr

is_same_v< _Tp, _Tp >

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_same_v< _Tp, _Tp > constexpr

is_scalar_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_scalar_v constexpr

is_signed_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_signed_v constexpr

is_standard_layout_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_standard_layout_v constexpr

is_trivial_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivial_v constexpr

is_trivially_assignable_v

template<typename _Tp , typename _Up >

constexpr bool std::experimental::fundamentals_v1::is_trivially_assignable_v constexpr

is_trivially_constructible_v

template<typename _Tp , typename... _Args>

constexpr bool std::experimental::fundamentals_v1::is_trivially_constructible_v constexpr

is_trivially_copy_assignable_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivially_copy_assignable_v constexpr

is_trivially_copy_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivially_copy_constructible_v constexpr

is_trivially_copyable_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivially_copyable_v constexpr

is_trivially_default_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivially_default_constructible_v constexpr

is_trivially_destructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivially_destructible_v constexpr

is_trivially_move_assignable_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivially_move_assignable_v constexpr

is_trivially_move_constructible_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_trivially_move_constructible_v constexpr

is_union_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_union_v constexpr

is_unsigned_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_unsigned_v constexpr

is_void_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_void_v constexpr

is_volatile_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_volatile_v constexpr

rank_v

template<typename _Tp >

constexpr size_t std::experimental::fundamentals_v1::rank_v constexpr