operator-(std::move_iterator<Iter>, std::move_sentinel)
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_iterator и move_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()
Пример
См. также
|
(C++11) | вычисляет расстояние между двумя адаптерами итераторов (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/iterator/move_iterator/operator-2