Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
/*iterator*/ ( ) requires std:: default_initializable < OuterIter > &&
std:: default_initializable < InnerIter > = default ;
(1) (depuis C++20)
constexpr /*iterator*/ ( Parent & parent, OuterIter outer ) ;
(2) (depuis C++20)
constexpr /*iterator*/ ( /*iterator*/ < ! Const > i )

requires Const &&
std:: convertible_to < ranges:: iterator_t < V > , OuterIter > &&

std:: convertible_to < ranges:: iterator_t < InnerRng > , InnerIter > ;
(3) (depuis C++20)

Construit un itérateur.

1) Constructeur par défaut. Initialise par valeur les itérateurs sous-jacents, et initialise le pointeur vers le parent ranges::join_view avec nullptr .
2) Initialise l'itérateur sous-jacent outer_ avec std :: move ( outer ) , et le pointeur vers le parent parent_ avec std:: addressof ( parent ) ; puis appelle satisfy() .
3) Convertit /*iterator*/ < false > en /*iterator*/ < true > . Construit par déplacement les itérateurs sous-jacents outer_ avec std :: move ( i. outer_ ) , inner_ avec std :: move ( i. inner_ ) , et le pointeur sous-jacent vers le parent parent_ avec i. parent_ .

Paramètres

parent - un (éventuellement qualifié const) ranges::join_view
outer - un itérateur vers (éventuellement qualifié const) ranges:: iterator_t < Base >
i - un /*iterator*/ < false >

Exemple