template<class InIt, class OutIt, class Unop>
OutIt transform(InIt first, InIt last, OutIt x, Unop uop);
template<class InIt1, class InIt2, class OutIt, class Binop>
OutIt transform(InIt1 first1, InIt1 last1, InIt2 first2,
OutIt x, Binop bop);
The first template function evaluates *(x + N) = uop(*(first + N))
once for each N
in the range [0, last -
first)
. It then returns x + (last - first)
. The call uop(*(first + N))
must not alter *(first + N)
.
The second template function evaluates *(x + N) = bop(*(first1 + N), *(first2 + N))
once for each N
in
the range [0, last1 - first1)
. It then returns x + (last1 - first1)
. The call bop(*(first1 + N),
*(first2 + N))
must not alter either *(first1 + N)
or *(first2 + N)
.