22 #ifndef _BLAZE_UTIL_TYPETRAITS_ISNUMERIC_H_
23 #define _BLAZE_UTIL_TYPETRAITS_ISNUMERIC_H_
52 template<
typename T >
53 struct IsNumericHelper
56 enum { value = ( IsBuiltin<T>::value && !IsBoolean<T>::value && !IsVoid<T>::value ) };
57 typedef typename SelectType<value,TrueType,FalseType>::Type Type;
84 template<
typename T >
90 enum { value = IsNumericHelper<T>::value };
91 typedef typename IsNumericHelper<T>::Type Type;
101 template<
typename T >
107 typedef typename IsNumeric<T>::Type Type;
117 template<
typename T >
118 struct IsNumeric< const complex<T> > :
public IsNumeric<T>::Type
122 enum { value = IsNumeric<T>::value };
123 typedef typename IsNumeric<T>::Type Type;
133 template<
typename T >
134 struct IsNumeric< volatile complex<T> > :
public IsNumeric<T>::Type
138 enum { value = IsNumeric<T>::value };
139 typedef typename IsNumeric<T>::Type Type;
149 template<
typename T >
150 struct IsNumeric< const volatile complex<T> > :
public IsNumeric<T>::Type
154 enum { value = IsNumeric<T>::value };
155 typedef typename IsNumeric<T>::Type Type;