libstdc++
std::__numeric_limits_base Struct Reference

#include <limits>

Inheritance diagram for std::__numeric_limits_base:
[legend]

Static Public Attributes

static constexpr int digits
 
static constexpr int digits10
 
static constexpr float_denorm_style has_denorm
 
static constexpr bool has_denorm_loss
 
static constexpr bool has_infinity
 
static constexpr bool has_quiet_NaN
 
static constexpr bool has_signaling_NaN
 
static constexpr bool is_bounded
 
static constexpr bool is_exact
 
static constexpr bool is_iec559
 
static constexpr bool is_integer
 
static constexpr bool is_modulo
 
static constexpr bool is_signed
 
static constexpr bool is_specialized
 
static constexpr int max_digits10
 
static constexpr int max_exponent
 
static constexpr int max_exponent10
 
static constexpr int min_exponent
 
static constexpr int min_exponent10
 
static constexpr int radix
 
static constexpr float_round_style round_style
 
static constexpr bool tinyness_before
 
static constexpr bool traps
 

Detailed Description

Part of std::numeric_limits.

The static const members are usable as integral constant expressions.

Note
This is a separate class for purposes of efficiency; you should only access these members as part of an instantiation of the std::numeric_limits class.

Definition at line 209 of file limits.

Member Data Documentation

◆ digits

int std::__numeric_limits_base::digits
staticconstexpr

The number of radix digits that be represented without change: for integer types, the number of non-sign bits in the mantissa; for floating types, the number of radix digits in the mantissa.

Definition at line 218 of file limits.

Referenced by std::generate_canonical(), std::independent_bits_engine< _RandomNumberEngine, __w, _UIntType >::operator()(), std::operator<<(), and std::linear_congruential_engine< uint_fast32_t, 16807UL, 0UL, 2147483647UL >::seed().

◆ digits10

int std::__numeric_limits_base::digits10
staticconstexpr

The number of base 10 digits that can be represented without change.

Definition at line 221 of file limits.

◆ has_denorm

float_denorm_style std::__numeric_limits_base::has_denorm
staticconstexpr

See std::float_denorm_style for more information.

Definition at line 273 of file limits.

◆ has_denorm_loss

bool std::__numeric_limits_base::has_denorm_loss
staticconstexpr

True if loss of accuracy is detected as a denormalization loss, rather than as an inexact result.

Definition at line 277 of file limits.

◆ has_infinity

bool std::__numeric_limits_base::has_infinity
staticconstexpr

True if the type has a representation for positive infinity.

Definition at line 262 of file limits.

◆ has_quiet_NaN

bool std::__numeric_limits_base::has_quiet_NaN
staticconstexpr

True if the type has a representation for a quiet (non-signaling) Not a Number.

Definition at line 266 of file limits.

◆ has_signaling_NaN

bool std::__numeric_limits_base::has_signaling_NaN
staticconstexpr

True if the type has a representation for a signaling Not a Number.

Definition at line 270 of file limits.

◆ is_bounded

bool std::__numeric_limits_base::is_bounded
staticconstexpr

True if the set of values representable by the type is finite. All built-in types are bounded, this member would be false for arbitrary precision types.

Definition at line 286 of file limits.

◆ is_exact

bool std::__numeric_limits_base::is_exact
staticconstexpr

True if the type uses an exact representation. All integer types are exact, but not all exact types are integer. For example, rational and fixed-exponent representations are exact but not integer.

Definition at line 238 of file limits.

◆ is_iec559

bool std::__numeric_limits_base::is_iec559
staticconstexpr

True if-and-only-if the type adheres to the IEC 559 standard, also known as IEEE 754. (Only makes sense for floating point types.)

Definition at line 281 of file limits.

◆ is_integer

bool std::__numeric_limits_base::is_integer
staticconstexpr

True if the type is integer.

Definition at line 233 of file limits.

◆ is_modulo

bool std::__numeric_limits_base::is_modulo
staticconstexpr

True if the type is modulo. A type is modulo if, for any operation involving +, -, or * on values of that type whose result would fall outside the range [min(),max()], the value returned differs from the true value by an integer multiple of max() - min() + 1. On most machines, this is false for floating types, true for unsigned integers, and true for signed integers. See PR22200 about signed integers.

Definition at line 295 of file limits.

◆ is_signed

bool std::__numeric_limits_base::is_signed
staticconstexpr

True if the type is signed.

Definition at line 230 of file limits.

◆ is_specialized

bool std::__numeric_limits_base::is_specialized
staticconstexpr

This will be true for all fundamental types (which have specializations), and false for everything else.

Definition at line 213 of file limits.

◆ max_digits10

int std::__numeric_limits_base::max_digits10
staticconstexpr

The number of base 10 digits required to ensure that values which differ are always differentiated.

Definition at line 226 of file limits.

◆ max_exponent

int std::__numeric_limits_base::max_exponent
staticconstexpr

The maximum positive integer such that radix raised to the power of (one less than that integer) is a representable finite floating point number.

Definition at line 255 of file limits.

◆ max_exponent10

int std::__numeric_limits_base::max_exponent10
staticconstexpr

The maximum positive integer such that 10 raised to that power is in the range of representable finite floating point numbers.

Definition at line 259 of file limits.

◆ min_exponent

int std::__numeric_limits_base::min_exponent
staticconstexpr

The minimum negative integer such that radix raised to the power of (one less than that integer) is a normalized floating point number.

Definition at line 246 of file limits.

◆ min_exponent10

int std::__numeric_limits_base::min_exponent10
staticconstexpr

The minimum negative integer such that 10 raised to that power is in the range of normalized floating point numbers.

Definition at line 250 of file limits.

◆ radix

int std::__numeric_limits_base::radix
staticconstexpr

For integer types, specifies the base of the representation. For floating types, specifies the base of the exponent representation.

Definition at line 242 of file limits.

◆ round_style

float_round_style std::__numeric_limits_base::round_style
staticconstexpr

See std::float_round_style for more information. This is only meaningful for floating types; integer types will all be round_toward_zero.

Definition at line 306 of file limits.

◆ tinyness_before

bool std::__numeric_limits_base::tinyness_before
staticconstexpr

True if tininess is detected before rounding. (see IEC 559)

Definition at line 301 of file limits.

◆ traps

bool std::__numeric_limits_base::traps
staticconstexpr

True if trapping is implemented for this type.

Definition at line 298 of file limits.


The documentation for this struct was generated from the following file: