Files
2025-10-25 03:02:53 +03:00

3.3 KiB
Raw Permalink Blame History

[range.slide.sentinel]

25 Ranges library [ranges]

25.7 Range adaptors [range.adaptors]

25.7.30 Slide view [range.slide]

25.7.30.4 Class slide_view::sentinel [range.slide.sentinel]

🔗

namespace std::ranges {template<forward_range V>requires viewclass slide_view::sentinel { sentinel_t end_ = sentinel_t(); // exposition onlyconstexpr explicit sentinel(sentinel_t end); // exposition onlypublic:sentinel() = default; friend constexpr bool operator==(const iterator& x, const sentinel& y); friend constexpr range_difference_toperator-(const iterator& x, const sentinel& y)requires sized_sentinel_for<sentinel_t, iterator_t>; friend constexpr range_difference_toperator-(const sentinel& y, const iterator& x)requires sized_sentinel_for<sentinel_t, iterator_t>; };}

1

#

[Note 1:

sentinel is used only when slide-caches-first is true.

— end note]

🔗

constexpr explicit sentinel(sentinel_t<V> end);

2

#

Effects: Initializes end_ with end.

🔗

friend constexpr bool operator==(const iterator<false>& x, const sentinel& y);

3

#

Returns: x.last_ele_ == y.end_.

🔗

friend constexpr range_difference_t<V> operator-(const iterator<false>& x, const sentinel& y) requires [sized_sentinel_for](iterator.concept.sizedsentinel#concept:sized_sentinel_for "24.3.4.8Concept sized_­sentinel_­for[iterator.concept.sizedsentinel]")<sentinel_t<V>, iterator_t<V>>;

4

#

Returns: x.last_ele_ - y.end_.

🔗

friend constexpr range_difference_t<V> operator-(const sentinel& y, const iterator<false>& x) requires [sized_sentinel_for](iterator.concept.sizedsentinel#concept:sized_sentinel_for "24.3.4.8Concept sized_­sentinel_­for[iterator.concept.sizedsentinel]")<sentinel_t<V>, iterator_t<V>>;

5

#

Returns: y.end_ - x.last_ele_.