35 #ifndef _BLAZE_MATH_TYPETRAITS_UNDERLYINGNUMERIC_H_ 36 #define _BLAZE_MATH_TYPETRAITS_UNDERLYINGNUMERIC_H_ 58 template<
typename,
typename =
void >
struct UnderlyingNumericHelper1;
59 template<
typename,
typename =
void >
struct UnderlyingNumericHelper2;
90 template<
typename T >
96 using Type =
typename UnderlyingNumericHelper1< RemoveCV_t<T> >::Type;
116 template<
typename T >
126 template<
typename T,
typename >
127 struct UnderlyingNumericHelper1
129 using Type =
typename UnderlyingNumericHelper2<T>::Type;
132 template<
typename T >
133 struct UnderlyingNumericHelper1< complex<T>, void >
135 using Type = complex<T>;
138 template<
typename T >
139 struct UnderlyingNumericHelper1< T,
Void_t< typename T::ElementType > >
141 using Type =
typename UnderlyingNumericHelper1< typename T::ElementType >::Type;
152 template<
typename T,
typename >
153 struct UnderlyingNumericHelper2
158 template<
typename T >
159 struct UnderlyingNumericHelper2< T,
Void_t< typename T::value_type > >
161 using Type =
typename UnderlyingNumericHelper1< typename T::value_type >::Type;
Header file for the Void type trait.
Header file for the RemoveCV type trait.
void Void_t
Compile time type check.This type trait maps an arbitrary sequence of types to the type void....
Definition: Void.h:64
typename UnderlyingNumeric< T >::Type UnderlyingNumeric_t
Auxiliary alias declaration for the UnderlyingNumeric type trait.The UnderlyingNumeric_t alias declar...
Definition: UnderlyingNumeric.h:117
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Evaluation of the underlying numeric element type of a given data type.This type trait evaluates the ...
Definition: UnderlyingNumeric.h:91
Header file for the complex data type.