table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::ranges::slide_view::end(3) | C++ Standard Libary | std::ranges::slide_view::end(3) | 
NAME¶
std::ranges::slide_view::end - std::ranges::slide_view::end
Synopsis¶
 constexpr auto end()
  
   requires (!(__simple_view<V> && __slide_caches_nothing<const
    (1) (since C++23)
  
   V>));
  
   constexpr auto end() const (2) (since C++23)
  
   requires __slide_caches_nothing<const V>;
  
   Returns a sentinel or an iterator representing the end of the slide_view.
  
   1) Let base_ and n_ be the underlying data members. Equivalent to:
  
   * If V models __slide_caches_nothing, return
    iterator<false>(ranges::begin(base_)
  
   + ranges::range_difference_t<V>(size()), n_);.
  
   * Otherwise, if V models __slide_caches_last, return
  
   iterator<false>(ranges::prev(ranges::end(base_), n_ - 1,
    ranges::begin(base_)),
  
   n_);.
  
   * Otherwise, if V models common_range, return
    iterator<false>(ranges::end(base_),
  
   ranges::end(base_), n_);.
  
   * Otherwise, return sentinel(ranges::end(base_));.
  
   If V models __slide_caches_last, this function caches the result within the
  
   slide_view::cached_end_ for use on subsequent calls. This is necessary to
    provide
  
   the amortized constant-time complexity required by the range.
  
   2) Equivalent to begin() + ranges::range_difference_t<const
  V>(size()).
Parameters¶
(none)
Return value¶
A sentinel or an iterator representing the end of the slide_view.
Example¶
// Run this code
  
   #include <iostream>
  
   #include <ranges>
  
   int main()
  
   {
  
   static constexpr auto source = {'A', 'B', 'C', 'D'};
  
   for (const auto subrange: source | std::views::slide(3))
  
   {
  
   std::cout << "[ ";
  
   for (auto it = subrange.begin(); it != subrange.end(); ++it)
  
   std::cout << *it << ' ';
  
   std::cout << "]\n";
  
   }
  
   }
Output:¶
 [ A B C ]
  
   [ B C D ]
See also¶
 begin returns an iterator to the beginning
  
   (C++23) (public member function)
  
   ranges::begin returns an iterator to the beginning of a range
  
   (C++20) (customization point object)
  
   ranges::end returns a sentinel indicating the end of a range
  
   (C++20) (customization point object)
| 2024.06.10 | http://cppreference.com |