template <class InputIterator, class OutputIterator, class T>
OutputIterator replace_copy(InputIterator first, InputIterator last,
OutputIterator result, const T& old_value,
const T& new_value);
Description
Replace_copy copies elements from the range [first, last) to
the range [result, result + (last-first)), except that any element
equal to old_value is not copied; new_value is copied instead.
More precisely, for every integer n such that 0 <= n < last-first,
replace_copy performs the assignment *(result+n) = new_value
if *(first+n) == old_value, and *(result+n) = *(first+n)
otherwise.