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) | const V, если Const равно true, в противном случае 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> |
Члены-данные
| Объект члена | Определение |
|---|---|
current_ (private) | Итератор типа ranges::iterator_t<Base> на текущий элемент базовой последовательности.(только для примера*) |
Члены-функции
|
(C++20) | создаёт итератор (общедоступная функция-член) |
|
(C++20) | возвращает базовый итератор (общедоступная функция-член) |
|
(C++20) | обращается к N-му элементу кортежа (общедоступная функция-член) |
|
(C++20) | обращение к элементу по индексу (общедоступная функция-член) |
|
(C++20) | перемещение базового итератора вперёд или назад (общедоступная функция-член) |
Функции без имени
|
(C++20) | сравнение базовых итераторов (функция) |
|
(C++20) | арифметические операции с итераторами (функция) |
Отчёты об ошибках
Следующие отчёты об ошибках, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применено к | Поведение, как опубликовано | Правильное поведение |
|---|---|---|---|
| P2259R1 | C++20 | член iterator_category всегда определён | определён только если Base соответствует forward_range |
| LWG 3555 | C++20 | определение iterator_concept игнорирует 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/w/cpp/ranges/elements_view/iterator