Namespaces
Variants

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

Von de.cppreference.net
 
 
Ranges-Bibliothek
Bereichsadapter
 
 
/*iterator*/() requires std::default_initializable<OuterIter> &&
                        std::default_initializable<InnerIter> = default;
(1) (since C++20)
constexpr /*iterator*/( Parent& parent, OuterIter outer );
(2) (since 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) (since C++20)

Konstruiert einen Iterator.

1) Standardkonstruktor. Wertinitialisiert die zugrunde liegenden Iteratoren und initialisiert den Zeiger auf das übergeordnete ranges::join_view mit nullptr.
2) Initialisiert den zugrunde liegenden outer_ Iterator mit std::move(outer) und den Zeiger auf das übergeordnete parent_ mit std::addressof(parent); ruft dann satisfy() auf.
3) Konvertiert /*iterator*/<false> zu /*iterator*/<true>. Verschiebungskonstruiert die zugrunde liegenden Iteratoren outer_ mit std::move(i.outer_), inner_ mit std::move(i.inner_) und den zugrunde liegenden Zeiger auf das übergeordnete parent_ mit i.parent_.

Parameter

parent - ein (möglicherweise const-qualifizierter) ranges::join_view
outer - ein Iterator in (möglicherweise const-qualifiziertem) ranges:: iterator_t < Base >
i - ein /*iterator*/ < false >

Beispiel