operator-(ranges::chunk_view::outer-iterator)
来自 cppreference.cn
< cpp | ranges | chunk view | outer iterator
friend constexpr difference_type operator-( std::default_sentinel_t s, const /*outer-iterator*/& i ) |
(1) | (since C++23) |
friend constexpr difference_type operator-( const /*outer-iterator*/& i, std::default_sentinel_t s ) |
(2) | (since C++23) |
计算迭代器和哨兵之间的距离(以 chunk 数量计)。
令 parent_
为指向外围 chunk_view
的底层指针。
1) 等价于
const auto dist = ranges::end(i.parent_->base_) - *i.parent_->current_; if (dist < i.parent_->remainder_) return dist == 0 ? 0 : 1; return /*div-ceil*/(dist - i.parent_->remainder_, i.parent_->n_) + 1;
2) 等价于: return -(s - i);.
这些函数对于普通的非限定或限定查找是不可见的,并且只有当 std::ranges::chunk_view::outer-iterator
是参数的关联类时,才能通过实参依赖查找找到。
目录 |
[编辑] 参数
i | - | 迭代器 |
s | - | 哨兵 |
[编辑] 返回值
给定迭代器和哨兵之间的距离。
[编辑] 示例
本节尚不完整 原因:没有示例 |
[编辑] 参见
(C++23) |
递增迭代器 (公共成员函数) |