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.
Get C++ In a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.