命名空间
变体
操作

operator==,<=>(ranges::zip_view::iterator)

来自 cppreference.cn
< cpp‎ | ranges‎ | zip_view‎ | iterator
 
 
范围库 (Ranges library)
范围适配器 (Range adaptors)
 
 
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_ 是底层(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 - 要比较的迭代器

[编辑] 返回值

比较结果

[编辑] 参阅

比较守卫和从 zip_view::begin 返回的迭代器
(函数) [编辑]