Inhaltsverzeichnis

upper_bound()

#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.

Parameter

first Anfang des Bereiches
last Ende des Bereiches
wert gesuchter Wert
comp Sortierkriterium (Vorgabe = less)
proj einstelliger Funktor (Vorgabe = std::identity)

Ergebnis

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

Siehe auch

equal_range(), lower_bound().

Beispiel

upper_bound.cpp
#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';
}