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) (начиная с C++23)
friend constexpr bool operator==( const /*iterator*/& x, std::default_sentinel_t );
(2) (начиная с C++23)
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
    requires /*all-random-access*/<Const, First, Vs...>;
(2) (начиная с 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/cpp/ranges/cartesian_product_view/iterator/operator_cmp

Spec-Zone.ru

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