Namespaces
Variants

std::ranges::join_view<V>:: iterator

From cppreference.net
Ranges library
Range adaptors
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 < const V > некорректен или отличается от ranges:: iterator_t < V > ), Const имеет значение true для итераторов, возвращаемых из константных перегрузок, и false в противном случае. Если V является простым представлением, Const истинно тогда и только тогда, когда 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 .

Пусть OUTERC будет std:: iterator_traits < ranges:: iterator_t < Base >> :: iterator_category , и пусть INNERC будет std:: iterator_traits < ranges:: iterator_t < ranges:: range_reference_t < Base >>> ::
iterator_category
.

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_ (private) Внешний итератор
( объект-член только для демонстрации* )
InnerIter inner_ (private) Внутренний итератор
( объект-член только для демонстрации* )
Parent* parent_ (private) Указатель на родительский объект
( объект-член только для демонстрации* )

Функции-члены

создает итератор
(публичная функция-член)
обращается к элементу
(публичная функция-член)
продвигает или уменьшает базовые итераторы
(публичная функция-член)
пропускает пустые внутренние диапазоны
( функция-член только для демонстрации* )

Функции, не являющиеся членами класса

(C++20)
сравнивает базовые итераторы
(функция)
(C++20)
преобразует результат разыменования базового итератора в соответствующий тип rvalue-ссылки
(функция)
(C++20)
обменивает объекты, на которые указывают два базовых итератора
(функция)