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

NAME
     std::ranges::adjacent_transform_view::begin  - std::ranges::adjacent_trans-
     form_view::begin

Synopsis
	constexpr  auto  begin();					     (1)
     (since C++23)
	constexpr auto begin() const

	    requires  ranges::range<const  InnerView>  &&		     (2)
     (since C++23)
		std::regular_invocable<const F&,

		    __REPEAT(ranges::range_reference_t<const V>, N)...>;

	Returns an iterator to the first element of the adjacent_transform_view.

	Let inner_ be the underlying ranges::adjacent_view.

	1) Equivalent to return /*iterator*/<false>(*this, inner_.begin());.
	2) Equivalent to return /*iterator*/<true>(*this, inner_.begin());.

Parameters
	(none)

Return value
	Iterator to the first element.

Example
     // Run this code

      #include <ranges>

      int main()
      {
	  auto sum = [](auto... args) { return (... + args); };

	  constexpr auto view = std::views::iota(13, 1337)
			      | std::views::adjacent_transform<3>(sum);

	  static_assert(*view.begin() == 42 and 42 == 13 + 14 + 15);
      }

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)

home | help