Namespaces
Variants

std::experimental::ranges:: Sentinel

From cppreference.net
Défini dans l'en-tête <experimental/ranges/iterator>
template < class S, class I >

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

WeaklyEqualityComparableWith < S, I > ;
(ranges TS)

Le concept Sentinel spécifie la relation entre un type Iterator et un type Semiregular dont les valeurs dénotent un intervalle.

Soient s et i des valeurs de type S et I , respectivement, telles que [ i , s ) dénote un intervalle. Sentinel<S, I> est satisfait seulement si :

  • i == s est bien défini.
  • Si bool ( i ! = s ) alors i est déréférençable et [ ++ i , s ) dénote un intervalle.

Le domaine de == peut changer au fil du temps. Étant donné un itérateur i et un sentinelle s tels que [ i , s ) dénote un intervalle et i ! = s , [ i , s ) n'est pas requis de continuer à dénoter un intervalle après incrémentation de tout itérateur égal à i (et donc i == s n'est plus requis d'être bien défini après une telle incrémentation).