std::experimental::ranges:: next
|
namespace
{
constexpr
/* 未指定 */
next
=
/* 未指定 */
;
|
(ranges TS)
(定制点对象) |
|
|
调用签名
|
||
|
template
<
Iterator I
>
constexpr I next ( I i ) ; |
(1) | |
|
template
<
Iterator I
>
constexpr I next ( I i, ranges :: difference_type_t < I > n ) ; |
(2) | |
|
template
<
Iterator I, Sentinel
<
I
>
S
>
constexpr I next ( I i, S bound ) ; |
(3) | |
|
template
<
Iterator I, Sentinel
<
I
>
S
>
constexpr I next ( I i, ranges :: difference_type_t < I > n, S bound ) ; |
(4) | |
将迭代器 i 前进 n 次,或直至到达 bound (以先到达者为准),并返回前进后的迭代器。
目录 |
定制点对象
名称
ranges::next
表示一个
定制点对象
,它是一个字面量
Semiregular
类类型(为说明目的记为
NextT
)的
函数对象
。
NextT
的所有实例都是等价的。因此,
ranges::next
可以被自由复制,其副本可以互换使用。
给定一组类型
Args...
,若
std::
declval
<
Args
>
(
)
...
满足上述对
ranges::next
参数的要求,则
NextT
将满足
ranges
::
Invocable
<
const
NextT, Args...
>
。否则,
NextT
的函数调用运算符均不参与重载决议。
在每个定义了
ranges::next
的翻译单元中,它都指向同一个定制点对象实例。(这意味着它可以自由用于内联函数和函数模板等场景,而不会违反
单一定义规则
。)
返回值
高级迭代器。
注释
尽管为重载 (2) 省略 n 时行为等同于将 n 设为1,但为重载 (4) 省略 n 时实际行为等同于将 n 设为无穷大(始终前进至 bound )。
示例
|
本节内容不完整
原因:缺少示例 |
参见
|
(C++11)
|
递增迭代器
(函数模板) |
|
按给定距离推进迭代器
(函数模板) |
|
|
递减迭代器
(函数模板) |
|
|
返回迭代器与哨位之间的距离,或范围起始与末尾之间的距离
(函数模板) |