Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
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_ ;

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

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

Содержание

Параметры

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

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

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

Пример

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

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