is_arithmetic Template in C++ Last Updated : 19 Nov, 2018 Summarize Comments Improve Suggest changes Share Like Article Like Report The std::is_arithmetic templateof C++ STL is used to check whether the given type is arithmetic or not. An Arithmetic type means an integral type or a floating-point type. It returns a boolean value showing the same. Syntax: template <class T> struct is_arithmetic; Parameters: This template accepts a single parameter T (Trait class) to check whether T is an arithmetic type or not. Return Value: This template returns a boolean value as shown below: True: if the type is a arithmetic. False: if the type is a non-arithmetic. Below programs illustrate the std::is_arithmetic template in C++ STL: Program 1: CPP // C++ program to illustrate // is_arithmetic template #include <iostream> #include <type_traits> using namespace std; // main program class GFG { }; int main() { cout << boolalpha; cout << "is_arithmetic:" << '\n'; cout << "GFG: " << is_arithmetic<GFG>::value << '\n'; cout << "bool: " << is_arithmetic<bool>::value << '\n'; cout << "long: " << is_arithmetic<long>::value << '\n'; cout << "short: " << is_arithmetic<short>::value << '\n'; return 0; } Output: is_arithmetic: GFG: false bool: true long: true short: true Program 2: CPP // C++ program to illustrate // is_arithmetic template #include <iostream> #include <type_traits> using namespace std; // main program class GFG { }; int main() { cout << boolalpha; cout << "is_arithmetic:" << '\n'; cout << "GFG: " << is_arithmetic<GFG>::value << '\n'; cout << "int: " << is_arithmetic<int>::value << '\n'; cout << "int const: " << is_arithmetic<int const>::value << '\n'; cout << "int &: " << is_arithmetic<int&>::value << '\n'; cout << "int *: " << is_arithmetic<int*>::value << '\n'; cout << "long int: " << is_arithmetic<long int>::value << '\n'; return 0; } Output: is_arithmetic: GFG: false int: true int const: true int &: false int *: false long int: true Program 3: CPP // C++ program to illustrate // is_arithmetic template #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_arithmetic:" << '\n'; cout << "float: " << is_arithmetic<float>::value << '\n'; cout << "float const: " << is_arithmetic<float const>::value << '\n'; cout << "float &: " << is_arithmetic<float&>::value << '\n'; cout << "float *: " << is_arithmetic<float*>::value << '\n'; cout << "double: " << is_arithmetic<double>::value << '\n'; cout << "double const: " << is_arithmetic<double const>::value << '\n'; cout << "double &: " << is_arithmetic<double&>::value << '\n'; cout << "double *: " << is_arithmetic<double*>::value << '\n'; return 0; } Output: is_arithmetic: float: true float const: true float &: false float *: false double: true double const: true double &: false double *: false Program 4: CPP // C++ program to illustrate // is_arithmetic template #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_arithmetic:" << '\n'; cout << "char: " << is_arithmetic<char>::value << '\n'; cout << "char const: " << is_arithmetic<char const>::value << '\n'; cout << "char &: " << is_arithmetic<char&>::value << '\n'; cout << "char *: " << is_arithmetic<char*>::value << '\n'; return 0; } Output: is_arithmetic: char: true char const: true char &: false char *: false Comment More infoAdvertise with us Next Article is_const Template in C++ R rajasethupathi Follow Improve Article Tags : Misc C++ cpp-template Practice Tags : CPPMisc Similar Reads is_abstract template in C++ The std::is_abstract template of C++ STL is used to check whether the type is a abstract class type or not. It returns a boolean value showing the same. Syntax: template < class T > struct is_abstract; Parameter: This template contains single parameter T (Trait class) to check whether T is a a 2 min read is_class template in C++ The std::is_class template of C++ STL is used to check whether the given type is class or not. It returns a boolean value showing the same. Syntax: template <class T> struct is_class; Parameter: This template accepts single parameter T (Trait class) to check whether T is a class or not. Return 2 min read is_const Template in C++ The std::is_const template of C++ STL is used to check whether the type is a const-qualified or not. It returns a boolean value showing the same. Syntax: template < class T >struct is_const; Template Parameter: This template contains single parameter T (Trait class) to check whether T is a con 2 min read C++ Pointer Arithmetic In C++, pointer arithmetic means performing arithmetic operations on pointers. It refers to the operations that are valid to perform on pointers. Following are the arithmetic operations valid on pointers in C++:Table of ContentIncrementing and Decrementing Pointer in C++Addition of Constant to Point 7 min read is_fundamental Template in C++ The is_fundamental template of C++ STL is used to check whether the type is a fundamental type or not. It returns a boolean value showing the same. Syntax: template <class T> struct is_fundamental; Parameter: This template accepts a single parameter T (Trait class) to check whether T is a fund 2 min read is_empty template in C++ The std::is_empty template of C++ STL is used to check whether the given type is empty or not. This method returns a boolean value showing whether the given type is empty or not. Syntax: template < class T > struct is_empty; Parameters: This template contains single parameter T (Trait class) t 2 min read Like