Namespaces
Variants

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

来自 zh.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)
比较哨位与从 cartesian_product_view::begin 返回的迭代器
(函数)