ReactOS 0.4.16-dev-1056-gbe87e00
__crt_strtox::floating_point_value Class Reference

#include <corecrt_internal_strtox.h>

Collaboration diagram for __crt_strtox::floating_point_value:

Public Types

template<typename T >
using traits = __acrt_floating_type_traits< T >
 

Public Member Functions

 floating_point_value (double *const value) throw ()
 
 floating_point_value (float *const value) throw ()
 
bool is_double () const throw ()
 
doubleas_double () const throw ()
 
floatas_float () const throw ()
 
int32_t mantissa_bits () const throw ()
 
int32_t exponent_bits () const throw ()
 
int32_t maximum_binary_exponent () const throw ()
 
int32_t minimum_binary_exponent () const throw ()
 
int32_t exponent_bias () const throw ()
 
uint64_t exponent_mask () const throw ()
 
uint64_t normal_mantissa_mask () const throw ()
 
uint64_t denormal_mantissa_mask () const throw ()
 
uint64_t special_nan_mantissa_mask () const throw ()
 

Private Attributes

void_value
 
bool _is_double
 

Detailed Description

Definition at line 449 of file corecrt_internal_strtox.h.

Member Typedef Documentation

◆ traits

Constructor & Destructor Documentation

◆ floating_point_value() [1/2]

__crt_strtox::floating_point_value::floating_point_value ( double *const  value)
throw (
)
inlineexplicit

Definition at line 456 of file corecrt_internal_strtox.h.

457 : _value(value), _is_double(true)
458 {
459 _ASSERTE(value != nullptr);
460 }
#define _ASSERTE(expr)
Definition: crtdbg.h:114
Definition: pdh_main.c:96

◆ floating_point_value() [2/2]

__crt_strtox::floating_point_value::floating_point_value ( float *const  value)
throw (
)
inlineexplicit

Definition at line 462 of file corecrt_internal_strtox.h.

463 : _value(value), _is_double(false)
464 {
465 _ASSERTE(value != nullptr);
466 }

Member Function Documentation

◆ as_double()

double & __crt_strtox::floating_point_value::as_double ( ) const
throw (
)
inline

Definition at line 473 of file corecrt_internal_strtox.h.

474 {
476 return *static_cast<double*>(_value);
477 }
#define _ASSERT_AND_INVOKE_WATSON(expr)
Definition: crtdbg.h:774

◆ as_float()

float & __crt_strtox::floating_point_value::as_float ( ) const
throw (
)
inline

Definition at line 479 of file corecrt_internal_strtox.h.

480 {
482 return *static_cast<float*>(_value);
483 }

◆ denormal_mantissa_mask()

uint64_t __crt_strtox::floating_point_value::denormal_mantissa_mask ( ) const
throw (
)
inline

Definition at line 493 of file corecrt_internal_strtox.h.

493{ return _is_double ? traits<double>::denormal_mantissa_mask : traits<float>::denormal_mantissa_mask; }

◆ exponent_bias()

int32_t __crt_strtox::floating_point_value::exponent_bias ( ) const
throw (
)
inline

Definition at line 489 of file corecrt_internal_strtox.h.

489{ return _is_double ? traits<double>::exponent_bias : traits<float>::exponent_bias; }

◆ exponent_bits()

int32_t __crt_strtox::floating_point_value::exponent_bits ( ) const
throw (
)
inline

Definition at line 486 of file corecrt_internal_strtox.h.

486{ return _is_double ? traits<double>::exponent_bits : traits<float>::exponent_bits; }

◆ exponent_mask()

uint64_t __crt_strtox::floating_point_value::exponent_mask ( ) const
throw (
)
inline

Definition at line 491 of file corecrt_internal_strtox.h.

491{ return _is_double ? traits<double>::exponent_mask : traits<float>::exponent_mask; }

◆ is_double()

bool __crt_strtox::floating_point_value::is_double ( ) const
throw (
)
inline

Definition at line 468 of file corecrt_internal_strtox.h.

469 {
470 return _is_double;
471 }

◆ mantissa_bits()

int32_t __crt_strtox::floating_point_value::mantissa_bits ( ) const
throw (
)
inline

Definition at line 485 of file corecrt_internal_strtox.h.

485{ return _is_double ? traits<double>::mantissa_bits : traits<float>::mantissa_bits; }

◆ maximum_binary_exponent()

int32_t __crt_strtox::floating_point_value::maximum_binary_exponent ( ) const
throw (
)
inline

Definition at line 487 of file corecrt_internal_strtox.h.

487{ return _is_double ? traits<double>::maximum_binary_exponent : traits<float>::maximum_binary_exponent; }

◆ minimum_binary_exponent()

int32_t __crt_strtox::floating_point_value::minimum_binary_exponent ( ) const
throw (
)
inline

Definition at line 488 of file corecrt_internal_strtox.h.

488{ return _is_double ? traits<double>::minimum_binary_exponent : traits<float>::minimum_binary_exponent; }

◆ normal_mantissa_mask()

uint64_t __crt_strtox::floating_point_value::normal_mantissa_mask ( ) const
throw (
)
inline

Definition at line 492 of file corecrt_internal_strtox.h.

492{ return _is_double ? traits<double>::normal_mantissa_mask : traits<float>::normal_mantissa_mask; }

◆ special_nan_mantissa_mask()

uint64_t __crt_strtox::floating_point_value::special_nan_mantissa_mask ( ) const
throw (
)
inline

Definition at line 494 of file corecrt_internal_strtox.h.

494{ return _is_double ? traits<double>::special_nan_mantissa_mask : traits<float>::special_nan_mantissa_mask; }

Member Data Documentation

◆ _is_double

◆ _value

void* __crt_strtox::floating_point_value::_value
private

Definition at line 498 of file corecrt_internal_strtox.h.

Referenced by as_double(), and as_float().


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