35 #ifndef _BLAZE_MATH_TRAITS_DECLDIAGTRAIT_H_ 36 #define _BLAZE_MATH_TRAITS_DECLDIAGTRAIT_H_ 60 template<
typename >
struct DeclDiagTrait;
61 template<
typename,
typename =
void >
struct DeclDiagTraitEval;
68 template<
typename T >
69 auto evalDeclDiagTrait( T& )
70 ->
typename DeclDiagTraitEval<T>::Type;
72 template<
typename T >
73 auto evalDeclDiagTrait(
const T& )
74 ->
typename DeclDiagTrait<T>::Type;
76 template<
typename T >
77 auto evalDeclDiagTrait(
const volatile T& )
78 ->
typename DeclDiagTrait<T>::Type;
133 template<
typename MT >
139 using Type = decltype( evalDeclDiagTrait( std::declval<MT&>() ) );
159 template<
typename MT >
169 template<
typename MT
171 struct DeclDiagTraitEval
173 using Type = INVALID_TYPE;
184 template<
typename MT >
185 struct DeclDiagTraitEval< MT
189 Size_v<MT,0UL> == Size_v<MT,1UL> ) > >
191 using Type = DiagonalMatrix<typename MT::ResultType>;
constexpr bool IsMatrix_v
Auxiliary variable template for the IsMatrix type trait.The IsMatrix_v variable template provides a c...
Definition: IsMatrix.h:139
Header file for the IsMatrix type trait.
typename EnableIf< Condition, T >::Type EnableIf_t
Auxiliary type for the EnableIf class template.The EnableIf_t alias declaration provides a convenient...
Definition: EnableIf.h:138
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Utility type for generic codes.
constexpr ptrdiff_t DefaultSize_v
Default size of the Size type trait.
Definition: Size.h:72
Header file for the implementation of the base template of the DiagonalMatrix.
Base template for the DeclDiagTrait class.
Definition: DeclDiagTrait.h:134
typename DeclDiagTrait< MT >::Type DeclDiagTrait_t
Auxiliary alias declaration for the DeclDiagTrait type trait.The DeclDiagTrait_t alias declaration pr...
Definition: DeclDiagTrait.h:160
Header file for the Size type trait.