# std::ranges::drop_while_view<V,Pred>::drop_while_view

< cpp‎ | ranges‎ | drop while view

drop_while_view() requires std::default_initializable<V> && std::default_initializable<Pred> = default; | (1) | (C++20 起)
constexpr drop_while_view( V base, Pred pred ); | (2) | (C++20 起)

构造 `drop_while_view` 。

1) 默认构造函数。值初始化底层视图与谓词。
2) 从 `base` 移动构造底层视图并从 `pred` 移动构造谓词。

### 参数

base | - | 底层视图
pred | - | 谓词

### 示例

    #include <array>
    #include <iostream>
    #include <ranges>

    int main()
    {
        constexpr std::array data{ 0, -1, -2, 3, 1, 4, 1, 5, };

        auto view = std::ranges::drop_while_view{
            data, [](int x) { return x <= 0; }
        };

        for (int x: view) {
            std::cout << x << ' ';
        }
        std::cout << '\n';
    }

输出：

    3 1 4 1 5

### 缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

DR | 应用于 | 出版时的行为 | 正确行为
--- | --- | --- | ---
P2325R3 | C++20 | 若 `Pred` 非 `default_initializable` ， 则默认构造函数构造不含 `Pred` 的 `drop_while_view` | `drop_while_view` 亦非 `default_initializable`