Scroll to navigation

std::ranges::subrange::prev(3) C++ Standard Libary 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

2024.06.10 http://cppreference.com