std::ranges::subrange<I,S,K>::prev

来自cppreference.com
< cpp‎ | ranges‎ | subrange
 
 
范围库
范围访问
范围转换器
(C++23)
范围原语



悬垂迭代器处理
范围概念
视图

范围工厂
适配器
范围生成器
范围适配器对象
范围适配器闭包对象
辅助项
 
std::ranges::subrange
成员函数
观察器
迭代器操作
subrange::prev
(C++20)
推导指引
非成员函数
(C++20)
辅助类型
(C++20)
 
[[nodiscard]] constexpr subrange prev( std::iter_difference_t<I> n = 1 ) const
    requires std::bidirectional_iterator<I>;
(C++20 起)

获得在 n >= 0n < 0 时分别为迭代器相对于 *this 的自减 n 次或自增 min(-n, size()) 次的 subrange

等价于 auto tmp = *this; tmp.advance(-n); return tmp; 。若迭代器在成为不可自减值后被自减则行为未定义。

参数

n - 迭代器的最小自减次数

返回值

n >= 0n < 0 时分别为迭代器相对于 *this 的自减 n 次或自增 min(-n, size()) 次的 subrange

复杂度

通常在 n >= 0n < 0 或时分别为迭代器上的 n 次自减或 min(-n, size()) 次自增。

I 实现 random_access_iterator ,且 n >= 0 或者 std::sized_sentinel_for<S, I> 得到实现则为常数。

示例

参阅

(C++20)
以给定距离前进迭代器并返回原 subrange
(公开成员函数)
(C++20)
以给定距离前进迭代器
(公开成员函数)
(C++11)
令迭代器自减
(函数模板)
自减迭代器给定的距离或到边界
(niebloid)