class template
<type_traits>
std::is_fundamentaltemplate <class T> struct is_fundamental;
Is fundamental type
It inherits from integral_constant as being either true_type or false_type, depending on whether T is one of the following types:
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 double void void null pointer std::nullptr_tEnums, along with pointers, references, classes and functions are not considered fundamental types in C++.
This is a compound type trait defined with the same behavior as:
1
2
3
4
template<class T>
struct is_fundamental : std::integral_constant < bool,
is_integral<T>::value || is_floating_point<T>::value || is_void<T>:: value ||
is_same<nullptr_t, typename remove_cv<T>::type>::value> {};
1
2
3
4
5
6
7
8
9
10
11
12
13
// is_fundamental example
#include <iostream>
#include <type_traits>
int main() {
std::cout << std::boolalpha;
std::cout << "is_fundamental:" << std::endl;
std::cout << "unsigned: " << std::is_fundamental<unsigned>::value << std::endl;
std::cout << "float: " << std::is_fundamental<float>::value << std::endl;
std::cout << "float*: " << std::is_fundamental<float*>::value << std::endl;
std::cout << "decltype(nullptr): " << std::is_fundamental<decltype(nullptr)>::value << std::endl;
return 0;
}
is_fundamental: unsigned: true float: true float*: false decltype(nullptr): true
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