operator==,<=>(ranges::zip_view::iterator)
来自 zh.cppreference.net
friend constexpr bool operator==( const /*iterator*/& x, const /*iterator*/& y )
requires (std::equality_comparable<
ranges::iterator_t</*maybe-const*/<Const, Views>>> && ...);
|
(1) | (C++23 起) |
friend constexpr auto operator<=>( const /*iterator*/& x, const /*iterator*/& y )
requires ranges::random_access_range<Base>;
|
(2) | (C++23 起) |
比较底层迭代器。
设 current_ 为指向被适配视图元素的底层迭代器的 类元组对象。
1) 返回值:
x.current_ == y.current_若/*all-bidirectional*/<Const, Views...>为 true。- 否则,
true若存在整数0 <= i < sizeof...(Views)使得bool(std::get<i>(x.current_) == std::get<i>(y.current_))为 true。 - 否则,
false。
2) 等价于
return x.current_ <=> y.current_;。此函数对普通无限定或有限定查找不可见,只能通过实参依赖查找在 std::ranges::zip_view::iterator<Const> 为参数的关联类时找到。
运算符 <、<=、>、>= 和 != 分别通过 从 和 operator<=> 合成operator==得到。
参数
| x, y | - | 待比较的迭代器 |
返回值
比较结果
参见
|
(C++23)
|
比较哨位与从
zip_view::begin
返回的迭代器
(函数) |