命名空间
变体
操作

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

来自 cppreference.com
< cpp‎ | ranges‎ | concat view‎ | iterator
 
 
范围库
范围适配器
 
 
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_

[编辑] 示例