Namespaces
Variants

std::ranges::join_with_view<V,Pattern>:: sentinel <Const>:: sentinel

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

требует Const && std:: convertible_to < ranges:: sentinel_t < V > ,

ranges:: sentinel_t < const V >> ;
(2) (начиная с C++23)
constexpr explicit /*sentinel*/ ( /*Parent*/ & parent ) ;
(3) (начиная с C++23)
( только для демонстрации* )

Создает страж. Перегрузка (3) вызывается методом end() представления ranges::join_with_view .

Перегрузка end_
(1) инициализирован значением
(2) инициализирован с помощью std :: move ( s. end_  )
(3) инициализирован с помощью ranges:: end ( parent. base_  )

Параметры

i - дозорный, соответствующий изменяемому итератору
parent - объект std::ranges::join_with_view

Пример