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::adjacent_view::begin - std::ranges::adjacent_view::begin

Synopsis
	  constexpr  auto  begin()  requires (!__SimpleView<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 adjacent_view.

	  Let base_ be the underlying view.

	  1) Equivalent	to return /*iterator*/<false>(ranges::begin(base_),
	  ranges::end(base_));.
	  2) Equivalent	to return /*iterator*/<true>(ranges::begin(base_),
	  ranges::end(base_));.

Parameters
	  (none)

Return value
	  Iterator to the first	element.

Example
       // Run this code

	#include <ranges>
	#include <tuple>
	#include <type_traits>

	int main()
	{
	    constexpr static auto v = {'A', 'B', 'C', 'D', 'E'};

	    constexpr auto view	= std::views::adjacent<3>(v);

	    constexpr auto tuple = *view.begin();

	    static_assert
	    (
		std::is_same_v
		<
		    decltype(tuple),
		    const std::tuple<char const&, char const&, char const&>
		>
	    );

	    static_assert
	    (
		std::get<0>(tuple) == 'A' &&
		std::get<1>(tuple) == 'B' &&
		std::get<2>(tuple) == 'C'
	    );
	}

See also
	  end		returns	an iterator or a sentinel to the end
	  (C++23)	(public	member function)
	  ranges::begin	returns	an iterator to the beginning of	a range
	  (C++20)	(customization point object)

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::adjacent_view::begin&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help