Namespaces
Variants

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

来自 zh.cppreference.net
 
 
Ranges library
范围适配器
 
 
friend constexpr bool operator==
    ( const /*iterator*/& x, std::default_sentinel_t );
(1) (自 C++26)
friend constexpr bool operator==
    ( const /*iterator*/& x, const /*iterator*/& y )
    requires (std::equality_comparable<ranges::iterator_t<
        std::conditional_t<Const, const Views, Views>>> && ...);
(2) (自 C++26)
friend constexpr bool operator<
    ( const /*iterator*/& x, const /*iterator*/& y )
    requires /*all-random-access*/<Const, Views...>;
(3) (自 C++26)
friend constexpr bool operator>
    ( const /*iterator*/& x, const /*iterator*/& y )
    requires /*all-random-access*/<Const, Views...>;
(4) (自 C++26)
friend constexpr bool operator<=
    ( const /*iterator*/& x, const /*iterator*/& y )
    requires /*all-random-access*/<Const, Views...>;
(5) (自 C++26)
friend constexpr bool operator>=
    ( const /*iterator*/& x, const /*iterator*/& y )
    requires /*all-random-access*/<Const, Views...>;
(6) (自 C++26)
friend constexpr auto operator<=>
    ( const /*iterator*/& x, const /*iterator*/& y )
    requires (/*all-random-access*/<Const, Views...> &&
              (std::three_way_comparable<ranges::iterator_t<
                   std::conditional_t<Const, const Views, Views>>> && ...));
(7) (自 C++26)

比较该迭代器与另一个迭代器或哨位。

1) 比较迭代器与哨位。
如果 x.it_ .valueless_by_exception() 是 true,则行为未定义。
2-7) 比较两个迭代器。!=运算符从 合成自 operator==。
如果 x.it_ .valueless_by_exception() || y.it_ .valueless_by_exception() 是 true,则行为未定义。

这些函数对普通的非限定或限定查找不可见,只能通过参数依赖查找找到,当 std::ranges::concat_view::iterator <Const> 是参数的关联类时。

参数

x, y - 待比较的迭代器

返回值

1)

x. it_  . index ( ) == ( sizeof... ( Views ) - 1 ) &&
x. get-iter  < sizeof... ( Views ) - 1 > ( ) == x. get-end  < sizeof... ( Views ) - 1 > ( )

2) x. it_ == y. it_
3) x. it_ < y. it_
4) x. it_ > y. it_
5) x. it_ <= y. it_
6) x. it_ >= y. it_
7) x. it_ <=> y. it_

示例