std::valarray::operator+=,-=,*=,/=,%=,&=,|=,<<=,>>=

From cppreference.com
< cpplrm; | numericlrm; | valarray
valarray<T> operator+=( const valarray<T>& v );

valarray<T> operator-=( const valarray<T>& v );
valarray<T> operator*=( const valarray<T>& v );
valarray<T> operator/=( const valarray<T>& v );
valarray<T> operator%=( const valarray<T>& v );
valarray<T> operator&=( const valarray<T>& v );
valarray<T> operator|=( const valarray<T>& v );
valarray<T> operator^=( const valarray<T>& v );
valarray<T> operator<<=( const valarray<T>& v );

valarray<T> operator>>=( const valarray<T>& v );
(1)
valarray<T> operator+=( const T& val );

valarray<T> operator-=( const T& val );
valarray<T> operator*=( const T& val );
valarray<T> operator/=( const T& val );
valarray<T> operator%=( const T& val );
valarray<T> operator&=( const T& val );
valarray<T> operator|=( const T& val );
valarray<T> operator^=( const T& val );
valarray<T> operator<<=( const T& val );

valarray<T> operator>>=( const T& val );
(2)

Applies compound assignment operators to each element in the numeric array.

1) Each element is assigned value obtained by applying the corresponding operator to the previous value of the element and corresponding element from v.

The behavior is undefined if size() != v.size()

The behavior is undefined if any of the values in v is computed during the assignment and depends on any of the values in *this, that is, the expression on the right side of the assignment refers to a variable in the left side of the assignment.

2) Each element is assigned value obtained by applying the corresponding operator to the previous value of the element and the value of val.

Parameters

v - another numeric array
val - a value

Return value

*this

Exceptions

(none)

Notes

Each of the operators can only be instantiated if the following requirements are met:

  • The indicated operator can be applied to type T
  • The result value can be unambiguously converted to T (1-3) or bool (4).

The function can be implemented with the return type different from std::valarray. In this case, the replacement type has the following properties: