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

FreeBSD Manual Pages

  
 
  

home | help
std::ranges...erface::back(3) C++ Standard Libarystd::ranges...erface::back(3)

NAME
       std::ranges::view_interface::back - std::ranges::view_interface::back

Synopsis
	  constexpr decltype(auto) back()
	      requires		  ranges::bidirectional_range<D>	    &&
       (1) (since C++20)
	  ranges::common_range<D>;
	  constexpr decltype(auto) back() const
	      requires	    ranges::bidirectional_range<const	   D>	    &&
       (2) (since C++20)
	  ranges::common_range<const D>;

	  The  default	implementation	of  back() member function returns the
       last element in the
	  view of the derived type. Whether the	element	is returned  by	 value
       or by reference
	  depends on the operator* of the iterator type.

	  1) Let derived be static_cast<D&>(*this). Equivalent to return
	  *ranges::prev(ranges::end(derived));.	 The  behavior is undefined if
       empty() is true
	  (i.e.	the beginning iterator compares	equal to the  sentinel),  even
       if the iterator
	  obtained in the same way is dereferenceable.
	  2) Same as (1), except that derived is static_cast<const D&>(*this).

Parameters
	  (none)

Return value
	  The last element in the view.

Notes
	  In  C++20,  no  type derived from std::ranges::view_interface	in the
       standard	library
	  provides their own back() member function.

	  However, following derived types cannot use the default  implementa-
       tions, as they
	  never	satisfy	neither	bidirectional_range nor	common_range:

	    * std::ranges::basic_istream_view
	    * std::ranges::lazy_split_view
	    * std::ranges::split_view
	    * std::ranges::take_while_view

	  The	 inherited   back()   member   function	  is   available   for
       std::ranges::empty_view,	but a
	  call to it always results in undefined behavior.

Example
	   This	section	is incomplete
	   Reason: no example

See also
	  rbegin	  returns a reverse iterator to	 the  beginning	 of  a
       container or array
	  crbegin	  (function template)
	  (C++14)
	  ranges::rbegin  returns a reverse iterator to	a range
	  (C++20)	  (customization point object)
	  ranges::crbegin returns a reverse iterator to	a read-only range
	  (C++20)	  (customization point object)

Category:
	    * Todo no example

http://cppreference.com		  2024.06.10	 std::ranges...erface::back(3)

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

home | help