Namespaces
Variants

std::ranges::filter_view<V,Pred>::sentinel(番兵)

ja.cppreference.net より
 
 
範囲ライブラリ
範囲アダプタ

 
 
class /*sentinel*/;
(C++20 以降)
(説明専用*)

filter_view::endの戻り値の型であり、内部のview(ビュー) Vがcommon_range(共通範囲)のモデルではない場合に使用されます。

データメンバ

メンバ 説明
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) end_ を ranges:: end ( parent. base_ ) で初期化します。

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

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

return end_ ; と等価。

非メンバー関数

(C++20)
基底のイテレータと基底のセンチネルを比較する
(関数)

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

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

x.current_ == y.end_ と等価。ここで current_ は filter_view:: iterator にラップされた基盤となるイテレータである。

!= 演算子は 合成 され、 operator== から生成される。

この関数は通常の 非修飾名探索 または 修飾名探索 では可視化されず、 std::ranges::filter_view:: sentinel が引数の関連クラスである場合にのみ 実引数依存の名前探索 によって発見される。