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

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
定义于头文件 <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 缺失 已添加

参见

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