# std::numeric_limits< Type > Struct Template Reference

Properties of fundamental types. More...

Inheritance diagram for std::numeric_limits< Type >:

[legend]
Collaboration diagram for std::numeric_limits< Type >:

[legend]
List of all members.

## Static Public Member Functions

Type | min () throw ()
Type | max () throw ()
Type | epsilon () throw ()
Type | round_error () throw ()
Type | infinity () throw ()
Type | quietNaN () throw ()
Type | signalingNaN () throw ()
Type | denorm_min () throw ()

## Static Public Attributes

const bool | is_specialized
const int | digits
const int | digits10
const bool | is_signed
const bool | is_integer
const bool | is_exact
const int | radix
const int | min_exponent
const int | min_exponent10
const int | max_exponent
const int | max_exponent10
const bool | has_infinity
const bool | has_quietNaN
const bool | has_signalingNaN
const float_denorm_style | has_denorm
const bool | has_denorm_loss
const bool | is_iec559
const bool | is_bounded
const bool | is_modulo
const bool | traps
const bool | tinyness_before
const float_round_style | round_style

## Detailed Description

### template<typename Type>
struct std::numeric_limits< Type >

Properties of fundamental types.

This class allows a program to obtain information about the representation of a fundamental type on a given platform. For non-fundamental types, the functions will return 0 and the data members will all be `false`.

Definition at line 286 of file limits.

## Member Function Documentation

template<typename Type>
Type std::numeric_limits< Type >::denorm_min | ( |  | ) | throw ()`[inline, static]`

| The minimum positive denormalized value. For types where `has_denorm` is false, this is the minimum positive normalized value. Definition at line 308 of file limits.

template<typename Type>
Type std::numeric_limits< Type >::epsilon | ( |  | ) | throw ()`[inline, static]`

| The machine epsilon: the difference between 1 and the least value greater than 1 that is representable. Definition at line 295 of file limits.

template<typename Type>
Type std::numeric_limits< Type >::infinity | ( |  | ) | throw ()`[inline, static]`

| The representation of positive infinity, if `has_infinity`. Definition at line 299 of file limits.

template<typename Type>
Type std::numeric_limits< Type >::max | ( |  | ) | throw ()`[inline, static]`

| The maximum finite value. Definition at line 292 of file limits.

template<typename Type>
Type std::numeric_limits< Type >::min | ( |  | ) | throw ()`[inline, static]`

| The minimum finite value, or for floating types with denormalization, the minimum positive normalized value. Definition at line 290 of file limits.

template<typename Type>
Type std::numeric_limits< Type >::quietNaN | ( |  | ) | throw ()`[inline, static]`

| The representation of a quiet "Not a Number," if `has_quietNaN`. Definition at line 301 of file limits.

template<typename Type>
Type std::numeric_limits< Type >::round_error | ( |  | ) | throw ()`[inline, static]`

| The maximum rounding error measurement (see LIA-1). Definition at line 297 of file limits.

template<typename Type>
Type std::numeric_limits< Type >::signalingNaN | ( |  | ) | throw ()`[inline, static]`

| The representation of a signaling "Not a Number," if `has_signalingNaN`. Definition at line 304 of file limits.

## Member Data Documentation

const int std::numeric_limits_base::digits`[static, inherited]`

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

const int std::numeric_limits_base::digits10`[static, inherited]`

| The number of base 10 digits that can be represented without change. Definition at line 43 of file limits.cc.

const float_denorm_style std::numeric_limits_base::has_denorm`[static, inherited]`

| See std::float_denorm_style for more information. Definition at line 55 of file limits.cc.

const bool std::numeric_limits_base::has_denorm_loss`[static, inherited]`

| "True if loss of accuracy is detected as a denormalization loss, rather than as an inexact result." [18.2.1.2]/42 Definition at line 56 of file limits.cc.

const bool std::numeric_limits_base::has_infinity`[static, inherited]`

| True if the type has a representation for positive infinity. Definition at line 52 of file limits.cc.

const bool std::numeric_limits_base::has_quietNaN`[static, inherited]`

| True if the type has a representation for a quiet (non-signaling) "Not a Number." Definition at line 53 of file limits.cc.

const bool std::numeric_limits_base::has_signalingNaN`[static, inherited]`

| True if the type has a representation for a signaling "Not a Number." Definition at line 54 of file limits.cc.

const bool std::numeric_limits_base::is_bounded`[static, inherited]`

| "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." [18.2.1.2]/54 Definition at line 58 of file limits.cc.

const bool std::numeric_limits_base::is_exact`[static, inherited]`

| 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." [18.2.1.2]/15 Definition at line 46 of file limits.cc.

const bool std::numeric_limits_base::is_iec559`[static, inherited]`

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

const bool std::numeric_limits_base::is_integer`[static, inherited]`

| True if the type is integer. Definition at line 45 of file limits.cc.

const bool std::numeric_limits_base::is_modulo`[static, inherited]`

| True if the type is modulo, that is, if it is possible to add two positive numbers and have a result that wraps around to a third number that is less. Typically false for floating types, true for unsigned integers, and true for signed integers. Definition at line 59 of file limits.cc.

const bool std::numeric_limits_base::is_signed`[static, inherited]`

| True if the type is signed. Definition at line 44 of file limits.cc.

const bool std::numeric_limits_base::is_specialized`[static, inherited]`

| This will be true for all fundamental types (which have specializations), and false for everything else. Definition at line 41 of file limits.cc.

const int std::numeric_limits_base::max_exponent`[static, inherited]`

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

const int std::numeric_limits_base::max_exponent10`[static, inherited]`

| The maximum positive integer such that 10 raised to that power is in the range of representable finite floating point numbers. Definition at line 51 of file limits.cc.

const int std::numeric_limits_base::min_exponent`[static, inherited]`

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

const int std::numeric_limits_base::min_exponent10`[static, inherited]`

| The minimum negative integer such that 10 raised to that power is in the range of normalized floating point numbers. Definition at line 49 of file limits.cc.

const int std::numeric_limits_base::radix`[static, inherited]`

| For integer types, specifies the base of the representation. For floating types, specifies the base of the exponent representation. Definition at line 47 of file limits.cc.

const float_round_style std::numeric_limits_base::round_style`[static, inherited]`

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

const bool std::numeric_limits_base::tinyness_before`[static, inherited]`

| True if tinyness is detected before rounding. (see IEC 559) Definition at line 61 of file limits.cc.

const bool std::numeric_limits_base::traps`[static, inherited]`

| True if trapping is implemented for this type. Definition at line 60 of file limits.cc.

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

- limits