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
Definido en el encabezado <ranges>
template < class T >
using iterator_t = decltype ( ranges:: begin ( std:: declval < T & > ( ) ) ) ;
(1) (desde C++20)
template < ranges:: range R >
using const_iterator_t = decltype ( ranges:: cbegin ( std:: declval < R & > ( ) ) ) ;
(2) (desde C++23)
template < ranges:: range R >
using sentinel_t = decltype ( ranges:: end ( std:: declval < R & > ( ) ) ) ;
(3) (desde C++20)
template < ranges:: range R >
using const_sentinel_t = decltype ( ranges:: cend ( std:: declval < R & > ( ) ) ) ;
(4) (desde C++23)
1) Se utiliza para obtener el tipo de iterador del tipo T .
2) Se utiliza para obtener el tipo de iterador constante del range tipo R .
3) Se utiliza para obtener el tipo centinela del tipo de rango R .
4) Se utiliza para obtener el tipo centinela constante del tipo de rango R .

Contenidos

Parámetros de plantilla

T - un tipo que puede ser utilizado en std::ranges::begin
R - un tipo range o un tipo sized_range

Notas

iterator_t puede aplicarse a tipos que no son rangos, por ejemplo, arrays con límite desconocido.

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3946 C++23 const_iterator_t y const_sentinel_t eran inconsistentes
con el resultado de ranges::cbegin y ranges::cend respectivamente
ajustado

Véase también

calcula los tipos asociados de un iterador
(plantilla de alias)
obtiene los tipos de tamaño, diferencia y valor de un rango
(plantilla de alias)
obtiene los tipos de referencia de un rango
(plantilla de alias)