35 #ifndef _BLAZE_MATH_TRAITS_COLUMNSTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_COLUMNSTRAIT_H_ 58 template<
typename,
size_t >
struct ColumnsTrait;
59 template<
typename,
size_t,
typename =
void >
struct ColumnsTraitEval1;
60 template<
typename,
size_t,
typename =
void >
struct ColumnsTraitEval2;
67 template<
size_t N,
typename T >
68 auto evalColumnsTrait( T& )
69 ->
typename ColumnsTraitEval1<T,N>::Type;
71 template<
size_t N,
typename T >
72 auto evalColumnsTrait(
const T& )
73 ->
typename ColumnsTrait<T,N>::Type;
75 template<
size_t N,
typename T >
76 auto evalColumnsTrait(
const volatile T& )
77 ->
typename ColumnsTrait<T,N>::Type;
128 template<
typename MT
135 using Type = decltype( evalColumnsTrait<N>( std::declval<MT&>() ) );
155 template<
typename MT
166 template<
typename MT
169 struct ColumnsTraitEval1
173 using Type =
typename ColumnsTraitEval2<MT,N>::Type;
185 template<
typename MT
188 struct ColumnsTraitEval2
192 using Type = INVALID_TYPE;
Header file for basic type definitions.
typename ColumnsTrait< MT, N >::Type ColumnsTrait_t
Auxiliary alias declaration for the ColumnsTrait type trait.The ColumnsTrait_t alias declaration prov...
Definition: ColumnsTrait.h:157
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Utility type for generic codes.
Base template for the ColumnsTrait class.
Definition: ColumnsTrait.h:130