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