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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges..._view::begin(3) C++ Standard Libarystd::ranges..._view::begin(3)

NAME
       std::ranges::stride_view::begin - std::ranges::stride_view::begin

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

	  Returns an iterator to the first element of the stride_view.

	  1)	Equivalent   to	  return   iterator<false>(this,   ranges::be-
       gin(base_));.
	  2) Equivalent	to return iterator<true>(this, ranges::begin(base_));.

	  Overload (1) does not	participate in overload	resolution if V	 is  a
       simple view (that
	  is,  if  V and const V are views with	the same iterator and sentinel
       types).

Parameters
	  (none)

Return value
	  Iterator to the first	element	of the view.

Example
	  A link to test: Compiler Explorer.

       // Run this code

	#include <print>
	#include <ranges>

	int main()
	{
	    constexpr auto v = {'A', 'B', 'C'};
	    const auto x = v | std::views::stride(2);
	    const auto y = v | std::views::reverse | std::views::stride(2);
	    const auto z = v | std::views::stride(2) | std::views::reverse;
	    std::println("{} {}	{}", *x.begin(), *y.begin(), *z.begin());
	}

Output:
	A C C

See also
	  end	  returns an iterator or a sentinel to the end
	  (C++23) (public member 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::stride_view::begin&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help