std::ranges::stride_view<V>::iterator
template< bool Const > class /*iterator*/ | (с C++23) (только для примера*) |
Тип возвращаемого значения stride_view::begin и stride_view::end, когда базовое представление V является common_range.
Тип /*iterator*/<true> возвращается квалифицированными перегрузками const. Тип /*iterator*/<false> возвращается перегрузками без квалификатора const.
Типы членов
| Тип члена | Определение |
|---|---|
Parent (private) | const ranges::stride_view если Const является true, в противном случае ranges::stride_view.(только для примера*) |
Base (private) | const V если Const является true, в противном случае V.(только для примера*) |
difference_type | ranges::range_difference_t<Base> |
value_type | ranges::range_value_t<Base> |
iterator_concept |
|
iterator_category | Определено, если и только если Base моделирует forward_range.Пусть
|
Члены-данные
| Объект-член | Определение |
|---|---|
current_ (private) | ranges::iterator_t<Base>, хранит итератор текущего элемента.(только для примера*) |
end_ (private) | ranges::sentinel_t<Base>, хранит конечную точку.(только для примера*) |
stride_ (private) | ranges::range_difference_t<Base>, хранит значение шага.(только для примера*) |
missing_ (private) | ranges::range_difference_t<Base>, обычно хранит результат ranges::advance(current_, stride_, end_).(только для примера*) |
Члены-функции
|
(C++23) | создаёт итератор (публичная функция-член) |
|
(C++23) | возвращает итератор на текущий элемент (публичная функция-член) |
|
(C++23) | обращается к элементу (публичная функция-член) |
|
(C++23) | обращается к элементу по индексу (публичная функция-член) |
|
(C++23) | перемещает итератор вперёд или назад (публичная функция-член) |
Внедённые функции
|
(C++23) | сравнивает базовые итераторы (функция) |
|
(C++23) | выполняет арифметические операции с итераторами (функция) |
|
(C++23) | преобразует результат разыменования базового итератора к его ассоциированному типу ссылок rvalue (функция) |
|
(C++23) | меняет местами элементы, на которые ссылаются базовые итераторы (функция) |
Пример
Ссылки
- Стандарт C++23 (ISO/IEC 14882:2023):
- 26.7.31.3 Шаблон класса stride_view::iterator [range.stride.iterator]
См. также
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/stride_view/iterator