std::is_destructible

Defined in header <type_traits> template< class T > struct is_destructible; (1) (since C++11) template< class T > struct is_trivially_destructible; (2) (since C++11) template< class T > struct is_nothrow_destructible; (3) (since C++11) 1) If an imaginary struct containing a member object of type T has a non-deleted destructor, provides the member constant value equal true. For any other type, value is false. (until C++14) 1) If T is a refere

std::is_default_constructible

Defined in header <type_traits> template< class T > struct is_default_constructible; (1) (since C++11) template< class T > struct is_trivially_default_constructible; (2) (since C++11) template< class T > struct is_nothrow_default_constructible; (3) (since C++11) 1) If std::is_constructible<T>::value is true, provides the member constant value equal to true, otherwise value is false. 2) If std::is_trivially_constructible<T>::value is

std::is_copy_constructible

Defined in header <type_traits> template< class T > struct is_copy_constructible; (1) (since C++11) template< class T > struct is_trivially_copy_constructible; (2) (since C++11) template< class T > struct is_nothrow_copy_constructible; (3) (since C++11) 1) If T is not a referenceable type (i.e., possibly cv-qualified void or a function type with a cv-qualifier-seq or a ref-qualifier), provides a member constant value equal to false. Otherwise,

std::is_copy_assignable

Defined in header <type_traits> template< class T > struct is_copy_assignable; (1) (since C++11) template< class T > struct is_trivially_copy_assignable; (2) (since C++11) template< class T > struct is_nothrow_copy_assignable; (3) (since C++11) 1) If T is not a referenceable type (i.e., possibly cv-qualified void or a function type with a cv-qualifier-seq or a ref-qualifier), provides a member constant value equal to false. Otherwise, provides

std::is_convertible

Defined in header <type_traits> template< class From, class To > struct is_convertible; (since C++11) If the return statement in the imaginary function definition To test() { return std::declval<From>(); } is well-formed, (that is, if std::declval<From>() can be converted to To using implicit conversion), provides the member constant value equal to true. Otherwise value is false. For the purposes of this check, the use of std::declval is in the return stat

std::is_constructible

Defined in header <type_traits> template< class T, class... Args > struct is_constructible; (1) (since C++11) template< class T, class... Args > struct is_trivially_constructible; (2) (since C++11) template< class T, class... Args > struct is_nothrow_constructible; (3) (since C++11) 1) If the variable definition T obj(std::declval<Args>()...); is well-formed, provides the member constant value equal true. Otherwise, value is false. For th

std::is_const

Defined in header <type_traits> template< class T > struct is_const; (since C++11) If T is a const-qualified type (that is, const, or const volatile), provides the member constant value equal true. For any other type, value is false. Template parameters T - a type to check Helper variable template template< class T > constexpr bool is_const_v = is_const<T>::value; (since C++17) Inherited from std::integral_constant Member const

std::is_compound

Defined in header <type_traits> template< class T > struct is_compound; (since C++11) If T is a compound type (that is, array, function, object pointer, function pointer, member object pointer, member function pointer, reference, class, union, or enumeration, including any cv-qualified variants), provides the member constant value equal true. For any other type, value is false. Template parameters T - a type to check Helper variable template template&

std::is_class

Defined in header <type_traits> template< class T > struct is_class; (since C++11) Checks whether T is a class or struct type. Provides the member constant value which is equal to true, if T is an class or struct type (but not union). Otherwise, value is equal to false. Template parameters T - a type to check Helper variable template template< class T > constexpr bool is_class_v = is_class<T>::value; (since C++17) Inherited from

std::is_bind_expression

Defined in header <functional> template< class T > struct is_bind_expression; (since C++11) If T is the type produced by a call to std::bind, this template is derived from std::true_type. For any other type, this template is derived from std::false_type. This template may be specialized for a user-defined type T to implement UnaryTypeTrait with BaseCharacteristic of std::true_type to indicate that T should be treated by std::bind as if it were the type of a bind subex