boost is_pointer template in C++
Let’s talk about boost is_pointer in C++.
The is_pointer
template of the boost library. It tells if the given type is a pointer or not. It returns the value in boolean.
Header file used: #include <boost/type_traits>
Code Prototype:
#include <boost/type_traits> namespace std { template <typename T> struct is_pointer<shared_ptr<T>> : std::true_type {}; template <typename T> struct is_pointer<shared_ptr<T const>> : std::true_type {}; }
Here T is the trait class. If T is a pointer type then it inherits from true type otherwise false type.
Syntax:
boost::is_pointer::value boost::is_pointer::value_type
To understand the workings of boost is_pointer, Let us study a code:
#include <iostream> #include <type_traits> int main() { // Set the output to display boolean values as true/false std::cout << std::boolalpha; // Check whether int is a pointer std::cout << std::is_pointer<int>::value << std::endl; // Check whether int* is a pointer std::cout << std::is_pointer<int*>::value << std::endl; // Check whether int** is a pointer std::cout << std::is_pointer<int**>::value << std::endl; // Check whether char is a pointer std::cout << std::is_pointer<char>::value << std::endl; return 0; }
Output:
false true true false
Leave a Reply