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_)) 为 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 返回的迭代器 (函数) |