名稱空間
變體
操作

operator==(std::ranges::take_view::sentinel<Const>)

來自 cppreference.com
< cpp‎ | ranges‎ | take view‎ | sentinel
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
friend constexpr bool

    operator==( const std::counted_iterator<ranges::iterator_t<Base>>& y,

                const /*sentinel*/& x );
(1) (C++20 起)
template< bool OtherC = !Const >

    requires std::sentinel_for<ranges::sentinel_t<Base>,
                               ranges::iterator_t</*add-const-if*/<OtherC, V>>>
friend constexpr bool
    operator==( const std::counted_iterator<
                          ranges::iterator_t</*add-const-if*/<OtherC, V>>>& y,

                const /*sentinel*/& x );
(2) (C++20 起)

take_view::/*sentinel*/std::counted_iterator(通常透過呼叫 take_view::begin 獲得)進行比較。

如果 y 指向第 N 個元素之後(其中 N 是傳遞給 take_view 建構函式的數字),或者底層檢視的末尾已到達,則返回 true

僅用於說明的別名模板 /*add-const-if*/ 定義如下:
template<bool C, class T>
using /*add-const-if*/ = std::conditional_t<C, const T, T>;
.

這些函式對普通的非限定限定查詢不可見,只有當 std::ranges::take_view::sentinel<Const> 是引數的關聯類時,才能透過實參依賴查詢找到它們。

!= 運算子由 operator== 合成

目錄

[編輯] 引數

y - 要比較的 std::counted_iterator
x - 要比較的哨兵

[編輯] 返回值

y.count() == 0 || y.base() == x.end_,其中 end_ 表示底層哨兵。

[編輯] 示例

[編輯] 缺陷報告

下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
LWG 3449 C++20 迭代器與哨兵的比較
不同 const-qualified 的 take_view 不受支援
在可能的情況下予以支援