iter_move(ranges::enumerate_view::iterator)
From cppreference.com
< cpp | ranges | enumerate view | iterator
| friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* see below */) |
(C++23から) | |
基になるイテレータをcurrent_、基になるインデックスをpos_、基になるシーケンスの(cv修飾されている可能性のある)型をBaseとします。
以下と等価です。
template<class D, class B> using tuple = std::tuple<D, ranges::range_rvalue_reference_t<B>>; return tuple<difference_type, Base>(i.pos_, ranges::iter_move(i.current_));
この関数は、通常の修飾されていないまたは修飾されている検索では表示されず、enumerate_view::iterator<Const> が引数の関連クラスである場合にのみ、引数依存の名前探索によって見つけることができます。
目次 |
[編集] パラメータ
| i | - | iterator |
[編集] 戻り値
インデックスと、格納されているイテレータにranges::iter_move を適用した結果を含むタプル。
[編集] 例外
noexcept 指定:
noexcept(
noexcept(ranges::iter_move(i.current_)) および
std::is_nothrow_move_constructible_v<
ranges::range_rvalue_reference_t<Base>>
[編集] 関連項目
| (C++20) |
オブジェクトの間接参照の結果を、その関連する右辺値参照型にキャストする (カスタマイゼーションポイントオブジェクト) |