operator+,-(ranges::elements_view::iterator)
De es.cppreference.net
friend constexpr /*iterator*/ operator+( const /*iterator*/& i, difference_type n )
requires ranges::random_access_range<Base>;
|
(1) | (desde C++20) |
friend constexpr /*iterator*/ operator+( difference_type n, const /*iterator*/& i )
requires ranges::random_access_range<Base>;
|
(2) | (desde C++20) |
friend constexpr /*iterator*/ operator-( const /*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 por n.3) Devuelve el iterador
i decrementado por n.4) Devuelve la distancia entre
x y y.Estas funciones no son visibles para la búsqueda ordinaria no calificada o la búsqueda calificada, y solo se pueden encontrar mediante búsqueda dependiente de argumentos cuando elements_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
1,2)
[
&
]
{
auto
j
=
i
;
j
+
=
n
;
return
j
;
}
(
)
3)
[
&
]
{
auto
j
=
i
;
j
-
=
n
;
return
j
;
}
(
)
4)
x.
base
(
)
-
y.
base
(
)
Ejemplo
|
Esta sección está incompleta
Motivo: sin ejemplo |
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares publicados anteriormente de C++.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 3483 | C++20 |
elements_view::iterator
's difference is overconstrained
|
requirement is relaxed |