Namespaces
Variants

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

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

erfordert Const &&

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

Konstruiere einen Iterator.

1) Standardkonstruktor. Wertinitialisiert den zugrundeliegenden Iterator und initialisiert den Zeiger auf das übergeordnete transform_view mit nullptr .
2) Initialisiert den zugrundeliegenden Iterator mit std :: move ( current ) , und den Zeiger auf das übergeordnete Element mit std:: addressof ( parent ) .
3) Konvertierung von /*iterator*/ < false > zu /*iterator*/ < true > . Move-Konstruktion entsprechender Member.

Parameter

parent - eine (möglicherweise const-qualifizierte) std::ranges::transform_view
current - ein Iterator in (möglicherweise const-qualifiziertes) V
i - ein /*iterator*/ < false >

Beispiel