std::ranges:: range_reference_t, std::ranges:: range_const_reference_t, std::ranges:: range_rvalue_reference_t, std::ranges:: range_common_reference_t
From cppreference.net
C++
Ranges library
|
||||||||||||||||||||||
| Range primitives | ||||||||||||
|
|
|||||||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
|
定义于头文件
<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++标准。
| 缺陷报告 | 应用于 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| 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)
|
获取范围的大小、差值和值类型
(别名模板) |