# operator-(ranges::elements_view::sentinel)

< cpp‎ | ranges‎ | elements view‎ | sentinel

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<Const>` 为参数的关联类时由实参依赖查找找到。

### 参数

x | - | 迭代器
y | - | 哨位

### 返回值

1) x.base() - y.base()
2) y.base() - x.base()