operator+,-(ranges::stride_view::iterator)
ja.cppreference.net から
friend constexpr /*iterator*/
operator+( const /*iterator*/& i, difference_type n )
requires ranges::random_access_range<Base>;
|
(1) | (C++23以上) |
friend constexpr /*iterator*/
operator+( difference_type n, const /*iterator*/& i )
requires ranges::random_access_range<Base>;
|
(2) | (C++23以上) |
friend constexpr /*iterator*/
operator-( const /*iterator*/& i, difference_type n )
requires ranges::random_access_range<Base>;
|
(3) | (C++23以上) |
friend constexpr difference_type
operator-( const /*iterator*/& x, const /*iterator*/& y )
requires std::sized_sentinel_for<ranges::iterator_t<Base>,
ranges::iterator_t<Base>>;
|
(4) | (C++23以上) |
friend constexpr difference_type
operator-( std::default_sentinel_t, const /*iterator*/& x )
requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
ranges::iterator_t<Base>>;
|
(5) | (C++23以上) |
friend constexpr difference_type
operator-( const /*iterator*/& x, std::default_sentinel_t s )
requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
ranges::iterator_t<Base>>;
|
(6) | (C++23以上) |
イテレータをインクリメントまたはデクリメントします。
current_、end_、stride_、missing_をイテレータのデータメンバとします。
1,2)以下と同等:
auto r = i; r += n; return r;.3)以下と同等:
auto r = i; r -= n; return r;.4)
Nを x.current_ - y.current_とします。以下を返します:
(N + x.missing_ - y.missing_) / x.stride_、ただしBaseが forward_rangeをモデル化する場合。-/*div-ceil*/(-N, x.stride_)、ただしN < 0の場合。/*div-ceil*/(N, x.stride_)それ以外の場合。
5)以下と同等:
return /*div-ceil*/(x.end_ - x.current_, x.stride_);.6)以下と同等:
return -(s - x);.これらの関数は、通常の名前修飾なしまたは名前修飾ありの名前探索では可視ではなく、引数依存の名前探索によってのみ見つけることができます。ただし、stride_view::iterator<Const>が引数の関連クラスである場合に限ります。
パラメータ
| x, y, i | - | the iterators |
| s | - | a sentinel |
戻り値
1,2)
インクリメントされたイテレータ
3)
デクリメントされたイテレータ
4)
指定されたイテレータ間の距離
5,6)
指定されたイテレータとセンチネル間の距離
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
基となるイテレータを進めるまたは戻す
(公開メンバ関数) |