Namespaces
Variants

std::ranges::transform_view<V,F>:: iterator <Const>:: iterator

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

requires Const &&

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

Construisez un itérateur.

1) Constructeur par défaut. Initialise par valeur l'itérateur sous-jacent, et initialise le pointeur vers le parent transform_view avec nullptr .
2) Initialise l'itérateur sous-jacent avec std :: move ( current ) , et le pointeur vers le parent avec std:: addressof ( parent ) .
3) Conversion de /*iterator*/ < false > vers /*iterator*/ < true > . Construit par déplacement les membres correspondants.

Paramètres

parent - un (éventuellement qualifié const) std::ranges::transform_view
current - un itérateur sur (éventuellement qualifié const) V
i - un /*iterator*/ < false >

Exemple