Namespaces
Variants

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

С сайта ru.cppreference.net
 
 
Библиотека диапазонов
Адаптеры диапазонов
 
 
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 - итераторы или сторожа для сравнения

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

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

Пример

Смотрите также

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