C++ 参考手册

位置:首页 > > std::experimental::ranges::Sentinel

定义于头文件 <experimental/ranges/iterator>
template < class S, class I >

concept bool Sentinel =
  ranges::Semiregular<S> && ranges::Iterator<I> &&

  ranges::WeaklyEqualityComparableWith<S, I>;
(范围 TS)

Sentinel 概念描述其值代表范围的 Iterator 类型与 Semiregular 类型间的关系。

si 分别表示 SI 类型的值,使得 [i, s) 代表范围。 Sentinel<S, I> 仅若下列条件成立才得到满足:

  • i == s 为良定义。
  • bool(i != s)i 可解引用且 [++i, s) 代表范围。

== 能随时间而更改。给定迭代器 i 和哨位 s 并使得 [i, s) 代表范围且 i != s ,不要求自增任何等于 i 的迭代器后 [i, s) 继续代表范围(从而这种自增后不再要求 i == s 是良定义的)。