Namespaces
Variants

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

ja.cppreference.net より
 
 
範囲ライブラリ
範囲アダプタ
 
 
/*iterator*/();
(1) (C++23以上)
constexpr /*iterator*/( /*iterator*/<!Const> i )
    requires Const &&
        std::convertible_to<ranges::iterator_t<V>, ranges::iterator_t<Base>>
(2) (C++23以上)
private:
constexpr /*iterator*/( ranges::iterator_t<Base> current,
                        ranges::range_difference_t<Base> n )
    requires (!/*slide-caches-first*/<Base>);
(3) (説明専用*)
private:
constexpr /*iterator*/( ranges::iterator_t<Base> current,
                        ranges::iterator_t<Base> last_ele,
                        ranges::range_difference_t<Base> n )
    requires /*slide-caches-first*/<Base>;
(4) (説明専用*)

イテレータを構築する。

1) デフォルトコンストラクタ。基礎となるデータメンバを値初期化する:
  • current_ を ranges::iterator_t<Base>() で,
  • last_ele_ を ranges::iterator_t<Base>() で (このメンバは存在しない場合があることに注意),
  • n_ を 0 で初期化する。
2) /*iterator*/<false> から /*iterator*/<true> への変換。基礎となるデータメンバを以下のように初期化する:
  • current_ を std::move(i.current_) で,
  • n_ を i.n_ で初期化する。
なお、/*iterator*/<true> は Base が /*slide-caches-nothing*/ をモデル化する場合にのみ形成できる。その場合、last_ele_ は存在しない。
3) ranges::slide_view::begin および ranges::slide_view::end によって使用されるプライベートコンストラクタ。このコンストラクタはユーザからアクセスできない。基礎となるデータメンバを以下のように初期化する:
  • current_ を current で,
  • n_ を n で初期化する。
なお、このオーバーロードは last_ele_ が存在しない場合にのみ存在できる。
4) ranges::slide_view::begin および ranges::slide_view::end によって使用されるプライベートコンストラクタ。このコンストラクタはユーザからアクセスできない。基礎となるデータメンバを以下のように初期化する:
  • current_ を current で,
  • last_ele_ を last_ele で (このデータメンバは /*slide-caches-first*/<Base> 要件により存在することに注意),
  • n_ を n で初期化する。

パラメータ

i - イテレータ /*iterator*/ < false >
current - slide_viewの現在要素へのイテレータ
last_ele - slide_viewの最終要素へのイテレータ
n - slide_viewのスライドウィンドウ幅

例