|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic types | |||||||||||||||||||||
| Fixed width integer types(C++11) | |||||||||||||||||||||
| Fixed width floating-point types(C++23) | |||||||||||||||||||||
| |||||||||||||||||||||
| Numeric limits | |||||||||||||||||||||
| C numeric limits interface | |||||||||||||||||||||
| Runtime type information | |||||||||||||||||||||
| |||||||||||||||||||||
| Static constants | ||||
numeric_limits::is_specialized | ||||
(C++11) | ||||
| Static member functions | ||||
(C++11) | ||||
| Helper types | ||||
staticconstbool is_specialized; | (until C++11) | |
staticconstexprbool is_specialized; | (since C++11) | |
The value ofstd::numeric_limits<T>::is_specialized istrue for allT for which there exists a specialization ofstd::numeric_limits.
T | value ofstd::numeric_limits<T>::is_specialized |
| /* non-specialized */ | false |
| bool | true |
| char | true |
| signedchar | true |
| unsignedchar | true |
| wchar_t | true |
| char8_t(since C++20) | true |
| char16_t(since C++11) | true |
| char32_t(since C++11) | true |
| short | true |
| unsignedshort | true |
| int | true |
| unsignedint | true |
| long | true |
| unsignedlong | true |
| longlong(since C++11) | true |
| unsignedlonglong(since C++11) | true |
| float | true |
| double | true |
| longdouble | true |
#include <iostream>#include <limits>#include <type_traits> int main(){enum E{}; std::cout<<std::boolalpha<<std::numeric_limits<bool>::is_specialized<<'\n'<<std::numeric_limits<longlong>::is_specialized<<'\n'<<std::numeric_limits<std::true_type>::is_specialized<<'\n'<<std::numeric_limits<E>::is_specialized<<'\n';}
Possible output:
truetruefalsefalse
[static] | identifies integer types (public static member constant)[edit] |
[static] | identifies the IEC 559/IEEE 754 floating-point types (public static member constant)[edit] |
[static] | identifies exact types (public static member constant)[edit] |
[static] | identifies types that represent a finite set of values (public static member constant)[edit] |