最終更新日時: 2026年05月21日 16時00分02秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<ranges>

# std::ranges::filter_view::sentinel::コンストラクタ(C++20)

    public:
      sentinel() = default;                             // (1)

    private:
      constexpr explicit sentinel(filter_view& parent); // (2) 説明専用

## 概要

`filter_view::sentinel`オブジェクトを構築する。

- (1) : デフォルトコンストラクタ
- (2) : `private`な説明専用コンストラクタ。`filter_view`の`end()`から呼び出される

## 効果

- (1) : `end_`をデフォルト構築する
- (2) : `end_`を`std::ranges::end(parent.base_)`で初期化する

## 例

(執筆中)

## バージョン

### 言語

- C++20

### 処理系

- Clang: 13.0.0 ✅
- GCC: 10.1.0 ✅
- ICC: ?
- Visual C++: 2019 Update 10 ✅

## 参照

- N4861 24.7.4 Filter view
- N4950 26.7.8 Filter view
- P3059R2 Making user-defined constructors of view iterators/sentinels private
  - C++26で、(2)のユーザー定義コンストラクタを`public`から`private`に移動