Namespaces
Variants

nothrow-sentinel-for, nothrow-sized-sentinel-for

Von de.cppreference.net
 
 
Algorithmenbibliothek
Eingeschränkte Algorithmen und Algorithmen auf Bereichen (C++20)
Eingeschränkte Algorithmen, z.B. ranges::copy, ranges::sort, ...
Nicht-modifizierende Sequenzoperationen    
Stapeloperationen
(C++17)
Suchoperationen
Modifizierende Sequenzoperationen
Kopieroperationen
(C++11)
(C++11)
Tauschoperationen
Transformationsoperationen
Generierungsoperationen
Entfernungsoperationen
Reihenfolgeändernde Operationen
(bis C++17)(C++11)
(C++20)(C++20)
Stichprobenoperationen
(C++17)

Sortierung und verwandte Operationen
Partitionierungsoperationen
(C++11)    

Sortieroperationen
Binäre Suchoperationen
(auf partitionierten Bereichen)
Mengenoperationen (auf sortierten Bereichen)
Mischoperationen (auf sortierten Bereichen)
Heap-Operationen
Minimum/Maximum-Operationen
(C++11)
(C++17)
Lexikografische Vergleichsoperationen
Permutationsoperationen


 
 
template< class S, class I >
concept /*nothrow-sentinel-for*/ = std::sentinel_for<S, I>;
(1) (nur zur Veranschaulichung*)
template< class I >
concept /*nothrow-sized-sentinel-for*/ =
    /*nothrow-sentinel-for*/<S, I> &&
    std::sized_sentinel_for<S, I>;
(2) (seit C++26)
(nur zur Veranschaulichung*)

Diese Konzepte, die nur zur Veranschaulichung dienen, legen fest, dass von Operationen, die von den spezialisierten <Speicher>-Algorithmen zwischen Iteratoren und Sentinel-Werten benötigt werden, keine Ausnahmen ausgelöst werden.

Semantische Anforderungen

1) Die Typen S und I modellieren nothrow-sentinel-for nur dann, wenn bei der Kopierkonstruktion, Verschiebungskonstruktion, Kopierzuweisung, Verschiebungszuweisung oder Vergleichen zwischen gültigen Werten der Typen I und S keine Ausnahmen ausgelöst werden.
2) Die Typen S und I modellieren nothrow-sized-sentinel-for nur dann, wenn bei der --Operation für gültige Werte der Typen I und S keine Ausnahmen ausgelöst werden.

Anmerkungen

Diese Konzepte erlauben, dass einige sentinel_for- und sized_sentinel_for-Operationen Ausnahmen auslösen.

Siehe auch

gibt an, dass ein Typ ein Sentinel für einen input_or_output_iterator-Typ ist
(Konzept)
gibt an, dass die --Operation auf einen Iterator und einen Sentinel angewendet werden kann, um ihre Differenz in konstanter Zeit zu berechnen
(Konzept)