Inhaltsverzeichnis

replace_copy()

#include <algorithm>

Out replace_copy (In first, In last, Out result, T alterwert, T neuerwert) 
Out replace_copy (Exec pol, In first, In last, Out result, T alterwert, T neuerwert) 
 
[last, out] = ranges::replace_copy (Range r, Out result, T alterwert, T neuerwert, Proj proj = {}) 
[last, out] = ranges::replace_copy (In first, In last, Out result, T alterwert, T neuerwert, Proj proj = {}) 

Kopiert den Bereich [first,last) nach [result,…) und ersetzt dabei Elemente mit proj(e) == alterwert durch neuerwert.

Parameter

Parameter

first Anfang des Bereiches
last Ende des Bereiches
first Anfang des Zielbereiches
alterwert zu ersetzender Wert
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

replace(), replace_copy_if(), replace_if().

Beispiel

replace_copy.cpp
#include <algorithm>
#include <iterator>
#include <string>
#include <iostream>
 
int main()
{
  std::string s = "Harro, Wert";
  std::string t;
  std::cout << s << '\n';
 
  std::replace_copy(begin(s), end(s), std::back_inserter(t), 'r', 'l');
 
  std::cout << t << '\n';
}