#include
<algorithm>
For partition (For first, For last, Pred pred) For partition (Exec pol, For first, For last, Pred pred) Range range::partition (Range r, Pred pred, Proj proj = {}) Range range::partition (For first, For last, Pred pred, Proj proj = {})
Bringt alle Elemente des Bereiches [first,last),
auf die pred(x)
zutrifft nach links, alle anderen nach rechts.
first | Anfang des Bereiches |
last | Ende des Bereiches |
pred | Prädikat |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
pol | parallele Ausführungsart |
Rückgabewert: Iterator i
bzw. {i,last}
auf das Ende des Teilbereiches,
auf dessen Elemente pred(x)
zutrifft.
#include <algorithm> #include <iostream> #include <iomanip> #include <string> int main() { std::string s = "ein Beispiel"; std::cout << s << '\n'; auto q = std::partition(begin(s), end(s), [](char c) { return c < 'i'; )); std::cout << s << '\n' << std::setw(q-begin(s)+1) << "^" << " davor kleiner als i\n"; }