Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
friend constexpr /*iterator*/

operator + ( const /*iterator*/ & it, difference_type n )

requires /*concat-is-random-access*/ < Const, Views... > ;
(1) (自 C++26 起)
friend constexpr /*iterator*/

operator + ( difference_type n, const /*iterator*/ & it )

requires /*concat-is-random-access*/ < Const, Views... > ;
(2) (自 C++26 起)
friend constexpr /*iterator*/

operator - ( const /*iterator*/ & it, difference_type n )

requires /*concat-is-random-access*/ < Const, Views... > ;
(3) (自 C++26 起)
friend constexpr difference_type

operator - ( const /*iterator*/ & x, const /*iterator*/ & y )

requires /*concat-is-random-access*/ < Const, Views... > ;
(4) (自 C++26 起)
friend constexpr difference_type

operator - ( const /*iterator*/ & x, std:: default_sentinel_t )

requires /* 见说明 */ ;
(5) (自 C++26 起)
friend constexpr difference_type

operator - ( std:: default_sentinel_t , const /*iterator*/ & x )

requires /* 见说明 */ ;
(6) (自 C++26 起)

递增或递减 迭代器

1) 等价于 auto t = it ; t + = n ; return t ;
2) 等价于 return it + n ;
3) 等价于 auto t = it ; t - = n ; return t ;
4) Ix x. it_  . index ( ) Iy y. it_  . index ( )
如果 x. it_  . valueless_by_exception ( ) || y. it_  . valueless_by_exception ( ) true ,则行为未定义。
5) Ix x. it_  . index ( ) ,等价于 difference_type result = ranges:: distance ( x. get-iter  < Ix > ( ) , x. get-end  < Ix > ( ) ) ;
for ( std:: size_t I = Ix + 1 , count = sizeof... ( Views ) ; I < count ; I ++ )
result + = ranges:: distance ( x. get-view  < I > ( ) ) ;
return - result ;
Fs 为包含 Views 中除首元素外所有元素的包,则 requires 子句中的表达式等价于

( std:: sized_sentinel_for < ranges:: sentinel_t < maybe-const  < Const, Views >> ,
ranges:: iterator_t < maybe-const  < Const, Views >>> && ... ) &&
( ranges:: sized_range < maybe-const  < Const, Fs >> && ... )

如果 x. it_  . valueless_by_exception ( ) true ,则行为未定义。
6) 等价于 return - ( x - std:: default_sentinel ) ;
Fs 为包含 Views 除首元素外所有元素的包, requires 子句中的表达式等价于

( std:: sized_sentinel_for < ranges:: sentinel_t < maybe-const  < Const, Views >> ,
ranges:: iterator_t < maybe-const  < Const, Views >>> && ... ) &&
( ranges:: sized_range < maybe-const  < Const, Fs >> && ... )

如果 x. it_  . valueless_by_exception ( ) true ,则行为未定义。

这些函数对普通的 非限定查找 限定查找 不可见,仅当 concat_view:: iterator <Const> 作为参数的关联类时,才能通过 实参依赖查找 找到。

目录

参数

it, x, y - 迭代器
n - 相对于当前位置的偏移量

返回值

如上所述。

示例

参见

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