22 #ifndef _BLAZE_MATH_EXPRESSIONS_SMATTRANSEXPR_H_
23 #define _BLAZE_MATH_EXPRESSIONS_SMATTRANSEXPR_H_
72 class SMatTransExpr :
public SparseMatrix< SMatTransExpr<MT,SO>, SO >
73 ,
private MatTransExpr
74 ,
private SelectType< IsComputation<MT>::value, Computation, EmptyType >::Type
78 typedef typename MT::ResultType
RT;
79 typedef typename MT::CompositeType
CT;
96 template<
typename MT2 >
98 enum { value = useAssign };
130 typedef typename std::iterator_traits<IteratorType>::value_type
ValueType;
131 typedef typename std::iterator_traits<IteratorType>::pointer
PointerType;
132 typedef typename std::iterator_traits<IteratorType>::reference
ReferenceType;
133 typedef typename std::iterator_traits<IteratorType>::difference_type
DifferenceType;
294 return sm_.columns();
314 return sm_.nonZeros();
334 template<
typename T >
336 return sm_.canAlias( alias );
346 template<
typename T >
348 return sm_.isAliased( alias );
371 template<
typename MT2
401 template<
typename MT2
431 template<
typename MT2
433 friend inline typename EnableIf< UseAssign<MT2> >::Type
441 DMatTransposer<MT2,!SO2> tmp( ~lhs );
465 template<
typename MT2
467 friend inline typename EnableIf< UseAssign<MT2> >::Type
475 DMatTransposer<MT2,!SO2> tmp( ~lhs );
509 template<
typename MT2
511 friend inline Operand trans(
const SMatTransExpr<MT2,SO2>& sm )
553 template<
typename MT
574 template<
typename MT,
bool SO >
575 struct RowExprTrait< SMatTransExpr<MT,SO> >
579 typedef typename TransExprTrait< typename ColumnExprTrait<const MT>::Type >::Type Type;
588 template<
typename MT,
bool SO >
589 struct ColumnExprTrait< SMatTransExpr<MT,SO> >
593 typedef typename TransExprTrait< typename RowExprTrait<const MT>::Type >::Type Type;