std::ranges::range_reference_t、std::ranges::range_const_reference_t、std::ranges::range_rvalue_reference_t、std::ranges::range_common_reference_t
来自 cppreference.com
定义在头文件 <ranges> 中 |
||
template< ranges::range R > using range_reference_t = std::iter_reference_t<ranges::iterator_t<R>>; |
(1) | (自 C++20 起) |
template< ranges::range R > using range_const_reference_t = |
(2) | (自 C++23 起) |
template< ranges::range R > using range_rvalue_reference_t = |
(3) | (自 C++20 起) |
template< ranges::range R > using range_common_reference_t = |
(4) | (自 C++20 起) |
1) 用于获取范围类型
R
的迭代器类型的引用类型。2) 用于获取范围类型
R
的迭代器类型的常量引用类型。3) 用于获取范围类型
R
的迭代器类型的右值引用类型。4) 用于获取范围类型
R
的迭代器类型的通用引用类型。[编辑] 模板参数
R | - | 一个 range 类型或一个 sized_range 类型 |
[编辑] 缺陷报告
以下改变行为的缺陷报告已追溯应用于之前发布的 C++ 标准。
DR | 应用于 | 发布的行为 | 正确行为 |
---|---|---|---|
LWG 3860 | C++20 | range_common_reference_t 丢失 |
添加 |
[编辑] 另请参见
(C++20)(C++20)(C++23)(C++20)(C++20)(C++20) |
计算迭代器的关联类型 (别名模板) |
(C++20)(C++23)(C++20)(C++23) |
获取范围的迭代器和哨兵类型 (别名模板) |
(C++20)(C++20)(C++20) |
获取范围的大小、差异和值类型 (别名模板) |