std::experimental::ranges:: Sentinel
|
template
<
class
S,
class
I
>
concept
bool
Sentinel
=
|
(ranges TS) | |
Sentinelコンセプトは、
Iterator
型と、値が範囲を示す
Semiregular
型との関係を指定します。
s
と
i
がそれぞれ型
S
と
I
の値であり、
[
i
,
s
)
が範囲を表す場合、
Sentinel<S, I>
は以下の条件を満たす場合にのみ成立します:
- i == s は well-defined です。
-
bool
(
i
!
=
s
)
の場合、
iは dereferenceable であり、[++ i,s)は範囲を表します。
==の定義域は時間とともに変化することがあります。イテレータiとセンチネルsが与えられ、[i,s)が範囲を表し、i!=sであるとき、iと等しい任意のイテレータをインクリメントした後も[i,s)が範囲を表し続けることは要求されません(したがって、そのようなインクリメント後はi==sがwell-definedであることも要求されません)。