Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
/*iterator*/ ( ) = default ;
(1) (depuis C++23)
constexpr /*iterator*/ ( /*iterator*/ < ! Const > i )

requires Const &&

std:: convertible_to < /*inner-iterator*/ < false > , /*inner-iterator*/ < Const >> ;
(2) (depuis C++23)
private :
constexpr /*iterator*/ ( Parent & parent, /*inner-iterator*/ < Const > inner ) ;
(3) ( exposition uniquement* )

Construisez un itérateur.

1) Constructeur par défaut. Initialise par valeur le pointeur sous-jacent parent_ avec nullptr , et initialise par défaut l'itérateur sous-jacent inner_ .
2) Conversion de /*iterator*/ < false > vers /*iterator*/ < true > . Initialise le pointeur sous-jacent parent_ avec i. parent_ , et construit par déplacement l'itérateur sous-jacent inner_ avec std::move ( i. inner_ ) .
3) Cet itérateur possède également un constructeur privé qui est utilisé par ranges::adjacent_transform_view::begin et ranges::adjacent_transform_view::end . Ce constructeur n'est pas accessible aux utilisateurs. Il initialise parent_ avec std:: addressof ( parent ) , et construit par déplacement inner_ avec std :: move ( inner ) .

Paramètres

i - un /*iterator*/ < false >
parent - un objet propriétaire de type adjacent_transform_view
inner - un itérateur de type adjacent_transform_view:: inner_iterator

Exemple