libstdc++
std::__numeric_limits_base Struct Reference
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 202 of file limits.

Member Data Documentation

◆ digits

constexpr int std::__numeric_limits_base::digits
static

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 211 of file limits.

◆ digits10

constexpr int std::__numeric_limits_base::digits10
static

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

Definition at line 214 of file limits.

◆ has_denorm

constexpr float_denorm_style std::__numeric_limits_base::has_denorm
static

See std::float_denorm_style for more information.

Definition at line 266 of file limits.

◆ has_denorm_loss

constexpr bool std::__numeric_limits_base::has_denorm_loss
static

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

Definition at line 270 of file limits.

◆ has_infinity

constexpr bool std::__numeric_limits_base::has_infinity
static

True if the type has a representation for positive infinity.

Definition at line 255 of file limits.

◆ has_quiet_NaN

constexpr bool std::__numeric_limits_base::has_quiet_NaN
static

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

Definition at line 259 of file limits.

◆ has_signaling_NaN

constexpr bool std::__numeric_limits_base::has_signaling_NaN
static

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

Definition at line 263 of file limits.

◆ is_bounded

constexpr bool std::__numeric_limits_base::is_bounded
static

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 279 of file limits.

◆ is_exact

constexpr bool std::__numeric_limits_base::is_exact
static

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 231 of file limits.

◆ is_iec559

constexpr bool std::__numeric_limits_base::is_iec559
static

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 274 of file limits.

◆ is_integer

constexpr bool std::__numeric_limits_base::is_integer
static

True if the type is integer.

Definition at line 226 of file limits.

◆ is_modulo

constexpr bool std::__numeric_limits_base::is_modulo
static

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 288 of file limits.

◆ is_signed

constexpr bool std::__numeric_limits_base::is_signed
static

True if the type is signed.

Definition at line 223 of file limits.

◆ is_specialized

constexpr bool std::__numeric_limits_base::is_specialized
static

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

Definition at line 206 of file limits.

◆ max_digits10

constexpr int std::__numeric_limits_base::max_digits10
static

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

Definition at line 219 of file limits.

◆ max_exponent

constexpr int std::__numeric_limits_base::max_exponent
static

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 248 of file limits.

◆ max_exponent10

constexpr int std::__numeric_limits_base::max_exponent10
static

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

Definition at line 252 of file limits.

◆ min_exponent

constexpr int std::__numeric_limits_base::min_exponent
static

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 239 of file limits.

◆ min_exponent10

constexpr int std::__numeric_limits_base::min_exponent10
static

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

Definition at line 243 of file limits.

◆ radix

constexpr int std::__numeric_limits_base::radix
static

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

Definition at line 235 of file limits.

◆ round_style

constexpr float_round_style std::__numeric_limits_base::round_style
static

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 299 of file limits.

◆ tinyness_before

constexpr bool std::__numeric_limits_base::tinyness_before
static

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

Definition at line 294 of file limits.

◆ traps

constexpr bool std::__numeric_limits_base::traps
static

True if trapping is implemented for this type.

Definition at line 291 of file limits.


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