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

来自cppreference.com
< cpp‎ | ranges‎ | take view
 
 
范围库
范围访问
范围转换器
(C++23)
范围原语



悬垂迭代器处理
范围概念
视图

范围工厂
适配器
范围生成器
范围适配器对象
范围适配器闭包对象
辅助项
 
 
在标头 <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++ 标准。

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