Namespaces
Variants

std::ranges::stride_view<V>::end

From ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
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_ будут базовыми элементами данных.

1) Пусть Const определено как using Const = false;, а Base как using Base = V;.
2) Пусть 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 делает это.

Пример

Смотрите также

возвращает итератор на начало
(общедоступная функция-член)
возвращает страж, указывающий на конец диапазона
(объект точки настройки)