operator-(ranges::elements_view::哨位)
来自 zh.cppreference.net
template< bool OtherConst >
requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
ranges::iterator_t</*maybe-const*/<OtherConst, V>>>
friend constexpr ranges::range_difference_t</*maybe-const*/<OtherConst, V>>
operator-( const /*iterator*/<OtherConst>& x, const /*sentinel*/& y );
|
(1) | (自 C++20 起) |
template< bool OtherConst >
requires std::sized_sentinel_for<ranges::sentinel_t<Base>,
ranges::iterator_t</*maybe-const*/<OtherConst, V>>>
friend constexpr ranges::range_difference_t</*maybe-const*/<OtherConst, V>>
operator-( const /*sentinel*/& y, const /*iterator*/<OtherConst>& x );
|
(2) | (自 C++20 起) |
计算 x 的底层迭代器与 y 的底层哨位之间的距离。
这些函数 模板对于普通的非限定或限定查找不可见,只能通过参数依赖查找在 elements_view::sentinel 是参数的关联类时被发现。
参数
| x | - | 一个 迭代器 |
| y | - | 一个哨位 |
返回值
1)
x.
base
(
)
-
y.
base
(
)
2)
y.
base
(
)
-
x.
base
(
)