24 Ranges library [ranges]

24.7 Range adaptors [range.adaptors]

24.7.14 Split view [range.split]

24.7.14.4 Class split_­view​::​sentinel [range.split.sentinel]

namespace std::ranges { template<forward_­range V, forward_­range Pattern> requires view<V> && view<Pattern> && indirectly_­comparable<iterator_t<V>, iterator_t<Pattern>, ranges::equal_to> struct split_view<V, Pattern>::sentinel { private: sentinel_t<V> end_ = sentinel_t<V>(); // exposition only public: sentinel() = default; constexpr explicit sentinel(split_view& parent); friend constexpr bool operator==(const iterator& x, const sentinel& y); }; }
constexpr explicit sentinel(split_view& parent);
Effects: Initializes end_­ with ranges​::​end(parent.base_­).
friend constexpr bool operator==(const iterator& x, const sentinel& y);
Effects: Equivalent to: return x.cur_­ == y.end_­ && !x.trailing_­empty_­;