std::is_destructible in C++ with Example
The std::is_destructible template of C++ STL is present in the <type_traits> header file. The std::is_destructible template of C++ STL is used to check whether the T is destructible or not. A class is called destructible whose destructor is not deleted and potentially accessible in derived classes. It return the boolean value true if T is destructible type, otherwise return false.
Header File:
#include<type_traits>
Template Class:
template< class T > struct is_destructible;
Syntax:
std::is_destructible<T>::value
Parameter: The template std::is_destructible accepts a single parameter T(Trait class) to check whether T is destructible type or not.
Return Value: The template std::is_destructible returns a boolean variable as shown below:
- True: If the type T is a destructible type.
- False: If the type T is not a destructible type.
Below are the programs to demonstrate std::is_destructible in C++:
Program:
// C++ program to illustrate // std::is_destructible #include <bits/stdc++.h> #include <type_traits> using namespace std; // Declare a structures struct X { }; struct Y { // Destructors ~Y() = delete ; }; struct Z { ~Z() = default ; }; struct A : Y { }; // Driver Code int main() { cout << boolalpha; // Check if int is destructible // or not cout << "int is destructible? " << is_destructible< int >::value << endl; // Check if float is destructible // or not cout << "float is destructible? " << is_destructible< float >::value << endl; // Check if struct X is // destructible or not cout << "struct X is destructible? " << is_destructible<X>::value << endl; // Check if struct Y is // destructible or not cout << "struct Y is destructible? " << is_destructible<Y>::value << endl; // Check if struct Z is // destructible or not cout << "struct Z is destructible? " << is_destructible<Z>::value << endl; // Check if struct A is // destructible or not cout << "struct A is destructible? " << is_destructible<A>::value << endl; return 0; } |
int is destructible? true float is destructible? true struct X is destructible? true struct Y is destructible? false struct Z is destructible? true struct A is destructible? false
Reference: http://www.cplusplus.com/reference/type_traits/is_destructible/
Please Login to comment...