35#ifndef _BLAZE_MATH_TRAITS_CROSSTRAIT_H_
36#define _BLAZE_MATH_TRAITS_CROSSTRAIT_H_
56template<
typename,
typename,
typename =
void >
struct CrossTrait;
57template<
typename,
typename,
typename =
void >
struct CrossTraitEval1;
58template<
typename,
typename,
typename =
void >
struct CrossTraitEval2;
65template<
typename T1,
typename T2 >
66auto evalCrossTrait(
const volatile T1&,
const volatile T2& ) -> CrossTraitEval1<T1,T2>;
119 :
public decltype( evalCrossTrait( std::declval<T1&>(), std::declval<T2&>() ) )
137template<
typename T1,
typename T2 >
150struct CrossTraitEval1
151 :
public CrossTraitEval2<T1,T2>
165struct CrossTraitEval2
typename CrossTrait< T1, T2 >::Type CrossTrait_t
Auxiliary alias declaration for the CrossTrait class template.
Definition: CrossTrait.h:138
Base template for the CrossTrait class.
Definition: CrossTrait.h:120