Namespaces
Variants

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

Depuis fr.cppreference.net
 
 
Bibliothèque des plages
Adaptateurs de plage
 
 
/*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'outer_ itérateur sous-jacent 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