operator<<

template<class T>
    valarray<T> operator<<(const valarray<T>& lhs,
        const valarray<T>& rhs);
template<class T>
    valarray<T> operator<<(const valarray<T> lhs, const T& rhs);
template<class T>
    valarray<T> operator<<(const T& lhs, const valarray<T>& rhs);

The first template operator returns an object of class valarray<T>, each of whose elements I is x[I] << y[I]. The second template operator stores in element I x[I] << y. The third template operator stores in element I x << y[I].