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) 当存在整数 0 ≤ i ≤ sizeof... ( Vs ) 使得 std :: get < i > ( x. current_ ) == ranges:: end ( std :: get < i > ( x. parent_ - > bases_ ) ) true 时返回 true ,否则返回 false
3) 等价于: return x. current_ <=> y. current_ ;

这些函数对普通的 非限定查找 限定查找 不可见,仅当 std::ranges::cartesian_product_view:: iterator <Const> 作为参数的关联类时,才能通过 实参依赖查找 找到。

!= 运算符由 operator== 合成 而来。

目录

参数

x, y - 待比较的迭代器或哨兵

返回值

比较的结果。

示例

参见

(C++23)
比较哨位与从 cartesian_product_view::begin 返回的迭代器
(函数)