Namespaces
Variants

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

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

requires Const &&

std:: convertible_to < ranges:: iterator_t < V > , ranges:: iterator_t < Base >> ;
(2) (depuis C++23)
private :

constexpr explicit /*iterator*/ ( ranges:: iterator_t < Base > current,

difference_type pos ) ;
(3) ( exposition uniquement* )

Construisez un itérateur.

1) Constructeur par défaut. Initialise par valeur l'itérateur sous-jacent current_ avec ranges:: iterator_t < Base > ( ) et l'index sous-jacent pos_ avec 0 .
2) Conversion de /*iterator*/ < false > vers /*iterator*/ < true > . Initialise current_ avec std :: move ( i. current_ ) et pos_ avec i. pos_ .
3) Un constructeur privé utilisé par enumerate_view::begin et enumerate_view::end . Ce constructeur n'est pas accessible aux utilisateurs. Initialise current_ avec std :: move ( current ) et pos_ avec pos .

Paramètres

i - un /*iterator*/ < false >

Exemple