mi::base::numeric_traits_base< T> Template Struct Reference
template< typename T>mi::base::numeric_traits_base< T>
Description
Base class for the helper class to deduce properties of numeric types defined in this API. This class provides the common default implementations of all member of numeric_traits , for its default template as well as all specialization. Thus, specializations just have to redefine what changes.
The default uses default constructed values. It therefore requires that a value of T can be default constructed.
Static Public Member Functions
- static T infinity() throw( )
- Returns an infinity value for T, if one exists, and T() otherwise.
- static T() max() throw( )
- Returns the maximum finite value for T. More...
- static T() min() throw( )
- Returns the minimum finite value for T (and for floating point types the minimum positive value). More...
- static T negative_max() throw( )
- Returns the smallest finite negative value for T. More...
- static T quiet_NaN() throw( )
- Returns a quiet NaN value for T, if one exists, and T() otherwise.
- static T signaling_NaN() throw( )
- Returns a signaling NaN value for T, if one exists, and T() otherwise.
Static Public Variables
- 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...
- static const bool is_specialized = false
- Constant that is true if and only if this traits is specialized for T.
Member Functions
- static T mi::base::numeric_traits_base< T>::infinity() throw( ) [inline, static]
-
Returns an infinity value for T, if one exists, and T() otherwise.
- static T() mi::base::numeric_traits_base< T>::max() throw( ) [inline, static]
-
Returns the maximum finite value for T. The value is equivalent to standard C constants CHAR_MAX, SHRT_MAX, FLT_MAX, DBL_MAX, etc.
Returns
the maximum finite value for T .
- static T() mi::base::numeric_traits_base< T>::min() throw( ) [inline, static]
-
Returns the minimum finite value for T (and for floating point types the minimum positive value). The value is equivalent to standard C constants CHAR_MIN, SHRT_MIN, FLT_MIN, DBL_MIN, etc.
Returns
the minimum finite value for T .
- static T mi::base::numeric_traits_base< T>::negative_max() throw( ) [inline, static]
-
Returns the smallest finite negative value for T. For signed integer types this value is typically (-max()-1). For unsigned integer types it is 0. For floating point types it is typically (-max()).
Returns
the smallest finite negative value for T .
- static T mi::base::numeric_traits_base< T>::quiet_NaN() throw( ) [inline, static]
-
Returns a quiet NaN value for T, if one exists, and T() otherwise.
- static T mi::base::numeric_traits_base< T>::signaling_NaN() throw( ) [inline, static]
-
Returns a signaling NaN value for T, if one exists, and T() otherwise.
Variables
- const bool mi::base::numeric_traits_base< T>::has_infinity = false [static]
-
Constant that is true if and only if T has an infinity representation. You can get the infinity representation through the infinity() method.
- const bool mi::base::numeric_traits_base< T>::has_quiet_NaN = false [static]
-
Constant that is true if and only if T has a quiet NaN (not-a-number) representation. You can get the quiet NaN representation through the quiet_NaN() method.
- const bool mi::base::numeric_traits_base< T>::has_signaling_NaN = false [static]
-
Constant that is true if and only if T has a signaling NaN (not-a-number) representation. You can get the signaling NaN representation through the signaling_NaN() method.
- const bool mi::base::numeric_traits_base< T>::is_specialized = false [static]
-
Constant that is true if and only if this traits is specialized for T.