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:

- limits