Helper class to deduce properties of numeric types defined in this API. More...
#include <types.h>
Static Public Member Functions | |
static T() | min () throw () |
Returns the minimum finite value for T (and for floating point types 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 | |
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... | |
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 mi::base::numeric_traits_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.