名前空間
変種
操作

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

From cppreference.com
 
 
Rangesライブラリ
Rangeアダプタ
 
 
template< bool Const >
class /*iterator*/
(C++20以降)
(説明用*)

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

Consttrueの場合、型/*iterator*/<true>が返されます。Constfalseの場合、型/*iterator*/<false>が返されます。

目次

[編集] メンバ型

メンバ型 定義
Parent (private) maybe_const <Const, ranges::transform_view<V, F>>
(説明専用メンバ型*)
Base (private) 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 MCFmaybe_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)
変換された要素への rvalue 参照を取得します。
(関数)

[編集] 不具合報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
P2259R1 C++20 メンバ iterator_category は常に定義されます。 Baseforward_range をモデルとする場合にのみ定義されます。
LWG 3555 C++20 iterator_concept の定義は const を無視します。 考慮事項として挙げられました。
LWG 3798 C++20 変換結果が rvalue 参照の場合、iterator_category は input-only です。 より強いカテゴリを持つ可能性があります。
English 日本語 中文(简体) 中文(繁體)