replace(b, e, old, new)
can be implemented as
while (b != e) if (*b == old) *b = new ++b
The first *b
is an r-value start, which means input iterators. The second
*b
is an l-value *, which means output iterators. The least-powerful
iterator category that includes both input and output iterators is
forward iterators.
This page last modified on 2 March 2004.