std::ranges::stride_view<V>::end
constexpr auto end() requires (!/*simple-view*/<V>);
|
(1) | (начиная с C++23) |
constexpr auto end() const requires ranges::range<const V>
|
(2) | (начиная с C++23) |
Возвращает итератор или дозорный (sentinel), представляющий конец stride_view.
Пусть base_ и stride_ будут базовыми элементами данных.
Const определено как using Const = false;, а Base как using Base = V;.Const определено как using Const = true;, а Base как using Base = const V;.Эквивалентно:
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;
}
Параметры
(нет)
Возвращаемое значение
Итератор, указывающий на элемент, следующий за последним элементом, если базовое представление
V
моделирует
common_range
. В противном случае —
std::default_sentinel
, который сравнивается с конечным итератором.
Примечания
stride_view
<
V
>
моделирует
common_range
всякий раз, когда базовое представление
V
делает это.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
возвращает итератор на начало
(общедоступная функция-член) |
|
|
(C++20)
|
возвращает страж, указывающий на конец диапазона
(объект точки настройки) |