# `std::ranges::take_view` 的推导指引

< cpp‎ | ranges‎ | take view

定义于头文件 `<ranges>` |  |
template< class R > take_view( R&&, ranges::range_difference_t<R> ) -> take_view<views::all_t<R>>; |  | (C++20 起)

为 std::ranges::take_view 提供该推导指引以允许从 `range` 和元素数推导。

若 `R` 为 `view` ，则推导的类型为 ranges::take_view<R> ；否则，推导的类型通常为 ranges::take_view<ranges::ref_view<R>> 。

### 示例

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

### 缺陷报告

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

DR | 应用于 | 出版时的行为 | 正确行为
--- | --- | --- | ---
LWG 3447 | C++20 | 模板形参 `R` 以 `range` 约束 | 不约束 `R` （但 `range_difference_t` 要求 `range` ）