operator<

template<class T>
    valarray<bool> operator<(const valarray<T>& x,
        const valarray<T>& y);
template<class T>
    valarray<bool> operator<(const valarray<T> x, const T& y);
template<class T>
    valarray<bool> operator<(const T& x, const valarray<T>& y);

The first template operator returns an object of class valarray<bool>, 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].