Namespaces
Variants

std::ranges::slide_view<V>::iterator<Const>::operator++,--,+=,-=

ja.cppreference.net より
 
 
範囲ライブラリ
範囲アダプタ
 
 
constexpr /*iterator*/& operator++();
(1) (C++23以上)
constexpr /*iterator*/ operator++( int );
(2) (C++23以上)
constexpr /*iterator*/& operator--()
    requires ranges::bidirectional_range<Base>;
(3) (C++23以上)
constexpr /*iterator*/ operator--( int )
    requires ranges::bidirectional_range<Base>;
(4) (C++23以上)
constexpr /*iterator*/& operator+=( difference_type n )
    requires ranges::random_access_range<Base>;
(5) (C++23以上)
constexpr /*iterator*/& operator-=( difference_type n )
    requires ranges::random_access_range<Base>;
(6) (C++23以上)

iterator を進めるか、戻します。

current_ および last_ele_ を、スライディングウィンドウの先頭と末尾を指すベースとなるイテレータとします。

1) 以下と同等:
current_ = ranges::next(current_);
last_ele_ = ranges::next(last_ele_); // if last_ele_ is present
return *this;
呼び出し前において、current_ と(存在する場合)last_ele_ はインクリメント可能でなければなりません。
2) 以下と同等: auto tmp = *this; ++*this; return tmp;
3) 以下と同等:
current_ = ranges::prev(current_);
last_ele_ = ranges::prev(last_ele_); // if last_ele_ is present
return *this;
呼び出し前において、current_ と(存在する場合)last_ele_ はデクリメント可能でなければなりません。
4) 以下と同等: auto tmp = *this; --*this; return tmp;
5) 以下と同等:
current_ = current_ + n;
last_ele_ = last_ele_ + n; // if last_ele_ is present
return *this;
呼び出し前において、式 current_ + n と(last_ele_ + n が存在する場合)式 last_ele_ は明確に定義された動作を持たなければなりません。
6) 以下と同等:
current_ = current_ - n;
last_ele_ = last_ele_ - n; // if last_ele_ is present
return *this;
呼び出し前において、式 current_ - n と(last_ele_ - n が存在する場合)式 last_ele_ は明確に定義された動作を持たなければなりません。

パラメータ

n - 現在位置からの相対位置

戻り値

1,3,5,6) * this
2,4) 変更前に行われた * this のコピー

例

関連項目

イテレータ演算を実行する
(関数)