Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::ranges::zip_view::end(3) C++ Standard Libarystd::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 it-
       erator 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</*itera-
       tor*/<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</*itera-
       tor*/<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 de-
       scribed 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

http://cppreference.com		  2024.06.10	 std::ranges::zip_view::end(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::ranges::zip_view::end&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help