22 #ifndef _BLAZE_MATH_EXPRESSIONS_SVECABSEXPR_H_
23 #define _BLAZE_MATH_EXPRESSIONS_SVECABSEXPR_H_
32 #include <boost/type_traits/remove_reference.hpp>
76 typedef typename VT::ResultType
RT;
77 typedef typename VT::ReturnType
RN;
78 typedef typename VT::CompositeType
CT;
79 typedef typename VT::TransposeType
TT;
80 typedef typename VT::ElementType
ET;
108 template<
typename VT2 >
110 enum { value = useAssign };
148 typedef typename boost::remove_reference<Operand>::type::ConstIterator
IteratorType;
211 return abs(
it_->value() );
324 return sv_.nonZeros();
344 template<
typename T >
370 template<
typename VT2 >
381 for(
size_t i=0UL; i<
size; ++i ) {
382 (~lhs)[i] =
abs( (~lhs)[i] );
402 template<
typename VT2 >
410 typedef typename VT2::Iterator Iterator;
414 const Iterator
end( (~lhs).
end() );
415 for( Iterator element=(~lhs).
begin(); element!=
end; ++element ) {
416 element->value() =
abs( element->value() );
436 template<
typename VT2 >
437 friend inline typename EnableIf< UseAssign<VT2> >::Type
470 template<
typename VT2 >
471 friend inline typename EnableIf< UseAssign<VT2> >::Type
504 template<
typename VT2 >
505 friend inline typename EnableIf< UseAssign<VT2> >::Type
559 template<
typename VT
587 template<
typename VT