35#ifndef _BLAZE_MATH_TRAITS_DECLDIAGTRAIT_H_
36#define _BLAZE_MATH_TRAITS_DECLDIAGTRAIT_H_
61template<
typename >
struct DeclDiagTrait;
62template<
typename,
typename =
void >
struct DeclDiagTraitEval;
70auto evalDeclDiagTrait(
const volatile T& ) -> DeclDiagTraitEval<T>;
124template<
typename MT >
126 :
public decltype( evalDeclDiagTrait( std::declval<MT&>() ) )
144template<
typename MT >
156struct DeclDiagTraitEval
167template<
typename MT >
168struct DeclDiagTraitEval< MT
172 Size_v<MT,0UL> == Size_v<MT,1UL> ) > >
174 using Type = DiagonalMatrix<typename MT::ResultType>;
Header file for the EnableIf class template.
Utility type for generic codes.
Header file for the IsMatrix type trait.
Header file for the implementation of the base template of the DiagonalMatrix.
typename DeclDiagTrait< MT >::Type DeclDiagTrait_t
Auxiliary alias declaration for the DeclDiagTrait type trait.
Definition: DeclDiagTrait.h:145
constexpr ptrdiff_t DefaultSize_v
Default size of the Size type trait.
Definition: Size.h:72
constexpr bool IsMatrix_v
Auxiliary variable template for the IsMatrix type trait.
Definition: IsMatrix.h:124
typename EnableIf< Condition, T >::Type EnableIf_t
Auxiliary type for the EnableIf class template.
Definition: EnableIf.h:138
Header file for the Size type trait.
Base template for the DeclDiagTrait class.
Definition: DeclDiagTrait.h:127