Namespaces
Variants

std::ranges::slide_view<V>::iterator<Const>::iterator

С ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
/*iterator*/();
(1) (начиная с C++23)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
        std::convertible_to<ranges::iterator_t<V>, ranges::iterator_t<Base>>
(2) (начиная с C++23)
private:
constexpr /*iterator*/( ranges::iterator_t<Base> current,
                        ranges::range_difference_t<Base> n )
    requires (!/*slide-caches-first*/<Base>);
(3) (только для пояснения*)
private:
constexpr /*iterator*/( ranges::iterator_t<Base> current,
                        ranges::iterator_t<Base> last_ele,
                        ranges::range_difference_t<Base> n )
    requires /*slide-caches-first*/<Base>;
(4) (только для пояснения*)

Создаёт итератор.

1) Конструктор по умолчанию. Инициализирует значением базовые элементы данных:
  • current_ значением ranges::iterator_t<Base>(),
  • last_ele_ значением ranges::iterator_t<Base>() (обратите внимание, что этот элемент может отсутствовать),
  • n_ значением 0.
2) Преобразование из /*iterator*/<false> в /*iterator*/<true>. Инициализирует базовые элементы данных:
  • current_ с помощью std::move(i.current_),
  • n_ с помощью i.n_.
Обратите внимание, что /*iterator*/<true> может быть сформирован только когда Base моделирует /*slide-caches-nothing*/, и в этом случае last_ele_ отсутствует.
3) Приватный конструктор, который используется ranges::slide_view::begin и ranges::slide_view::end. Этот конструктор недоступен пользователям. Инициализирует базовые элементы данных:
  • current_ с помощью current,
  • n_ с помощью n.
Обратите внимание, что эта перегрузка может присутствовать только если last_ele_ отсутствует.
4) Приватный конструктор, который используется ranges::slide_view::begin и ranges::slide_view::end. Этот конструктор недоступен пользователям. Инициализирует базовые элементы данных:
  • current_ с помощью current,
  • last_ele_ с помощью last_ele (обратите внимание, что этот элемент данных присутствует из-за требования /*slide-caches-first*/<Base>),
  • n_ с помощью n.

Параметры

i - an /*iterator*/ < false >
current - итератор на текущий элемент slide_view
last_ele - итератор на последний элемент slide_view
n - ширина скользящего окна slide_view

Пример