Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
friend constexpr /* 迭代器 */

operator + ( const /* 迭代器 */ & i, difference_type n )

requires ranges:: random_access_range < /* Base */ > ;
(1) (C++23 起)
friend constexpr /* 迭代器 */

operator + ( difference_type n, const /* 迭代器 */ & i )

requires ranges:: random_access_range < /* Base */ > ;
(2) (C++23 起)
friend constexpr /* 迭代器 */

operator - ( const /* 迭代器 */ & i, difference_type n )

requires ranges:: random_access_range < /* Base */ > ;
(3) (C++23 起)
friend constexpr difference_type
operator - ( const /* 迭代器 */ & i, const /* 迭代器 */ & j ) noexcept ;
(4) (C++23 起)

执行 迭代器 运算或计算距离。

pos_ 是底层索引,而 Base 是底层视图的(可能带有 const 限定符的)类型。

相当于:

1) auto temp = i ; temp + = n ; return temp ;
2) return i + n ;
3) auto temp = i ; temp - = n ; return temp ;
4) return i. pos_ - j. pos_ ;

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

目录

参数

i, j - 迭代器
n - 相对于当前位置的偏移量

返回值

1,2) 递增后的迭代器。
3) 一个递减后的迭代器。
4) 给定迭代器之间的距离。

示例

缺陷报告

下列行为变更缺陷报告被追溯应用于先前发布的C++标准。

缺陷报告 适用范围 发布时行为 正确行为
LWG 3912 C++23 重载 (4) 未声明为 noexcept 应声明为 noexcept

参见

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