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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::span::first	- std::span::first

Synopsis
	  template< std::size_t	Count >
	  constexpr std::span<element_type, Count> first() const;
	  constexpr    std::span<element_type,	 std::dynamic_extent>	first(
       size_type Count )
	  const;

	  Obtains a span that is a view	over the first 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 first Count elements	of *this, such
       that r.data()
	  == this->data() && r.size() == Count.

Example
       // Run this code

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

	void print(std::string_view const title,
		   /* std::ranges::forward_range */ auto const&	container) {
	    std::cout << title << "[" << std::size(container) << "]{ ";
	    for	(auto const& elem : container)
		std::cout << elem << ",	";
	    std::cout << "};\n";
	}

	void run_game(std::span<const int> span)
	{
	    print("span: ", span);

	    std::span<const int, 5> span_first = span.first<5>();
	    print("span.first<5>(): ", span_first);

	    std::span<const  int,  std::dynamic_extent>	 span_first_dynamic  =
       span.first(4);
	    print("span.first(4):   ", span_first_dynamic);
	}

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

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

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

http://cppreference.com		  2022.07.31		   std::span::first(3)

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

home | help