class template
<type_traits>
std::is_arithmetictemplate <class T> struct is_arithmetic;
Is arithmetic type
It inherits from integral_constant as being either true_type or false_type, depending on whether T is an arithmetic type:
fundamental arithmetic types integral types bool char char16_t char32_t wchar_t signed char short int int long int long long int unsigned char unsigned short int unsigned int unsigned long int unsigned long long int floating point types float double long doubleEnums are not considered arithmetic types in C++ (see is_enum).
This is a compound type trait defined with the same behavior as:
1
2
3
template<class T>
struct is_arithmetic : std::integral_constant < bool,
is_integral<T>::value || is_floating_point<T>::value > {};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// is_arithmetic example
#include <iostream>
#include <type_traits>
#include <complex>
int main() {
std::cout << std::boolalpha;
std::cout << "is_arithmetic:" << std::endl;
std::cout << "char: " << std::is_arithmetic<char>::value << std::endl;
std::cout << "float: " << std::is_arithmetic<float>::value << std::endl;
std::cout << "float*: " << std::is_arithmetic<float*>::value << std::endl;
std::cout << "complex<double>: " << std::is_arithmetic<std::complex<double>>::value << std::endl;
return 0;
}
is_arithmetic: char: true float: true float*: false complex<double>: false
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4