Spec-Zone.ru › C++

operator==,<=>(ranges::cartesian_product_view::iterator)

friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
  requires std::equality_comparable<ranges::iterator_t</*maybe-const*/<Const, First>>>;
(1) (since C++23)
friend constexpr bool operator==( const /*iterator*/& x, std::default_sentinel_t );
(2) (since C++23)
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
  requires /*all-random-access*/<Const, First, Vs...>;
(2) (since C++23)

Сравнивает два итератора или итератор и страж.

Пусть current_ обозначает базовую кортеж итераторов.

1) Эквивалентно: return x.current_ == y.current_;
2) Возвращает true если std::get<i>(x.current_) == ranges::end(std::get<i>(x.parent_->bases_)) равно true для любого целого 0 ≤ i ≤ sizeof...(Vs). В противном случае, возвращает false.
3) Эквивалентно: return x.current_ <=> y.current_;

Эти функции не видны для обычного неквалифицированного или квалифицированного поиска и могут быть найдены только с помощью поиска, зависящего от аргументов, когда std::ranges::cartesian_product_view::iterator<Const> является ассоциированным классом аргументов.

Оператор != синтезируется из operator==.

Параметры

x, y - итераторы или стражи для сравнения

Значение результата

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

Пример

См. также

operator==
(C++23)
сравнивает страж с итератором, возвращенным из cartesian_product_view::begin
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/cartesian_product_view/iterator/operator_cmp

Spec-Zone.ru

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