namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:partition_copy

partition_copy()

#include <algorithm>

std:pair<Out, Out2> partition_copy (In first, In last, Out good, Out2 bad, Pred pred) 
std:pair<Out, Out2> partition_copy (Exec pol, In first, In last, Out good, Out2 bad, Pred pred) 
 
[last, endgood, endbad] = ranges::partition_copy (Range r, Out good, Out2 bad, Pred pred, Proj proj = {}) 
[last, endgood, endbad] = ranges::partition_copy (In first, In last, Out good, Out2 bad, Pred pred, Proj proj = {}) 

Kopiert alle Elemente e des Bereiches [first,last), auf die pred(e) zutrifft, in den durch good angegebenen Bereich, alle anderen nach bad.

Parameter

first Anfang des Bereiches
last Ende des Bereiches
good Anfang des Zielbereichs für Elemente mit pred(e)
bad Anfang des Zielbereichs für Elemente mit !pred(e)
pred Prädikat
proj einstelliger Funktor (Vorgabe = std::identity)
pol parallele Ausführungsart

Ergebnis

Rückgabewert: make_pair(end_good, end_bad) mit den Enden beider Zielbereiche bzw. {last,endgood,endbad}.

Siehe auch

Beispiel

partition_copy.cpp
#include <algorithm>
#include <iostream>
#include <string>
 
int main()
{
  std::string s = "HALLO, Welt";
  std::string gut;      // ins Toepfchen
  std::string schlecht; // ins Kroepfchen
 
  std::partition_copy(begin(s), end(s), 
    std::back_inserter(gut),
    std::back_inserter(schlecht),
    [](char c) {return c <= 'Z';});
 
  std::cout << gut << " : " << schlecht << '\n';
}
kennen/lib/partition_copy.txt · Zuletzt geändert: 2020-06-16 16:53 von rrichter