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.