std::ranges::elements_view<V,N>::iterator
template< bool Const > class /*iterator*/; | (только для иллюстрации*) |
Тип возвращаемого значения elements_view::begin и elements_view::end, когда базовое представление является common_range.
Тип /*iterator*/<true> возвращается перегрузками с квалификатором const. Тип /*iterator*/<false> возвращается перегрузками без квалификатора const.
Типы-члены
| Член | Определение |
|---|---|
Base (private) |
maybe-const <Const,V>(тип-член, используемый только для иллюстрации*) |
iterator_concept | Обозначает:
|
iterator_category(присутствует при определённых условиях) | Не определён, если Base не удовлетворяет требованиям forward_range. В противном случае:
|
value_type |
std::remove_cvref_t<std::tuple_element_t<N, ranges::range_value_t<Base>>> |
difference_type |
ranges::range_difference_t<Base> |
Данные-члены
| Член | Описание |
|---|---|
ranges::iterator_t<Base> current_ (private) | итератор текущего элемента базовой последовательности (объект-член, используемый только для иллюстрации*) |
Функции-члены
| создаёт итератор (открытая функция-член) |
|
| возвращает базовый итератор (открытая функция-член) |
|
| обращается к N-му элементу кортежа (открытая функция-член) |
|
| обращается к элементу по индексу (открытая функция-член) |
|
| перемещает базовый итератор вперёд или назад (открытая функция-член) |
Функции, не являющиеся членами
|
(C++20) | сравнивает базовые итераторы (функция) |
|
(C++20) | выполняет арифметические операции с итераторами (функция) |
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроспективно к ранее опубликованным стандартам C++.
| Отчёт об ошибке | Применён к | Опубликованное поведение | Корректное поведение |
|---|---|---|---|
| P2259R1 | C++20 | член iterator_category всегда определён | определён только если Base удовлетворяет требованиям forward_range |
| LWG 3555 | C++20 | определение iterator_concept не учитывает const | изменено так, чтобы учитывать const |
См. также
|
(C++20) | тип возвращаемого значения ranges::transform_view::begin и ranges::transform_view::end, когда базовое представление является common_range (шаблон класса-члена, закрытый) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/elements_view/iterator