std::is_empty

Defined in header <type_traits> template< class T > struct is_empty; (since C++11) If T is an empty type (that is, a non-union class type with no non-static data members other than bit-fields of size 0, no virtual functions, no virtual base classes, and no non-empty base classes), provides the member constant value equal true. For any other type, value is false. If T is a non-union class type, T shall be a complete type; otherwise, the behavior is undefined. Templat

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

Defined in header <type_traits> template< class Base, class Derived > struct is_base_of; (since C++11) If Derived is derived from Base or if both are the same non-union class, provides the member constant value equal to true. Otherwise value is false. If both Base and Derived are non-union class types, and they are not the same type (ignoring cv-qualification), Derived shall be a complete type; otherwise the behavior is undefined. Helper variable template templa