命名空间
变体
操作

operator-(ranges::transform_view::sentinel)

来自 cppreference.cn
 
 
范围库 (Ranges library)
范围适配器 (Range adaptors)
 
 
friend constexpr ranges::range_difference_t<Base>

    operator-( const /*iterator*/<Const>& x, const /*sentinel*/& y )
        requires std::sized_sentinel_for<ranges::sentinel_t<Base>,

                                         ranges::iterator_t<Base>>;
(1) (C++20 起)
friend constexpr ranges::range_difference_t<Base>

    operator-( const /*sentinel*/& y, const /*iterator*/<Const>& x )
        requires std::sized_sentinel_for<ranges::sentinel_t<Base>,

                                         ranges::iterator_t<Base>>;
(2) (C++20 起)

计算 x 的底层迭代器与 y 的底层哨兵之间的距离。

这些函数对于普通的非限定查找限定查找不可见,只能通过实参依赖查找 (ADL) 找到,当 transform_view::sentinel<Const> 是实参的关联类时。

[编辑] 参数

x - 一个迭代器
y - 一个哨兵

[编辑] 返回值

current_ 表示底层迭代器,end_ 表示底层哨兵。

1) x.current_ - y.end_
2) y.end_ - x.current_