Namespaces
Variants

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

From cppreference.net
Ranges library
Range adaptors
template < bool Const >
class /*iterator*/
(C++20以降)
( 説明専用* )

transform_view::begin および、 基盤となるビューが common_range である場合の transform_view::end の戻り値の型。

/*iterator*/ < true > はconst修飾されたオーバーロードによって返されます。型 /*iterator*/ < false > は非const修飾されたオーバーロードによって返されます。

目次

メンバー型

メンバ型 定義
Parent (private) maybe-const  < Const, ranges:: transform_view < V, F >>
( 説明専用メンバ型* )
Base (private) maybe-const  < Const, V >
( 説明専用メンバ型* )
iterator_concept
iterator_category
(present only if Base models
forward_range )
Let MCF be maybe-const  < Const, F > .

Otherwise, let C be std:: iterator_traits < ranges:: iterator_t < Base >> :: iterator_category .

value_type std:: remove_cvref_t < std:: invoke_result_t < MCF & , ranges:: range_reference_t < Base >>> , where MCF denotes maybe-const  < Const, F >
difference_type ranges:: range_difference_t < Base >

データメンバ

メンバー名 定義
current_ (private) (const修飾された可能性のある) V へのイテレータ。
( 説明専用メンバーオブジェクト* )
parent_ (private) transform_view へのポインタ。
( 説明専用メンバーオブジェクト* )

メンバー関数

イテレータを構築する
(public member function)
基盤となるイテレータを返す
(public member function)
変換された要素にアクセスする
(public member function)
インデックスによる要素へのアクセス
(public member function)
基盤となるイテレータを進めるまたは戻す
(public member function)

非メンバー関数

基底のイテレータを比較する
(関数)
イテレータ演算を実行する
(関数)
(C++20)
変換された要素への右辺値参照を取得する
(関数)

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
P2259R1 C++20 member iterator_category は常に定義される Base forward_range をモデル化する場合のみ定義される
LWG 3555 C++20 iterator_concept の定義がconstを無視する constを考慮するように変更
LWG 3798 C++20 変換結果が右辺値参照の場合、 iterator_category はinput-onlyとなる より強いカテゴリを持つ可能性がある