Open In App

std::is_integral template in C++

Improve
Improve
Like Article
Like
Save
Share
Report

The std::is_integral template of C++ STL is used to check whether the given type is integral or not. It returns a boolean value showing the same.

Syntax:

template <class T> struct is_integral;

Template Parameter: This template accepts a single parameter T (Trait class) to check whether T is a integral type or not.

Return Value: This template returns a boolean value as shown below:

  • true: if the type is a integral.
  • false: if the type is a non-integral.

Below programs illustrate the std::is_integral template in C++:

Program 1::




// C++ program to illustrate
// is_integral function
  
#include <iostream>
#include <type_traits>
using namespace std;
  
// main program
int main()
{
    cout << boolalpha;
    cout << "is_integral:" << endl;
    cout << "char: " << is_integral
       <char>::value << endl;
    cout << "int: " << is_integral
       <int>::value << endl;
    cout << "float: " << is_integral
        <float>::value << endl;
    return 0;
}


Output:

is_integral:
char: true
int: true
float: false

Program 2::




// C++ program to illustrate
// is_integral function
  
#include <iostream>
#include <type_traits>
using namespace std;
  
// main program
int main()
{
    cout << boolalpha;
    cout << "is_integral:" << endl;
    cout << "double: " << is_integral
      <double>::value << endl;
    cout << "bool: " << is_integral
       <bool>::value << endl;
    cout << "long int: " << is_integral
        <long int>::value << endl;
    return 0;
}


Output:

is_integral:
double: false
bool: true
long int: true

Program 3::




// C++ program to illustrate
// is_integral function
  
#include <iostream>
#include <type_traits>
using namespace std;
  
// main program
int main()
{
    cout << boolalpha;
    cout << "is_integral:" << endl;
    cout << "wchar_t: " << is_integral
      <wchar_t>::value << endl;
    cout << "long double: " << is_integral
      <long double>::value << endl;
    cout << "unsigned short int: " << is_integral
      <unsigned short int>::value << endl;
    return 0;
}


Output:

is_integral:
wchar_t: true
long double: false
unsigned short int: true


Last Updated : 19 Nov, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads