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

 
 
迭代器库
迭代器概念
迭代器原语
算法概念与工具
间接可调用概念
常用算法要求
工具
迭代器适配器
流迭代器
迭代器定制点
迭代器操作
(C++11)
(C++11)
范围访问
(C++11)(C++14)
(C++11)(C++14)
(C++17)(C++20)
(C++14)(C++14)
(C++14)(C++14)
(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<S> ,其中 S 实现 std::sized_sentinel_for<Iter>

返回值

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

参阅

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