NVIDIA Iray API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::base::numeric_traits< T > Struct Template Reference

Helper class to deduce properties of numeric types defined in this API. More...

Inheritance diagram for mi::base::numeric_traits< T >:
Inheritance graph
[legend]

Additional Inherited Members

- Static Public Member Functions inherited from mi::base::numeric_traits_base< T >
static T()  min () throw ()
  Returns the minimum finite value for T; for floating point types, returns the minimum positive value. More...
 
static T()  max () throw ()
  Returns the maximum finite value for T. More...
 
static T  negative_max () throw ()
  Returns the smallest finite negative value for T. More...
 
static T  infinity () throw ()
  Returns an infinity value for T, if one exists, and T() otherwise. More...
 
static T  quiet_NaN () throw ()
  Returns a quiet NaN value for T, if one exists, and T() otherwise. More...
 
static T  signaling_NaN () throw ()
  Returns a signaling NaN value for T, if one exists, and T() otherwise. More...
 
- Static Public Attributes inherited from mi::base::numeric_traits_base< T >
static const bool  is_specialized = false
  Constant that is true if and only if this traits is specialized for T. More...
 
static const bool  has_infinity = false
  Constant that is true if and only if T has an infinity representation. More...
 
static const bool  has_quiet_NaN = false
  Constant that is true if and only if T has a quiet NaN (not-a-number) representation. More...
 
static const bool  has_signaling_NaN = false
  Constant that is true if and only if T has a signaling NaN (not-a-number) representation. More...
 

Detailed Description

template<typename T>
struct mi::base::numeric_traits< T >

Helper class to deduce properties of numeric types defined in this API.

This class can be used in generic code to deduce the limits and special values, such as a signaling NaN, for number types defined in this API, such as mi::Uint32 and mi::Float64.

The default template defines all members, see numeric_trats_base, but with default constructed or false values. It requires that a value of T can be default constructed.

This traits class is similar to std::numeric_limits<T>, and in case of overlap behaves in the same way.