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

NAME
     std::ranges::drop_while_view::begin - std::ranges::drop_while_view::begin

Synopsis
	constexpr auto begin();  (since C++20)

	Returns an iterator to the first element of the view.

	Effectively returns ranges::find_if_not(base_, std::cref(pred())), where
     base_ is
	the underlying view. The behavior is undefined if *this does not store a
     predicate.

	In  order  to provide the amortized constant time complexity required by
     the range
	concept, this function caches the result within the drop_while_view  ob-
     ject for use
	on subsequent calls.

Parameters
	(none)

Return value
	Iterator to the first element of the view.

Example
     // Run this code

      #include <array>
      #include <iostream>
      #include <ranges>

      int main()
      {
	  constexpr std::array data{ 0, -1, -2, 3, 1, 4, 1, 5 };

	  auto view = std::ranges::drop_while_view{
	      data, [](int x) { return x <= 0; }
	  };

	  std::cout << *view.begin() << '\n';
      }

Output:
      3

See also
	end	returns an iterator or a sentinel to the end
	(C++20) (public member function)

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

home | help