table of contents
        
      
      
    | std::ranges::view_interface::back(3) | C++ Standard Libary | std::ranges::view_interface::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 implementations, 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
| 2024.06.10 | http://cppreference.com |