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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::ranges::drop_while_view::base - std::ranges::drop_while_view::base

Synopsis
	  constexpr  V	base() const& requires std::copy_constructible<V>; (1)
       (since C++20)
	  constexpr V base()  &&;					   (2)
       (since C++20)

	  Returns a copy of the	underlying view.

	  1) Copy constructs the result	from the underlying view.
	  2) Move constructs the result	from the underlying view.

Parameters
	  (none)

Return value
	  A copy of the	underlying view.

Example
       // Run this code

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

	void print(auto	first, auto last) {
	    for	(; first != last; ++first)
		std::cout << *first << ' ';
	    std::cout << '\n';
	}

	int main()
	{
	    std::array data{ 1,	2, 3, 4, 5 };
	    print(data.cbegin(), data.cend());

	    auto func =	[](int x) { return x < 3; };
	    auto view =	std::ranges::drop_while_view{ data, func };
	    print(view.begin(),	view.end());

	    auto base =	view.base(); //	`base` refers to the `data`
	    std::ranges::reverse(base);	//< changes `data` indirectly
	    print(data.cbegin(), data.cend());
	}

Output:
	1 2 3 4	5
	3 4 5
	5 4 3 2	1

http://cppreference.com		  2022.07.31	  std::ranges..._view::base(3)

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

home | help