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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges...view::begin(3)  C++ Standard Libary std::ranges...view::begin(3)

NAME
       std::ranges::slide_view::begin -	std::ranges::slide_view::begin

Synopsis
	  constexpr auto begin()
	      requires	 (!(__simple_view<V>  &&  __slide_caches_nothing<const
       (1) (since C++23)
	  V>));
	  constexpr		 auto		   begin()		 const
       (2) (since C++23)
	      requires __slide_caches_nothing<const V>;

	  Returns an iterator to the first element of the slide_view.

	  1) If	V models __slide_caches_first, equivalent to:

	  return iterator<false>(
		     ranges::begin(base_),
		     ranges::next(ranges::begin(base_),	     n_	     -	    1,
       ranges::end(base_)),
		     n_
		 );

	  Otherwise,   equivalent   to:	  return   iterator<false>(ranges::be-
       gin(base_), n_);.
	  If  V	 models	 __slide_caches_first  this function caches the	result
       within the
	  slide_view::cached_begin_ for	use on subsequent calls. This is  nec-
       essary to provide
	  the amortized	constant-time complexity required by the range.
	  2) Equivalent	to: return iterator<true>(ranges::begin(base_),	n_);.

Parameters
	  (none)

Return value
	  An  iterator to the first element of slide_view, which points	to the
       n_-sized
	  subrange of the possibly const-qualified underlying view type	 V for
       overload	(1)
	  or const V for overload (2).

Example
       // Run this code

	#include <iostream>
	#include <ranges>
	#include <string_view>
	using namespace	std::literals;

	int main()
	{
	    static constexpr auto source = {"x"sv, "y"sv, ""sv,	""sv};
	    auto view{std::ranges::slide_view(source, 2)};
	    const auto subrange{*(view.begin())};
	    for	(std::string_view const	s : subrange)
		std::cout << s << ' ';
	    std::cout << '\n';
	}

Output:
	x y

See also
	  end	     returns an	iterator or a sentinel to the end
	  (C++23)    (public member function)
	  operator== compares  a  sentinel  with  an  iterator	returned  from
       slide_view::begin
	  (C++23)    (function)

http://cppreference.com		  2024.06.10	  std::ranges...view::begin(3)

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

home | help