valarray<T>& operator^=(const valarray<T>& x); valarray<T>& operator^=(const T& x);
The member operator replaces each element I of *this with (*this)[I] ^ x[I]. It returns *this.
I
*this
(*this)[I] ^ x[I]