#include
<algorithm>
Out remove_copy_if (In first, In last, Out result, Pred pred) Out remove_copy_if (Exec pol, In first, In last, Out result, Pred pred) [last, res] = ranges::remove_copy_if (Range r, Out result, Pred pred, Proj proj = {}) [last, res] = ranges::remove_copy_if (In first, In last, Out result, Pred pred, Proj proj = {})
Kopiert den Bereich [first,last) nach [result,…)
und entfernt dabei alle Elemente, auf die pred(x)
zutrifft.
first | Anfang des Bereiches |
last | Ende des Bereiches |
result | Anfang des Zielbereiches |
pred | einstelliges Prädikat |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
pol | parallele Ausführungsart |
Rückgabewert: Iterator result+N
auf das Ende des Zielbereiches bzw. {last,result+N}
mit N kopierten Elementen
als Struktur mit Elementen namens in, out
.
#include <algorithm> #include <functional> #include <iterator> #include <string> #include <iostream> int main() { std::string s = "Hallo, Welt"; std::string t; std::cout << s << '\n'; std::remove_copy_if(begin(s), end(s), std::back_inserter(t), [](char c) { return c < 'l'; }); std::cout << t << '\n'; return 0; }