std::experimental::ranges::Sentinel
来自 cppreference.cn
< cpp | experimental | ranges
template< class S, class I > concept bool Sentinel = |
(ranges TS) | |
Sentinel
概念指定了 Iterator
类型与 Semiregular
类型之间的关系,后者的值表示一个范围。
设 s
和 i
分别为 S
和 I
类型的值,使得 [
i,
s)
表示一个范围。只有当满足以下条件时,Sentinel<S, I>
才成立:
- i == s 是良定义的。
- 如果 bool(i != s) 则
i
是可解引用的,且[
++i,
s)
表示一个范围。
==
的域可以随时间变化。给定一个迭代器 i
和哨位 s
,使得 [
i,
s)
表示一个范围且 i != s,在递增任何等于 i
的迭代器后,[
i,
s)
不要求继续表示一个范围(因此在这种递增之后,不再要求 i == s 是良定义的)。