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==
合成。
目录 |
[编辑] 参数
x, y | - | 要比较的迭代器或哨位 |
[编辑] 返回值
比较结果。
[编辑] 示例
本节不完整 原因:无示例 |
[编辑] 参阅
(C++23) |
将哨位与 cartesian_product_view::begin 所返回的迭代器进行比较 (函数) |