名稱空間
變體
操作

std::ranges::filter_view<V,Pred>::sentinel

來自 cppreference.com
< cpp‎ | ranges‎ | filter view
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
class /*sentinel*/;
(C++20 起)
(僅作說明*)

當底層 view V 不滿足 common_range 模型時,filter_view::end 的返回型別。

目錄

[編輯] 資料成員

成員 定義
V end_ (私有) 底層 view 的哨兵
(僅用於闡釋的成員物件*)

[編輯] 成員函式

構造一個哨位
(公開成員函式)
返回底層哨兵
(公開成員函式)

std::ranges::filter_view::sentinel::sentinel

/*sentinel*/() = default;
(1) (C++20 起)
constexpr explicit /*sentinel*/( filter_view& parent );
(2) (C++20 起)
1) 透過其預設成員初始化器 (= ranges::sentinel_t<V>()) 對 end_ 進行值初始化。
2)ranges::end(parent.base_) 初始化 end_

std::ranges::filter_view::sentinel::base

constexpr ranges::sentinel_t<V> base() const;
(C++20 起)

等價於 return end_;

[編輯] 非成員函式

比較底層迭代器和底層哨兵
(函式)

operator==(std::ranges::filter_view::iterator, std::ranges::filter_view::sentinel)

friend constexpr bool operator==( const /*iterator*/& x,
                                  const /*sentinel*/& y );
(C++20 起)

等價於 return x.current_ == y.end_;,其中 current_ 是包裝在 filter_view::iterator 中的底層迭代器。

!= 運算子由 operator== 合成

此函式對於普通 非限定限定查詢 不可見,只有當 std::ranges::filter_view::sentinel 是引數的關聯類時,才能透過 實參依賴查詢 找到。