std::numeric_limits<T>::is_exact (3) - Linux Manuals

std::numeric_limits<T>::is_exact: std::numeric_limits<T>::is_exact


std::numeric_limits<T>::is_exact - std::numeric_limits<T>::is_exact


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 true
char16_t true
char32_t true
short true
unsigned short true
int true
unsigned int true
long true
unsigned long true
long long true
unsigned long long true
float false
double false
long double false


While all fundamental types T for which std::numeric_limits<T>::is_exact==true are integer types, a library may define exact types that aren't integers, e.g. a rational arithmetics type representing fractions.

See also

is_integer identifies integer types
           (public static member constant)

is_signed identifies signed types
           (public static member constant)

is_bounded identifies types that represent a finite set of values
           (public static member constant)