operator==,<=>(ranges::cartesian_product_view::iterator)
来自cppreference.com
< cpp | 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) 若 std::get<i>(x.current_) == ranges::end(std::get<i>(x.parent_->bases_)) 对每个整数 0 ≤ i ≤ sizeof...(Vs) 为 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 返回的迭代器 (函数) |