Namespaces
Variants

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

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rangos
 
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 usa para obtener el tipo de iterador del tipo T.
2) Se usa para obtener el tipo de iterador constante del tipo de rango R.
3) Se usa para obtener el tipo centinela del tipo de rango R.
4) Se usa para obtener el tipo centinela constante del tipo de rango R.

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)