Namespaces
Variants

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

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

requires Const &&

std:: convertible_to < /*inner-iterator*/ < false > , /*inner-iterator*/ < Const >> ;
(2) (C++23以降)
private :
constexpr /*iterator*/ ( Parent & parent, /*inner-iterator*/ < Const > inner ) ;
(3) ( 説明専用* )

イテレータを構築します。

1) デフォルトコンストラクタ。 値初期化 により基底ポインタ parent_ nullptr で初期化し、 デフォルト初期化 により基底イテレータ inner_ を初期化する。
2) /*iterator*/ < false > から /*iterator*/ < true > への変換。基底ポインタ parent_ i. parent_ で初期化し、基底イテレータ inner_ std::move ( i. inner_ ) でムーブ構築する。
3) このイテレータは、プライベートコンストラクタも持ちます。これは ranges::adjacent_transform_view::begin および ranges::adjacent_transform_view::end によって使用されます。このコンストラクタはユーザーからはアクセスできません。 parent_ std:: addressof ( parent ) で初期化し、 inner_ std :: move ( inner ) でムーブ構築します。

パラメータ

i - an /*iterator*/ < false >
parent - adjacent_transform_view の所有オブジェクト
inner - adjacent_transform_view:: inner_iterator のイテレータ