home | help
std::ranges...e_view::end(3)   C++ Standard Libary  std::ranges...e_view::end(3)

NAME
     std::ranges::enumerate_view::end - std::ranges::enumerate_view::end

Synopsis
	constexpr  auto  end() requires (!__simple_view<V>);		     (1)
     (since C++23)
	constexpr auto end() const  requires				     (2)
     (since C++23)
	/*range-with-movable-references*/<const V>;

	Returns  an iterator or a sentinel that compares equal to the end itera-
     tor of the
	enumerate_view.

	Let base_ denote the underlying view.

	1) Equivalent to:

      if constexpr (ranges::forward_range<V> and
		    ranges::common_range<V>  and
		    ranges::sized_range<V>)
	  return      /*iterator*/<false>(ranges::end(base_),	    ranges::dis-
     tance(base_));
      else
	  return /*sentinel*/<false>(ranges::end(base_));

	2) Equivalent to:

      if constexpr (ranges::forward_range<const V> and
		    ranges::common_range<const V>  and
		    ranges::sized_range<const V>)
	  return       /*iterator*/<true>(ranges::end(base_),	    ranges::dis-
     tance(base_));
      else
	  return /*sentinel*/<true>(ranges::end(base_));

Parameters
	(none)

Return value
	An iterator or a sentinel representing the end of the enumerate_view, as
     described
	above.

Example
	 This section is incomplete
	 Reason: no example

	Defect reports

	The following behavior-changing defect	reports  were  applied	retroac-
     tively to
	previously published C++ standards.

	   DR	  Applied  to	      Behavior as published		 Correct
     behavior
			    ranges::distance may invoke UB for	   sentinel type
     is returned
	LWG 3919  C++23       sized  common			       for  such
     ranges
			    non-forward underlying ranges

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...e_view::end(3)

home | help