operator==,<=>(ranges::zip_view::iterator)
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
requires (std::equality_comparable<
ranges::iterator_t</*maybe-const*/<Const, Views>>> && ...);
| (1) | (начиная с C++23) |
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
requires ranges::random_access_range<Base>;
| (2) | (начиная с C++23) |
Сравнивает базовые итераторы.
Пусть current_ — базовый объект tuple-like с итераторами элементов адаптированных представлений.
-
x.current_ == y.current_, если/*all-bidirectional*/<Const, Views...>истинно. - В противном случае
true, если существует целое число0 <= i < sizeof...(Views), такое чтоbool(std::get<i>(x.current_) == std::get<i>(y.current_))истинно. - В противном случае
false.
2) Эквивалентно
return x.current_ <=> y.current_;.Эта функция не видна при обычном неквалифицированном или квалифицированном поиске и может быть найдена только посредством поиска с учетом аргументов, если std::ranges::zip_view::iterator<Const> является ассоциированным классом аргументов.
Операторы <, <=, >, >= и != синтезируются соответственно из operator<=> и operator==.
Параметры
| x, y | - | сравниваемые итераторы |
Возвращаемое значение
Результат сравнения
См. также
|
(C++23) | сравнивает sentinel с итератором, возвращаемым функцией zip_view::begin (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/zip_view/iterator/operator_cmp