Namespaces
Variants

std::ranges::concat_view<Views...>:: iterator <Const>:: iterator

From cppreference.net
Ranges library
Range adaptors
/*iterator*/ ( ) = default ;
(1) (начиная с C++26)
constexpr /*iterator*/ ( /*iterator*/ < ! Const > it )

requires Const &&
( std:: convertible_to < ranges:: iterator_t < Views > ,

ranges:: iterator_t < const Views >> && ... ) ;
(2) (начиная с C++26)
template < class ... Args >

constexpr explicit /*iterator*/
( /*maybe-const*/ < Const, concat_view > * parent, Args && ... args )

requires std:: constructible_from < /*base-iter*/ , Args && ... > ;
(3) (начиная с C++26)
( только для демонстрации* )

Создает итератор.

Для определения /*maybe-const*/ смотрите maybe-const .

Перегрузка Элементы данных
parent_ it_
(1) инициализируется с nullptr инициализация по умолчанию
(2) инициализируется с it. parent_ инициализируется с base-iter  ( std:: in_place_index < I > ,
 std :: get < I > ( std :: move ( it. it_  ) ) )

(где I это it. it_  . index ( ) )
(3) инициализируется с parent инициализируется с std:: forward < Args > ( args ) ...
2) Если it. it_  . valueless_by_exception ( ) является true , поведение не определено.

Параметры

it - изменяемый итератор
parent - указатель на ranges::concat_view
args - аргументы для инициализации it_

Пример