table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::ranges::zip_view::end(3) | C++ Standard Libary | std::ranges::zip_view::end(3) | 
NAME¶
std::ranges::zip_view::end - std::ranges::zip_view::end
Synopsis¶
 constexpr auto end() (1) (since C++23)
  
   requires (!(/*simple-view*/<Views> && ...);
  
   constexpr auto end() const (2) (since C++23)
  
   requires (ranges::range<const Views> && ...);
  
   template< class... Rs >
  
   concept /*zip-is-common*/ =
  
   (sizeof...(Rs) == 1 && (ranges::common_range<Rs> &&
    ...))
  
   ||
  
   (!(ranges::bidirectional_range<Rs> && ...) &&
    (3) (exposition only*)
  
   (ranges::common_range<Rs> && ...))
  
   ||
  
   ((ranges::random_access_range<Rs> && ...) &&
  
   (ranges::sized_range<Rs> && ...));
  
   Returns a sentinel or an iterator that compares equal to the end iterator of
    the
  
   std::zip_view.
  
   Let views_ denote the underlying tuple of views.
  
   1) Equivalent to:
  
   * return /*sentinel*/<false>(/*tuple-transform*/(ranges::end,
    views_));,
  
   if /*zip-is-common*/<Views...> evaluates to false. Otherwise,
  
   * return begin() +
    std::iter_difference_t</*iterator*/<false>>(size());,
  
   if (ranges::random_access_range<Views> && ...) evaluates to
    true. Otherwise,
  
   * return /*iterator*/<false>(/*tuple-transform*/(ranges::end,
    views_));.
  
   2) Equivalent to:
  
   * return /*sentinel*/<true>(/*tuple-transform*/(ranges::end,
  views_));,
  
   if /*zip-is-common*/<const Views...> evaluates to false. Otherwise,
  
   * return begin() +
    std::iter_difference_t</*iterator*/<true>>(size());,
  
   if ranges::random_access_range<const Views> && ... evaluates to
    true. Otherwise,
  
   * return /*iterator*/<true>(/*tuple-transform*/(ranges::end,
  views_));.
Parameters¶
(none)
Return value¶
An iterator or sentinel representing the end of the zip_view, as described above.
Notes¶
 ranges::range<const ranges::zip_view<Views...>> is
    modeled if and only if for every
  
   type Vi in Views..., const Vi models range.
Example¶
 This section is incomplete
  
   Reason: no example
See also¶
 begin returns an iterator to the beginning
  
   (C++23) (public member function)
  
   ranges::end returns a sentinel indicating the end of a range
  
   (C++20) (customization point object)
Category:¶
* Todo no example
| 2024.06.10 | http://cppreference.com |