Namespaces
Variants

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
Ranges library
Range primitives
range_reference_t range_const_reference_t range_rvalue_reference_t range_common_reference_t
(C++23)
Range adaptors
定义于头文件 <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 =

std:: iter_const_reference_t < ranges:: iterator_t < R >> ;
(2) (C++23 起)
template < ranges:: range R >

using range_rvalue_reference_t =

std:: iter_rvalue_reference_t < ranges:: iterator_t < R >> ;
(3) (C++20 起)
template < ranges:: range R >

using range_common_reference_t =

std:: iter_common_reference_t < ranges:: iterator_t < R >> ;
(4) (C++20 起)
1) 用于获取范围类型 R 的迭代器类型的引用类型。
2) 用于获取范围类型 R 的迭代器类型的常量引用类型。
3) 用于获取范围类型 R 的迭代器类型的右值引用类型。
4) 用于获取范围类型 R 的迭代器类型的公共引用类型。

模板参数

R - 一个 range 类型或 sized_range 类型

缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的C++标准。

缺陷报告 应用于 发布时的行为 正确行为
LWG 3860 C++20 range_common_reference_t 缺失 已添加

参见

计算迭代器的关联类型
(别名模板)
获取范围的迭代器和哨兵类型
(别名模板)
获取范围的大小、差值和值类型
(别名模板)