std::experimental::ranges::reference_t, std::experimental::ranges::rvalue_reference_t, std::experimental::ranges::iter_common_reference_t
来自 cppreference.cn
< cpp | experimental | ranges
template< class T > concept bool /*dereferenceable*/ = requires(T& t) { {*t} -> auto&&; }; |
(仅为说明目的的展示性定义。实现不需要以此方式定义实体。此实体的名称未指定。) | |
template< /*dereferenceable*/ T > using reference_t = decltype(*declval<T&>()); |
(1) | (ranges TS) |
template< /*dereferenceable*/ T > requires requires(T& t) { { ranges::iter_move(t) } -> auto&&; } |
(2) | (ranges TS) |
template< Readable T > using iter_common_reference_t = ranges::common_reference_t<ranges::reference_t<T>, |
(3) | (ranges TS) |
1) 获取可解引用类型
T
的引用类型。3) 计算
Readable
类型的公共引用类型。 这是其引用类型及其值类型的左值引用的公共引用类型。[编辑] 注释
约束 -> auto&& 检查表达式的类型不是 void。