std::experimental::ranges::reference_t, std::experimental::ranges::rvalue_reference_t, std::experimental::ranges::iter_common_reference_t
迭代器概念 | ||||||||||||||||||||||
间接可调用概念 | ||||||||||||||||||||||
常用算法要求 | ||||||||||||||||||||||
概念工具 | ||||||||||||||||||||||
迭代器工具及运算 | ||||||||||||||||||||||
迭代器特性 | ||||||||||||||||||||||
|
||||||||||||||||||||||
迭代器适配器 | ||||||||||||||||||||||
流迭代器 | ||||||||||||||||||||||
template
<class
T>
concept bool /*dereferenceable*/ = requires(T& t) { {*t} -> auto&&; }; // 仅为说明 |
||
template<
/*dereferenceable*/
T >
using reference_t = decltype(*declval<T&>()); |
(1) | (范围 TS) |
template<
/*dereferenceable*/
T >
requires requires(T&
t)
{
{
ranges::iter_move(t)
}
->
auto&&;
} |
(2) | (范围 TS) |
template<
Readable T >
using
iter_common_reference_t
= |
(3) | (范围 TS) |
T
的引用类型。T
的右值引用类型,即 ranges::iter_move 的返回类型。
Readable
的共用引用类型。这是其引用类型及到其值类型的左值引用的共用引用类型。注意
-> auto&& 制约检查表达式的类型是否非 void 。