[range.split.sentinel] (original) (raw)

25 Ranges library [ranges]

25.7 Range adaptors [range.adaptors]

25.7.17 Split view [range.split]

25.7.17.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>(); 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_;