namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

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)}.

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: 2020-06-15 21:17 von rrichter