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) |