std::ranges:: iterator_t, std::ranges:: const_iterator_t, std::ranges:: sentinel_t, std::ranges:: const_sentinel_t
From cppreference.net
|
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
.
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
|
(C++20)
(C++20)
(C++23)
(C++20)
(C++20)
(C++20)
|
calcula los tipos asociados de un iterador
(plantilla de alias) |
|
(C++20)
(C++20)
(C++20)
|
obtiene los tipos de tamaño, diferencia y valor de un rango
(plantilla de alias) |
|
(C++20)
(C++23)
(C++20)
(C++20)
|
obtiene los tipos de referencia de un rango
(plantilla de alias) |