Namespaces
Variants

std::experimental::ranges:: Sentinel

From cppreference.net
헤더 파일에 정의됨 <experimental/ranges/iterator>
template < class S, class I >

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

WeaklyEqualityComparableWith < S, I > ;
(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 , s ) i 와 동일한 어떤 반복자를 증가시킨 후에도 계속해서 범위를 나타낼 필요가 없습니다 (따라서 이러한 증가 후에는 i == s 가 잘 정의될 필요가 없습니다).