std::numeric_limits<T>:: is_exact
|
|
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_exact
|
||||
(C++11)
|
||||
Static member functions | ||||
(C++11)
|
||||
Helper types | ||||
static
const
bool
is_exact
;
|
(until C++11) | |
static
constexpr
bool
is_exact
;
|
(since C++11) | |
The value of
std::
numeric_limits
<
T
>
::
is_exact
is
true
for all arithmetic types
T
that use exact representation.
Standard specializations
T
|
value of std:: numeric_limits < T > :: is_exact |
/* non-specialized */ | false |
bool | true |
char | true |
signed char | true |
unsigned char | true |
wchar_t | true |
char8_t (since C++20) | true |
char16_t (since C++11) | true |
char32_t (since C++11) | true |
short | true |
unsigned short | true |
int | true |
unsigned int | true |
long | true |
unsigned long | true |
long long (since C++11) | true |
unsigned long long (since C++11) | true |
float | false |
double | false |
long double | false |
Notes
While all fundamental types
T
for which
std::
numeric_limits
<
T
>
::
is_exact
==
true
are integer types, a library may define exact types that are not integers, e.g. a rational arithmetic type representing fractions.
See also
[static]
|
identifies integer types
(public static member constant) |
[static]
|
identifies signed types
(public static member constant) |
[static]
|
identifies types that represent a finite set of values
(public static member constant) |