Справочник по C/C++
replace_copy_if()

template 
	OutIter replace_copy_if(InIter start, InIter end,
				OutIter result, UnPred pfn, Const Т &new);

Описание

Внутри заданного диапазона копирует элементы в последовательность. В процессе копирования происходит замена элементов, для которых заданный предикат равен заданному значению

Внутри заданного диапазона алгоритм replace_copy_if() копирует элементы в последовательность, адресуемую параметром result. В процессе копирования происходит замена элементов, для которых предикат pfn равен значению true, элементами, имеющими значение new. Исходный диапазон не изменяется. Алгоритм возвращает итератор, который указывает на конец последовательности, адресуемой параметром result.