##
table of contents

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 |