35 #ifndef _BLAZE_MATH_TRAITS_ROWTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_ROWTRAIT_H_ 59 template<
typename,
size_t... >
struct RowTrait;
60 template<
typename,
size_t,
typename =
void >
struct RowTraitEval1;
61 template<
typename,
size_t,
typename =
void >
struct RowTraitEval2;
68 template<
size_t I,
typename T >
69 auto evalRowTrait( T& )
70 ->
typename RowTraitEval1<T,I>::Type;
72 template<
typename T >
73 auto evalRowTrait( T& )
74 ->
typename RowTraitEval2<T,inf>::Type;
76 template<
size_t I,
typename T >
77 auto evalRowTrait(
const T& )
78 ->
typename RowTrait<T,I>::Type;
80 template<
typename T >
81 auto evalRowTrait(
const T& )
82 ->
typename RowTrait<T>::Type;
84 template<
size_t I,
typename T >
85 auto evalRowTrait(
const volatile T& )
86 ->
typename RowTrait<T,I>::Type;
88 template<
typename T >
89 auto evalRowTrait(
const volatile T& )
90 ->
typename RowTrait<T>::Type;
141 template<
typename MT
148 using Type = decltype( evalRowTrait<CRAs...>( std::declval<MT&>() ) );
168 template<
typename MT
179 template<
typename MT
186 using Type =
typename RowTraitEval2<MT,I>::Type;
198 template<
typename MT
205 using Type = INVALID_TYPE;
Header file for basic type definitions.
Base template for the RowTrait class.
Definition: RowTrait.h:143
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Numerical infinity for built-in data types.
Utility type for generic codes.
typename RowTrait< MT, CRAs... >::Type RowTrait_t
Auxiliary alias declaration for the RowTrait type trait.The RowTrait_t alias declaration provides a c...
Definition: RowTrait.h:170