22 #ifndef _BLAZE_MATH_EXPRESSIONS_SVECTRANSEXPR_H_
23 #define _BLAZE_MATH_EXPRESSIONS_SVECTRANSEXPR_H_
31 #include <boost/type_traits/remove_reference.hpp>
66 class SVecTransExpr :
public SparseVector< SVecTransExpr<VT,TF>, TF >
68 ,
private SelectType< IsComputation<VT>::value, Computation, EmptyType >::Type
72 typedef typename VT::CompositeType
CT;
89 template<
typename VT2 >
91 enum { value = useAssign };
119 typedef typename boost::remove_reference<Operand>::type::ConstIterator
IteratorType;
122 typedef typename std::iterator_traits<IteratorType>::value_type
ValueType;
123 typedef typename std::iterator_traits<IteratorType>::pointer
PointerType;
124 typedef typename std::iterator_traits<IteratorType>::reference
ReferenceType;
125 typedef typename std::iterator_traits<IteratorType>::difference_type
DifferenceType;
292 return sv_.nonZeros();
312 template<
typename T >
314 return sv_.canAlias( alias );
324 template<
typename T >
326 return sv_.isAliased( alias );
349 template<
typename VT2 >
377 template<
typename VT2 >
405 template<
typename VT2 >
406 friend inline typename EnableIf< UseAssign<VT2> >::Type
413 DVecTransposer<VT2,!TF> tmp( ~lhs );
437 template<
typename VT2 >
438 friend inline typename EnableIf< UseAssign<VT2> >::Type
445 DVecTransposer<VT2,!TF> tmp( ~lhs );
469 template<
typename VT2 >
470 friend inline typename EnableIf< UseAssign<VT2> >::Type
477 DVecTransposer<VT2,!TF> tmp( ~lhs );
505 template<
typename VT2
507 friend inline Operand trans(
const SVecTransExpr<VT2,TF2>& sv )
552 template<
typename VT