std::ranges::subrange<I,S,K>::prev
来自cppreference.com
[[nodiscard]] constexpr subrange prev( std::iter_difference_t<I> n = 1 ) const requires std::bidirectional_iterator<I>; |
(C++20 起) | |
获得在 n >= 0
或 n < 0
时分别为迭代器相对于 *this 的自减 n
次或自增 min(-n, size())
次的 subrange
。
等价于 auto tmp = *this; tmp.advance(-n); return tmp; 。若迭代器在成为不可自减值后被自减则行为未定义。
参数
n | - | 迭代器的最小自减次数 |
返回值
在 n >= 0
或 n < 0
时分别为迭代器相对于 *this 的自减 n
次或自增 min(-n, size())
次的 subrange
。
复杂度
通常在 n >= 0
为 n < 0
或时分别为迭代器上的 n
次自减或 min(-n, size())
次自增。
若 I
实现 random_access_iterator
,且 n >= 0
或者 std::sized_sentinel_for<S, I> 得到实现则为常数。
示例
本节未完成 原因:暂无示例 |
参阅
(C++20) |
以给定距离前进迭代器并返回原 subrange (公开成员函数) |
(C++20) |
以给定距离前进迭代器 (公开成员函数) |
(C++11) |
令迭代器自减 (函数模板) |
(C++20) |
自减迭代器给定的距离或到边界 (niebloid) |