operator-(ranges::chunk_view::outer-iterator)

来自cppreference.com


 
 
范围库
范围适配器
 
std::ranges::chunk_view
成员函数
input_range
推导指引
outer-iterator
operator-(chunk_view::outer-iterator)
outer-iterator::value_type
inner-iterator
 
friend constexpr difference_type operator-( std::default_sentinel_t s,

                                            const /*outer-iterator*/& i )
    requires ranges::sized_sentinel_for<ranges::sentinel_t<V>,

                                        ranges::iterator_t<V>>;
(1) (C++23 起)
friend constexpr difference_type operator-( const /*outer-iterator*/& i,

                                            std::default_sentinel_t s )
    requires ranges::sized_sentinel_for<ranges::sentinel_t<V>,

                                        ranges::iterator_t<V>>;
(2) (C++23 起)

计算迭代器哨位之间的距离(其中的块数量)。

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 - 哨位

返回值

给定迭代器与哨位之间的距离。

示例

参阅

减小迭代器
(公开成员函数)