namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:replace_copy_if

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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki