22 #ifndef _BLAZE_MATH_EXPRESSIONS_DMATTRANSEXPR_H_
23 #define _BLAZE_MATH_EXPRESSIONS_DMATTRANSEXPR_H_
71 ,
private SelectType< IsComputation<MT>::value, Computation, EmptyType >::Type
75 typedef typename MT::ResultType
RT;
76 typedef typename MT::CompositeType
CT;
93 template<
typename MT2 >
95 enum { value = useAssign };
118 enum { vectorizable = 0 };
161 return dm_.columns();
181 return dm_.spacing();
201 template<
typename T >
203 return dm_.canAlias( alias );
213 template<
typename T >
215 return dm_.isAliased( alias );
238 template<
typename MT2
268 template<
typename MT2
287 const TmpType tmp( rhs );
307 template<
typename MT2
309 friend inline typename EnableIf< UseAssign<MT2> >::Type
317 DMatTransposer<MT2,!SO2> tmp( ~lhs );
341 template<
typename MT2
343 friend inline typename EnableIf< UseAssign<MT2> >::Type
351 DMatTransposer<MT2,!SO2> tmp( ~lhs );
385 template<
typename MT2
387 friend inline Operand trans(
const DMatTransExpr<MT2,SO2>& dm )
430 template<
typename MT
453 template<
typename MT
455 inline typename RowExprTrait< DMatTransExpr<MT,SO> >::Type
456 row(
const DMatTransExpr<MT,SO>& dm,
size_t index )
478 template<
typename MT
480 inline typename ColumnExprTrait< DMatTransExpr<MT,SO> >::Type
481 column(
const DMatTransExpr<MT,SO>& dm,
size_t index )
485 return trans(
row( dm.operand(), index ) );
501 template<
typename MT,
bool SO >
502 struct RowExprTrait< DMatTransExpr<MT,SO> >
506 typedef typename TransExprTrait< typename ColumnExprTrait<const MT>::Type >::Type Type;
515 template<
typename MT,
bool SO >
516 struct ColumnExprTrait< DMatTransExpr<MT,SO> >
520 typedef typename TransExprTrait< typename RowExprTrait<const MT>::Type >::Type Type;