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

来自cppreference.com
< 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 和元素数推导。

Rview ,则推导的类型为 ranges::take_view<R> ;否则,推导的类型通常为 ranges::take_view<ranges::ref_view<R>>

示例

缺陷报告

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

DR 应用于 出版时的行为 正确行为
LWG 3447 C++20 模板形参 Rrange 约束 不约束 R (但 range_difference_t 要求 range