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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges...de_view::end(3) C++ Standard Libarystd::ranges...de_view::end(3)

NAME
       std::ranges::stride_view::end - std::ranges::stride_view::end

Synopsis
	  constexpr   auto  end()  requires  (!__simple_view<V>);	   (1)
       (since C++23)
	  constexpr auto  end()	 const	requires  ranges::range<const  V>  (2)
       (since C++23)

	  Returns  an  iterator	 or  a	sentinel  representing	the end	of the
       stride_view.

	  Let base_ and	stride_	be the underlying data members.

	  1) Let Const be defined as using Const = false; and  Base  as	 using
       Base = V;.
	  2)  Let  Const  be  defined as using Const = true; and Base as using
       Base = const V;.

	  Equivalent to:

	if constexpr (ranges::common_range<Base> &&
		      ranges::sized_range<Base>	&&
		      ranges::forward_range<Base>)
	{
	    auto missing = (stride_ -  ranges::distance(base_)	%  stride_)  %
       stride_;
	    return iterator<Const>(this, ranges::end(base_), missing);
	}
	else if	constexpr (ranges::common_range<Base> &&
			   !ranges::bidirectional_range<Base>)
	{
	    return iterator<Const>(this, ranges::end(base_));
	}
	else
	{
	    return std::default_sentinel;
	}

Parameters
	  (none)

Return value
	  An iterator to the element following the last	element, if the	under-
       lying view V
	  models common_range. Otherwise, the std::default_sentinel which com-
       pares equal to
	  the end iterator.

Notes
	  stride_view<V>  models  common_range	whenever the underlying	view V
       does.

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

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

home | help