namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:replace_copy_if

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.


Vorhergehende Überarbeitung
kennen:lib:replace_copy_if [2023-10-14 11:54] (aktuell) – [Ergebnis] rrichter
Zeile 1: Zeile 1:
 +====== replace_copy_if() ======
 +''#include'' [[..:include:algorithm]]
 +
 +<code cpp>
 +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 = {}) </code>
 + 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''   | [[..:include:execution|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 ====
 +[[replace]],
 +[[replace_copy]],
 +[[replace_if]].
 +
 +==== Beispiel ====
 +<code cpp 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';
 +}
 +</code>
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki