std::ranges::transform_view<V,F>::iterator
來自 cppreference.com
< cpp | ranges | transform_view
template< bool Const > class /*iterator*/ |
(C++20 起) (僅作說明*) |
|
transform_view::begin
的返回型別,以及當底層檢視是 common_range
時 transform_view::end
的返回型別。
由 const 限定的過載返回型別為 /*iterator*/<true>。非 const 限定的過載返回型別為 /*iterator*/<false>。
目錄 |
[編輯] 成員型別
成員型別 | 定義 |
Parent (私有) |
maybe-const <Const, ranges::transform_view<V, F>>(僅供說明的成員型別*) |
Base (私有) |
maybe-const <Const, V>(僅供說明的成員型別*) |
iterator_concept
|
|
iterator_category (僅當 Base 滿足時存在)forward_range )
|
令 MCF 為 maybe-const <Const, F>。
否則,令
|
value_type
|
std::remove_cvref_t<std::invoke_result_t<MCF&, ranges::range_reference_t<Base>>>, 其中 MCF 表示 maybe-const <Const, F> |
difference_type
|
ranges::range_difference_t<Base> |
[編輯] 資料成員
成員名稱 (Member name) | 定義 |
current_ (私有) |
一個指向 (可能為 const 限定的) V 的迭代器。(僅用於闡釋的成員物件*) |
parent_ (私有) |
指向父級 transform_view 的指標。(僅用於闡釋的成員物件*) |
[編輯] 成員函式
構造一個迭代器 (公開成員函式) | |
返回底層迭代器 (公開成員函式) | |
訪問轉換後的元素 (公開成員函式) | |
透過索引訪問元素 (公開成員函式) | |
前進或後退底層迭代器 (公開成員函式) |
[編輯] 非成員函式
比較底層迭代器 (函式) | |
(C++20) |
進行迭代器算術 (函式) |
(C++20) |
獲取轉換後的元素的右值引用 (函式) |
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
P2259R1 | C++20 | 成員 iterator_category 總是被定義 |
僅當 Base 滿足 forward_range 時才定義 |
LWG 3555 | C++20 | iterator_concept 的定義忽略了 const |
已考慮 |
LWG 3798 | C++20 | 如果轉換結果是右值引用,則 iterator_category 僅為輸入型別 |
可能具有更強的類別 |