kennen:lib:replace_copy_if
Inhaltsverzeichnis
replace_copy_if()
#include
<algorithm>
Out replace_copy_if (In first, In last, Out result, Pre pred, T neuerwert) Out replace_copy_if (Exec pol, In first, In last, Out result, Pre pred, T neuerwert) [last, out] = ranges::replace_copy_if (Range r, Out result, Pre pred, T neuerwert, Proj proj = {}) [last, out] = ranges::replace_copy_if (In first, In last, Out result, Pre pred, T neuerwert, Proj proj = {})
Kopiert den Bereich [first,last) nach [result,…)
und ersetzt dabei all jene Elemente e
,
auf die pred(proj(e))
zutrifft, durch neuerwert
.
Parameter
first | Anfang des Bereiches |
last | Ende des Bereiches |
first | Anfang des Zielbereiches |
pred | einstelliges Prädikat |
neuerwert | zuzuweisender Wert |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
pol | parallele Ausführungsart |
Ergebnis
Rückgabewert: Iterator auf das Ende des Zielbereiches bzw. {last, result + (last - first)}
als Struktur mit Elementen namens in, out
.
Siehe auch
Beispiel
- replace_copy_if.cpp
#include <algorithm> #include <iterator> #include <string> #include <iostream> int main() { std::string s = "Hallo, Welt"; std::string t; std::cout << s << '\n'; std::replace_copy_if(begin(s), end(s), std::back_inserter(t), [](char c) { return c < 'l'; }, 'x'); std::cout << t << '\n'; }
kennen/lib/replace_copy_if.txt · Zuletzt geändert: 2023-10-14 11:54 von rrichter