std::has_virtual_destructor (3) - Linux Manuals
std::has_virtual_destructor: std::has_virtual_destructor
NAME
std::has_virtual_destructor - std::has_virtual_destructor
Synopsis
Defined in header <type_traits>
template< class T > (since C++11)
struct has_virtual_destructor;
If T is a type with a virtual destructor, 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.
Helper variable template
template< class T > (since C++17)
inline constexpr bool has_virtual_destructor_v = has_virtual_destructor<T>::value;
Inherited from std::integral_constant
Member constants
value true if T has a virtual destructor , false otherwise
[static]
Member functions
operator bool (public member function)
operator() returns value
(C++14)
Member types
Type Definition
value_type bool
type std::integral_constant<bool, value>
Notes
If a class has a public virtual destructor, it can be derived from, and the derived object can be safely deleted through a pointer to the base object (GotW_#18)
Example
// Run this code
Output:
See also
is_destructible
is_trivially_destructible
is_nothrow_destructible checks if a type has a non-deleted destructor
(C++11)
(C++11)
(C++11)