operator+,-(ranges::transform_view::iterator)
De es.cppreference.net
friend constexpr /*iterator*/ operator+( /*iterator*/ i, difference_type n )
requires ranges::random_access_range<Base>;
|
(1) | (desde C++20) |
friend constexpr /*iterator*/ operator+( difference_type n, /*iterator*/ i )
requires ranges::random_access_range<Base>;
|
(2) | (desde C++20) |
friend constexpr /*iterator*/ operator-( /*iterator*/ i, difference_type n )
requires ranges::random_access_range<Base>;
|
(3) | (desde C++20) |
friend constexpr difference_type operator-( const /*iterator*/& x,
const /*iterator*/& y )
requires std::sized_sentinel_for<ranges::iterator_t<Base>,
ranges::iterator_t<Base>>;
|
(4) | (desde C++20) |
1,2) Devuelve el iterador
i incrementado en n.3) Devuelve el iterador
i decrementado en n.4) Devuelve la distancia entre
x y y.Estas funciones no son visibles para la búsqueda no calificada o la búsqueda calificada ordinarias, y solo se pueden encontrar mediante búsqueda dependiente de argumentos cuando transform_view::iterator<Const> es una clase asociada de los argumentos.
Parámetros
| i, x, y | - | los iteradores. |
| n | - | posición relativa a la ubicación actual. |
Valor de retorno
Sea
parent_
el puntero al
transform_view
padre,
current_
el iterador subyacente.
1,2)
/*iterator*/
{
*
i.
parent_
, i.
current_
+
n
}
3)
/*iterator*/
{
*
i.
parent_
, i.
current_
-
n
}
4)
x.
current_
-
y.
current_
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
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 3483 | C++20 |
transform_view::iterator
's difference is overconstrained
|
el requisito se relaja |