Namespaces
Variants

std::ranges::adjacent_transform_view<V,F,N>::iterator<Const>::iterator

Von de.cppreference.net
 
 
Bereiche-Bibliothek
Bereichsadapter
 
 
/*iterator*/() = default;
(1) (seit C++23)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
        std::convertible_to</*inner-iterator*/<false>, /*inner-iterator*/<Const>>;
(2) (seit C++23)
private:
constexpr /*iterator*/( Parent& parent, /*inner-iterator*/<Const> inner );
(3) (nur zur Veranschaulichung*)

Konstruiere einen Iterator.

1) Standardkonstruktor. Wertinitialisiert den zugrundeliegenden Zeiger parent_ mit nullptr, und standardmäßig initialisiert den zugrundeliegenden Iterator inner_.
2) Konvertierung von /*iterator*/<false> zu /*iterator*/<true>. Initialisiert den zugrundeliegenden Zeiger parent_ mit i.parent_, und verschiebekonstruiert den zugrundeliegenden Iterator inner_ mit std::move(i.inner_).
3) Dieser Iterator hat auch einen privaten Konstruktor, der von ranges::adjacent_transform_view::begin und ranges::adjacent_transform_view::end verwendet wird. Dieser Konstruktor ist für Benutzer nicht zugänglich. Initialisiert parent_ mit std::addressof(parent), und verschiebekonstruiert inner_ mit std::move(inner).

Parameter

i - ein /*iterator*/ < false >
parent - ein besitzendes Objekt vom Typ adjacent_transform_view
inner - ein Iterator vom Typ adjacent_transform_view:: inner_iterator

Beispiel