35 #ifndef _BLAZE_MATH_TRAITS_COLUMNTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_COLUMNTRAIT_H_ 59 template<
typename,
size_t... >
struct ColumnTrait;
60 template<
typename,
size_t,
typename =
void >
struct ColumnTraitEval1;
61 template<
typename,
size_t,
typename =
void >
struct ColumnTraitEval2;
68 template<
size_t I,
typename T >
69 auto evalColumnTrait( T& )
70 ->
typename ColumnTraitEval1<T,I>::Type;
72 template<
typename T >
73 auto evalColumnTrait( T& )
74 ->
typename ColumnTraitEval2<T,inf>::Type;
76 template<
size_t I,
typename T >
77 auto evalColumnTrait(
const T& )
78 ->
typename ColumnTrait<T,I>::Type;
80 template<
typename T >
81 auto evalColumnTrait(
const T& )
82 ->
typename ColumnTrait<T>::Type;
84 template<
size_t I,
typename T >
85 auto evalColumnTrait(
const volatile T& )
86 ->
typename ColumnTrait<T,I>::Type;
88 template<
typename T >
89 auto evalColumnTrait(
const volatile T& )
90 ->
typename ColumnTrait<T>::Type;
141 template<
typename MT
148 using Type = decltype( evalColumnTrait<CCAs...>( std::declval<MT&>() ) );
168 template<
typename MT
179 template<
typename MT
182 struct ColumnTraitEval1
184 using Type =
typename ColumnTraitEval2<MT,I>::Type;
195 template<
typename MT
198 struct ColumnTraitEval2
200 using Type = INVALID_TYPE;
Header file for basic type definitions.
Base template for the ColumnTrait class.
Definition: ColumnTrait.h:143
typename ColumnTrait< MT, CCAs... >::Type ColumnTrait_t
Auxiliary alias declaration for the ColumnTrait type trait.The ColumnTrait_t alias declaration provid...
Definition: ColumnTrait.h:170
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Numerical infinity for built-in data types.
Utility type for generic codes.