operator==,<=>(ranges::cartesian_product_view::iterator)
来自 cppreference.cn
< 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) 如果对于任何整数 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==
合成 而来。
内容 |
[edit] 参数
x, y | - | 要比较的迭代器或哨位 |
[edit] 返回值
比较的结果。
[edit] 示例
本节内容不完整 原因:没有示例 |
[edit] 参见
(C++23) |
将哨位与从 cartesian_product_view::begin 返回的迭代器进行比较 (函数) |