namespace std::ranges {
  template<forward_range V>
    requires view<V>
  class slide_view<V>::sentinel {
    sentinel_t<V> end_ = sentinel_t<V>();             
    constexpr explicit sentinel(sentinel_t<V> end);   
  public:
    sentinel() = default;
    friend constexpr bool operator==(const iterator<false>& x, const sentinel& y);
    friend constexpr range_difference_t<V>
      operator-(const iterator<false>& x, const sentinel& y)
        requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
    friend constexpr range_difference_t<V>
      operator-(const sentinel& y, const iterator<false>& x)
        requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
  };
}
 constexpr explicit sentinel(sentinel_t<V> end);
Effects: Initializes 
end_ with 
end. friend constexpr bool operator==(const iterator<false>& x, const sentinel& y);
Returns: 
x.last_ele_ == y.end_. friend constexpr range_difference_t<V>
  operator-(const iterator<false>& x, const sentinel& y)
    requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
Returns: 
x.last_ele_ - y.end_. friend constexpr range_difference_t<V>
  operator-(const sentinel& y, const iterator<false>& x)
    requires sized_sentinel_for<sentinel_t<V>, iterator_t<V>>;
Returns: 
y.end_ - x.last_ele_.