Namespaces
Variants

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

De fr.cppreference.net
 
 
Bibliothèque Ranges
Adaptateurs de plage
 
Défini dans l'en-tête <ranges>
template< class T >
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
(1) (depuis C++20)
template< ranges::range R >
using const_iterator_t = decltype(ranges::cbegin(std::declval<R&>()));
(2) (depuis C++23)
template< ranges::range R >
using sentinel_t = decltype(ranges::end(std::declval<R&>()));
(3) (depuis C++20)
template< ranges::range R >
using const_sentinel_t = decltype(ranges::cend(std::declval<R&>()));
(4) (depuis C++23)
1) Utilisé pour obtenir le type d'itérateur du type T.
2) Utilisé pour obtenir le type d'itérateur constant du plage type R.
3) Utilisé pour obtenir le type de sentinelle du type de plage R.
4) Utilisé pour obtenir le type de sentinelle constant du type de plage R.

Paramètres du modèle

T - un type pouvant être utilisé dans std::ranges::begin
R - un type de range ou un type de sized_range

Notes

iterator_t peut être appliqué à des types non-range, par exemple des tableaux avec une limite inconnue.

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Appliqué à Comportement publié Comportement corrigé
LWG 3946 C++23 const_iterator_t et const_sentinel_t étaient incohérents
avec le résultat de ranges::cbegin et ranges::cend respectivement
ajusté

Voir aussi

calcule les types associés d'un itérateur
(modèle d'alias)
obtient les types de taille, différence et valeur d'une plage
(modèle d'alias)
obtient les types de référence d'une plage
(modèle d'alias)