operator-(std::move_iterator<Iter>, std::move_sentinel)

来自cppreference.com


 
 
迭代器库
迭代器概念
迭代器原语
算法概念与工具
间接可调用概念
常用算法要求
(C++20)
(C++20)
(C++20)
工具
(C++20)
迭代器适配器
范围访问
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
template< std::sized_sentinel_for<Iter> S >

friend constexpr std::iter_difference_t<Iter>

    operator-( const std::move_sentinel<S>& s, const move_iterator& i );
(1) (C++20 起)
template< std::sized_sentinel_for<Iter> S >

friend constexpr std::iter_difference_t<Iter>

    operator-( const move_iterator& i, const std::move_sentinel<S>& s );
(2) (C++20 起)

返回 move_iteratormove_sentinel 间的距离。

这些函数模板对常规的无限定有限定查找不可见,而只能在 std::move_iterator<Iter> 为实参的关联类时由实参依赖查找找到。

参数

i - std::move_iterator<Iter>
s - std::move_sentinel&lt;S>,其中 S 实现 std::sized_sentinel_for<Iter>

返回值

1) s.base() - i.base()
2) i.base() - s.base()

参阅

(C++11)
计算两个迭代器适配器间的距离
(函数模板)