Namespaces
Variants

std::ranges:: iterator_t, std::ranges:: const_iterator_t, std::ranges:: sentinel_t, std::ranges:: const_sentinel_t

From cppreference.net
Ranges library
Range adaptors
Definiert im Header <ranges>
template < class T >
using iterator_t = decltype ( ranges:: begin ( std:: declval < T & > ( ) ) ) ;
(1) (seit C++20)
template < ranges:: range R >
using const_iterator_t = decltype ( ranges:: cbegin ( std:: declval < R & > ( ) ) ) ;
(2) (seit C++23)
template < ranges:: range R >
using sentinel_t = decltype ( ranges:: end ( std:: declval < R & > ( ) ) ) ;
(3) (seit C++20)
template < ranges:: range R >
using const_sentinel_t = decltype ( ranges:: cend ( std:: declval < R & > ( ) ) ) ;
(4) (seit C++23)
1) Wird verwendet, um den Iteratortyp des Typs T zu erhalten.
2) Wird verwendet, um den konstanten Iteratortyp des range -Typs R zu erhalten.
3) Wird verwendet, um den Sentinel-Typ des Bereichstyps R zu erhalten.
4) Wird verwendet, um den konstanten Sentinel-Typ des Bereichstyps R zu erhalten.

Inhaltsverzeichnis

Template-Parameter

T - ein Typ, der in std::ranges::begin verwendet werden kann
R - ein range -Typ oder ein sized_range -Typ

Hinweise

iterator_t kann auf Nicht-Bereichstypen angewendet werden, z.B. Arrays mit unbekannter Grenze.

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Veröffentlichtes Verhalten Korrigiertes Verhalten
LWG 3946 C++23 const_iterator_t und const_sentinel_t waren inkonsistent
mit dem Ergebnis von ranges::cbegin und ranges::cend jeweils
angepasst

Siehe auch

berechnet die assoziierten Typen eines Iterators
(Alias-Template)
ermittelt Größen-, Differenz- und Werttypen eines Ranges
(Alias-Template)
ermittelt Referenztypen eines Ranges
(Alias-Template)