std::experimental::ranges::Sentinel
Von cppreference.com
< cpp | experimental | ranges
| Definiert in Header <experimental/ranges/iterator> |
||
| template< class S, class I > concept bool Sentinel = |
(Ranges TS) | |
Das Sentinel-Konzept spezifiziert die Beziehung zwischen einem Iterator-Typ und einem Semiregular-Typ, deren Werte einen Bereich bezeichnen.
Seien s und i Werte vom Typ S bzw. I, so dass [i, s) einen Bereich bezeichnet. Sentinel<S, I> ist nur erfüllt, wenn
- i == s wohl-definiert ist.
- Wenn bool(i != s), dann ist
idereferenzierbar und[++i,s)bezeichnet einen Bereich.
Die Domäne von == kann sich im Laufe der Zeit ändern. Gegeben einem Iterator i und einem Sentinel s, so dass [i, s) einen Bereich bezeichnet und i != s, ist es nicht erforderlich, dass [i, s) nach dem Inkrementieren eines beliebigen zu i gleichen Iterators weiterhin einen Bereich bezeichnet (und somit ist i == s nach einem solchen Inkrement nicht mehr erforderlich wohl-definiert zu sein).