Namespaces
Variants

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

ja.cppreference.net から
 
 
Ranges ライブラリ
範囲アダプタ
 
 
/*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 のイテレータ

例