名稱空間
變體
操作

std::ranges::transform_view<V,F>::iterator

來自 cppreference.com
 
 
範圍庫 (Ranges library)
範圍介面卡 (Range adaptors)
 
 
template< bool Const >
class /*iterator*/
(C++20 起)
(僅作說明*)

transform_view::begin 的返回型別,以及當底層檢視是 common_rangetransform_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)
MCFmaybe-const <Const, F>

否則,令 Cstd::iterator_traits<ranges::iterator_t<Base>>::iterator_category

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++ 標準。

缺陷報告 應用於 釋出時的行為 正確的行為
P2259R1 C++20 成員 iterator_category 總是被定義 僅當 Base 滿足 forward_range 時才定義
LWG 3555 C++20 iterator_concept 的定義忽略了 const 已考慮
LWG 3798 C++20 如果轉換結果是右值引用,則 iterator_category 僅為輸入型別 可能具有更強的類別