Namespaces
Variants

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

С сайта ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
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 равно 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 .

Пусть 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)
обменивает объекты, на которые указывают два базовых итератора
(функция)