Namespaces
Variants

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

From cppreference.net
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) 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 - 迭代器
s - 哨位

返回值

1,2) 递增后的迭代器
3) 一个递减后的迭代器
4) 给定迭代器之间的距离
5,6) 给定迭代器与哨位之间的距离

示例

参见

前进或后退底层迭代器
(公开成员函数)