std::ranges::join_view<V>::iterator
template< bool Const > class /*iterator*/ | (начиная с C++20) (только для иллюстрации*) |
Тип результата join_view::begin и join_view::end, когда внешний диапазон V и внутренний диапазон ranges::range_reference_t<V> удовлетворяют требованиям common_range, а родительский объект join_view является forward_range.
Если V не является простым представлением (например, если ranges::iterator_t<constV> недопустим или отличается от ranges::iterator_t<V>), Const имеет значение true для итераторов, возвращаемых перегрузками для const, и false в противном случае. Если V является простым представлением, Const имеет значение true тогда и только тогда, когда ranges::range_reference_t<V> является ссылкой.
Типы-члены
| Член | Определение |
|---|---|
Parent |
maybe-const <Const,ranges::join_view<V>>(тип-член, используемый только для иллюстрации*) |
Base |
maybe-const <Const,V>(тип-член, используемый только для иллюстрации*) |
OuterIter |
ranges::iterator_t<Base> (тип-член, используемый только для иллюстрации*) |
InnerIter |
ranges::iterator_t<ranges::range_reference_t<Base>> (тип-член, используемый только для иллюстрации*) |
iterator_concept |
|
iterator_category(присутствует при выполнении условия) | Определяется только в том случае, если iterator::iterator_concept (см. выше) обозначает std::forward_iterator_tag.Пусть
|
value_type | ranges::range_value_t<ranges::range_reference_t<Base>> |
difference_type |
std::common_type_t<ranges::range_difference_t<Base>,ranges::range_difference_t<ranges::range_reference_t<Base>>> |
Поля данных
| Член | Определение |
|---|---|
OuterIter outer_ (закрытый) | Внешний итератор (объект-член, используемый только для иллюстрации*) |
InnerIter inner_ (закрытый) | Внутренний итератор (объект-член, используемый только для иллюстрации*) |
Parent* parent_ (закрытый) | Указатель на родительский объект (объект-член, используемый только для иллюстрации*) |
Функции-члены
| создаёт итератор (открытая функция-член) |
|
| получает доступ к элементу (открытая функция-член) |
|
| перемещает базовые итераторы вперёд или назад (открытая функция-член) |
|
| пропускает пустые внутренние диапазоны (функция-член, используемая только для иллюстрации*) |
Функции, не являющиеся членами
|
(C++20) | сравнивает базовые итераторы (функция) |
|
(C++20) | приводит результат разыменования базового итератора к соответствующему типу rvalue-ссылки (функция) |
|
(C++20) | меняет местами объекты, на которые указывают два базовых итератора (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/join_view/iterator