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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges...on_view::end(3) C++ Standard Libarystd::ranges...on_view::end(3)

NAME
       std::ranges::common_view::end - std::ranges::common_view::end

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

	  1) Returns an	iterator representing the end of the common_view, that
       is:
	    * ranges::begin(base_) + ranges::size(base_), if both
	      ranges::random_access_range<V>  and  ranges::sized_range<V>  are
       satisfied,
	    * std::common_iterator<ranges::iterator_t<V>,
	      ranges::sentinel_t<V>>(ranges::end(base_)) otherwise.
	  Here base_ (the name is for exposition purposes only)	is the	under-
       lying view.
	  2) Same as (1), but V	is const-qualified.

Parameters
	  (none)

Return value
	  An iterator representing the end of the underlying view.

Example
       // Run this code

	#include <iostream>
	#include <numeric>
	#include <ranges>

	int main()
	{
	    constexpr int n{4};

	    constexpr auto v1 =	std::views::iota(1)
			      |	std::views::take(n)
			      |	std::views::common
			      ;
	    constexpr auto v2 =	std::views::iota(2)
			      |	std::views::take(n)
			      ;
	    const int product =	std::inner_product(v1.begin(), v1.end(),
						   v2.begin(),
						   0);
	    std::cout << product << '\n';
	}

Output:
	40

	  Defect reports

	  The following	behavior-changing defect reports were applied retroac-
       tively to
	  previously published C++ standards.

	     DR	   Applied to		 Behavior as published		  Cor-
       rect behavior
	  LWG  4012  C++20	 non-const  overload  missed simple-view check
       added

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

http://cppreference.com		  2024.06.10	 std::ranges...on_view::end(3)

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

home | help