命名空间
变体
操作

operator-(ranges::transform_view::sentinel)

来自 cppreference.cn
 
 
范围库
范围适配器
 
 
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) (since 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) (since C++20)

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

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

[编辑] 参数

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

[编辑] 返回值

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

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