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