#include
<algorithm>
For upper_bound (For first, For last, T wert) For upper_bound (For first, For last, T wert, Binary comp) For ranges::upper_bound (Range r, T wert, Binary comp = {}, Proj proj = {}) For ranges::upper_bound (For first, For last, T wert, Binary comp = {}, Proj proj = {})
Bestimmt die letzte Position, an der wert
eingefügt werden kann, ohne die aufsteigende Ordnung der Folge [first,last) zu zerstören.
first | Anfang des Bereiches |
last | Ende des Bereiches |
wert | gesuchter Wert |
comp | Sortierkriterium (Vorgabe = less ) |
proj | einstelliger Funktor (Vorgabe = std::identity ) |
Rückgabewert: rechte Grenze i
des Teilbereiches, in dem wert
eingefügt werden kann,
ohne die Sortierung zu zerstören.
Für alle Iteratoren j
aus [first, i) gilt:
comp(wert, proj(*j)) == false
#include <algorithm> #include <iostream> #include <string> int main() { std::string s = "abcddddefgh"; std::cout << s << '\n' << " " << lower_bound(begin(s), end(s), 'd') << '\n'; << " ^^^" << upper_bound(begin(s), end(s), 'd') << '\n'; }