名稱空間
變體
操作

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

來自 cppreference.com
< cpp‎ | ranges‎ | concat view‎ | iterator
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
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_

[編輯] 示例