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
 
friendconstexpr 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 起)
friendconstexpr 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) 等价于:
constauto 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)
减小迭代器
(公开成员函数)
close