operator==,<=>(ranges::zip_view::iterator)
来自 cppreference.cn
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y ) requires (std::equality_comparable< |
(1) | (C++23 起) |
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y ) requires ranges::random_access_range<Base>; |
(2) | (C++23 起) |
比较底层迭代器。
设 current_
是底层(tuple-like)对象,其中包含指向被适配视图元素的迭代器。
1) 如果 /*all-bidirectional*/<Const, Views...> 为 true,则返回
- x.current_ == y.current_。
- 否则,如果存在一个整数 0 <= i < sizeof...(Views) 使得 bool(std::get<i>(x.current_) == std::get<i>(y.current_)) 为 true,则返回 true。
- 否则,返回 false。
2) 等价于 return x.current_ <=> y.current_;。
此函数对普通的非限定查找或限定查找不可见,只能通过实参依赖查找找到,当 std::ranges::zip_view::iterator<Const>
是实参的关联类时。
运算符 <
, <=
, >
, >=
和 !=
分别由 operator<=> 和 operator== 合成。
[编辑] 参数
x, y | - | 要比较的迭代器 |
[编辑] 返回值
比较结果
[编辑] 参阅
(C++23) |
比较守卫和从 zip_view::begin 返回的迭代器 (函数) |