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

FreeBSD Manual Pages

  
 
  

home | help
std::span::last(3)	      C++ Standard Libary	    std::span::last(3)

NAME
       std::span::last - std::span::last

Synopsis
	  template<		 std::size_t		  Count		     >
       (1) (since C++20)
	  constexpr std::span<element_type, Count> last() const;
	  constexpr   std::span<element_type,	 std::dynamic_extent>	 last(
       (2) (since C++20)
	  size_type Count ) const;

	  Obtains  a  span that	is a view over the last	Count elements of this
       span. The program
	  is ill-formed	if Count > Extent. The behavior	is undefined if	 Count
       > size().

Return value
	  A  span r that is a view over	the last Count elements	of *this, such
       that r.data() ==
	  this->data() + (this->size() - Count)	&& r.size() == Count.

Example
       // Run this code

	#include <iostream>
	#include <span>
	#include <string_view>

	void println(std::string_view const title, auto	const& container)
	{
	    std::cout << title << '[' << std::size(container) << "]{ ";
	    for	(auto const& elem : container)
		std::cout << elem << ",	";
	    std::cout << "};\n";
	};

	void run(std::span<const int> span)
	{
	    println("span: ", span);

	    std::span<const int, 3> span_last =	span.last<3>();
	    println("span.last<3>(): ",	span_last);

	    std::span<const  int,  std::dynamic_extent>	 span_last_dynamic   =
       span.last(2);
	    println("span.last(2): ", span_last_dynamic);
	}

	int main()
	{
	    int	a[8]{1,	2, 3, 4, 5, 6, 7, 8};
	    println("int a", a);
	    run(a);
	}

Output:
	int a[8]{ 1, 2,	3, 4, 5, 6, 7, 8, };
	span: [8]{ 1, 2, 3, 4, 5, 6, 7,	8, };
	span.last<3>():	[3]{ 6,	7, 8, };
	span.last(2): [2]{ 7, 8, };

See also
	  first	   obtains a subspan consisting	of the first N elements	of the
       sequence
		  (public member function)
	  subspan obtains a subspan
		  (public member function)

http://cppreference.com		  2024.06.10		    std::span::last(3)

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

home | help