std::ranges::subrange::prev(3)

NAME
std::ranges::subrange::prev - std::ranges::subrange::prev

Synopsis
   [[nodiscard]] constexpr subrange prev( std::iter_difference_t<I> n =
   1 ) const (since C++20)
       requires std::bidirectional_iterator<I>;
   Obtains a subrange whose iterator is decremented by n times or incremented by
   min(-n, size()) times respect to that of *this, when n >= 0 or n < 0 respectively.
   Equivalent to auto tmp = *this; tmp.advance(-n); return tmp;. The behavior is
   undefined if the iterator is decremented after being a non-decrementable value.

Parameters
   n - number of minimal decrements of the iterator

Return value
   A subrange whose iterator is decremented by n times or incremented by min(-n,
   size()) times respect to that of *this, when n >= 0 or n < 0 respectively.

Complexity
   Generally n decrements or min(-n, size()) increments on the iterator, when n >= 0 or
   n < 0 respectively.
   Constant if I models random_access_iterator, and either n >= 0 or
   std::sized_sentinel_for<S, I> is modeled.

Example
    This section is incomplete
    Reason: no example

See also
   next obtains a copy of the subrange with its iterator advanced by a given
   (C++20) distance
                (public member function)
   advance advances the iterator by given distance
   (C++20) (public member function)
   prev decrement an iterator
   (C++11) (function template)
   ranges::prev decrement an iterator by a given distance or to a bound
   (C++20) (niebloid)

Category:
     * Todo no example