# std::ranges::take_while_view<V,Pred>::end

< cpp‎ | ranges‎ | take while view

constexpr auto end() requires (!__SimpleView<V>); | (1) | (C++20 起)
constexpr auto end() const requires ranges::range<const V> && std::indirect_unary_predicate<const Pred, ranges::iterator_t<const V>>; | (2) | (C++20 起)

返回表示视图末尾的哨位。

1) 等效于返回 /*sentinel*/<false>(ranges::end(base_), std::addressof(pred())) ，其中 `base_` 代表底层视图。
2) 等效于返回 /*sentinel*/<true>(ranges::end(base_), std::addressof(pred())) ，其中 `base_` 代表底层视图。

若 `V` 为简单视图（即 `V` 与 const V 是拥有相同迭代器与哨位类型的视图）则重载 (1) 不参与重载决议。

### 参数

（无）

### 返回值

表示视图末尾的哨位。

### 示例

| 本节未完成 原因：暂无示例

### 缺陷报告

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

DR | 应用于 | 出版时的行为 | 正确行为
--- | --- | --- | ---
LWG 3450 | C++20 | const 重载可能返回不可与迭代器比较的哨位 | 已约束

### 参阅

begin (C++20) | 返回指向起始的迭代器 (公开成员函数)
operator== (C++20) | 比较哨位与从 `take_while_view::begin` 返回的迭代器 (函数)