std::ranges::stride_view<V>::end
constexpr auto end() requires (!/*simple-view*/<V>);
|
(1) | (desde C++23) |
constexpr auto end() const requires ranges::range<const V>
|
(2) | (desde C++23) |
Devuelve un iterator o un sentinel que representa el final de la stride_view.
Sean base_ y stride_ los miembros de datos subyacentes.
Const definido como using Const = false; y Base como using Base = V;.Const definido como using Const = true; y Base como using Base = const V;.Equivalente a:
if constexpr (ranges::common_range<Base> &&
ranges::sized_range<Base> &&
ranges::forward_range<Base>)
{
auto missing = (stride_ - ranges::distance(base_) % stride_) % stride_;
return iterator<Const>(this, ranges::end(base_), missing);
}
else if constexpr (ranges::common_range<Base> &&
!ranges::bidirectional_range<Base>)
{
return iterator<Const>(this, ranges::end(base_));
}
else
{
return std::default_sentinel;
}
Parámetros
(ninguno)
Valor de retorno
Un
iterador
al elemento siguiente al último elemento, si la vista subyacente
V
modela
common_range
. De lo contrario, el
std::default_sentinel
que se compara igual al iterador final.
Notas
stride_view
<
V
>
modela
common_range
siempre que la vista subyacente
V
lo haga.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
devuelve un iterador al inicio
(función miembro pública) |
|
|
(C++20)
|
devuelve un centinela que indica el final de un rango
(objeto de punto de personalización) |