22 #ifndef _BLAZE_MATH_EXPRESSIONS_SMATTRANSEXPR_H_
23 #define _BLAZE_MATH_EXPRESSIONS_SMATTRANSEXPR_H_
31 #include <boost/type_traits/remove_reference.hpp>
70 ,
private SelectType< IsComputation<MT>::value, Computation, EmptyType >::Type
74 typedef typename MT::ResultType
RT;
75 typedef typename MT::CompositeType
CT;
92 template<
typename MT2 >
94 enum { value = useAssign };
117 enum { canAlias = 1 };
128 typedef typename boost::remove_reference<Operand>::type::ConstIterator
IteratorType;
131 typedef typename std::iterator_traits<IteratorType>::value_type
ValueType;
132 typedef typename std::iterator_traits<IteratorType>::pointer
PointerType;
133 typedef typename std::iterator_traits<IteratorType>::reference
ReferenceType;
134 typedef typename std::iterator_traits<IteratorType>::difference_type
DifferenceType;
295 return sm_.columns();
315 return sm_.nonZeros();
335 template<
typename T >
337 return sm_.isAliased( alias );
360 template<
typename MT2
388 template<
typename MT2
416 template<
typename MT2
418 friend inline typename EnableIf< UseAssign<MT2> >::Type
424 DMatTransposer<MT2,!SO2> tmp( ~lhs );
448 template<
typename MT2
450 friend inline typename EnableIf< UseAssign<MT2> >::Type
456 DMatTransposer<MT2,!SO2> tmp( ~lhs );
490 template<
typename MT2
532 template<
typename MT