std::ranges::transform_view<V,F>:: iterator
|
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
|
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++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となる
|
より強いカテゴリを持つ可能性がある |