MDL SDK API nvidia_logo_transpbg.gif Up
mi::base::numeric_traits_base<T> Struct Template Reference

Base class for the helper class to deduce properties of numeric types defined in this API. More...

#include <types.h>

Inheritance diagram for mi::base::numeric_traits_base<T>:

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...
 

Detailed Description

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

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.