Spec-Zone.ru › C++

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 с итераторами элементов адаптированных представлений.

1) Возвращает:
  • 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 - сравниваемые итераторы

Возвращаемое значение

Результат сравнения

См. также

operator==
(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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API