名稱空間
變體
操作

operator+,-(ranges::stride_view::iterator)

來自 cppreference.com
< cpp‎ | ranges‎ | stride view‎ | iterator
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
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)Nx.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 - 迭代器
s - 一個哨兵

[編輯] 返回值

1,2) 遞增後的迭代器
3) 遞減後的迭代器
4) 給定迭代器之間的距離
5,6) 給定迭代器和哨兵之間的距離

[編輯] 示例

[編輯] 參閱

前進或後退底層迭代器
(public member function) [編輯]