Name
replace_copy_if function template — Copies values, replacing those that satisfy a predicate
Synopsis
template<typename Iter, typename OutIter, typename Predicate, typename T>
OutIter replace_copy_if(Iter first, Iter last, OutIter result, Predicate pred,
const T& new_value);The replace_copy_if
function template copies values from [first, last) to the range that starts at result. Elements for which pred returns true are replaced with
new_value; other elements are
copied without modification.
The return value is an iterator that points to one past the
end of the result range. The source and result ranges must not
overlap. See Figure
13-14 (under replace_copy)
for an example of the replacement process.
Technical Notes
The replace_copy_if
function template assigns *(result + n) = *(first + n) ==
pred(*(first + n)) ? new_value : *(first + n) for all n in [0, last - first).
Complexity is linear: exactly last - first comparisons are performed.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access