std::experimental::ranges::reference_t, std::experimental::ranges::rvalue_reference_t, std::experimental::ranges::iter_common_reference_t
來自 cppreference.com
< cpp | experimental | ranges
定義於標頭檔案 <experimental/ranges/iterator> |
||
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。