35 #ifndef _BLAZE_MATH_TRAITS_KRONTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_KRONTRAIT_H_ 59 template<
typename,
typename,
typename =
void >
struct KronTrait;
60 template<
typename,
typename,
typename =
void >
struct KronTraitEval1;
61 template<
typename,
typename,
typename =
void >
struct KronTraitEval2;
68 template<
typename T1,
typename T2 >
69 auto evalKronTrait( T1&, T2& )
70 ->
typename KronTraitEval1<T1,T2>::Type;
72 template<
typename T1,
typename T2 >
73 auto evalKronTrait(
const T1&,
const T2& )
74 ->
typename KronTrait<T1,T2>::Type;
76 template<
typename T1,
typename T2 >
77 auto evalKronTrait(
const volatile T1&,
const T2& )
78 ->
typename KronTrait<T1,T2>::Type;
80 template<
typename T1,
typename T2 >
81 auto evalKronTrait(
const T1&,
const volatile T2& )
82 ->
typename KronTrait<T1,T2>::Type;
84 template<
typename T1,
typename T2 >
85 auto evalKronTrait(
const volatile T1&,
const volatile T2& )
86 ->
typename KronTrait<T1,T2>::Type;
134 template<
typename T1
142 using Type = decltype( evalKronTrait( std::declval<T1&>(), std::declval<T2&>() ) );
162 template<
typename T1,
typename T2 >
172 template<
typename T1
175 struct KronTraitEval1
179 using Type =
typename KronTraitEval2<T1,T2>::Type;
191 template<
typename T1
194 struct KronTraitEval2
198 using Type = INVALID_TYPE;
Base template for the KronTrait class.
Definition: KronTrait.h:137
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for the If class template.
typename KronTrait< T1, T2 >::Type KronTrait_t
Auxiliary alias declaration for the KronTrait class template.The KronTrait_t alias declaration provid...
Definition: KronTrait.h:163
Header file for the EnableIf class template.
Utility type for generic codes.