std::experimental::ranges::Sentinel
來自 cppreference.com
< cpp | experimental | ranges
| 定義於標頭檔案 <experimental/ranges/iterator> |
||
| 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) 不再需要繼續表示一個範圍。