Namespaces
Variants

std::ranges::join_with_view<V,Pattern>:: iterator

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

ranges:: join_with_view < V, Pattern > :: iterator は、 begin() および end() によって返されるイテレータの型です。 ranges:: join_with_view < V, Pattern > の。

このクラスのイテレータの状態は、2つのネストしたイテレータが存在するかのように管理されます:

  • 親範囲への 外部イテレータ * parent_

このイテレータクラスは、外側のイテレータがデリファレンス可能でない場合を除き、内側のイテレータが常にデリファレンス可能であるという不変条件を持ちます。イテレータが構築、インクリメント、またはデクリメントされるとき、その外側のイテレータは不変条件を維持するために調整される可能性があります。

目次

テンプレートパラメータ

Const - イテレータが定数イテレータかどうか

ネスト型

説明専用型
定義
Parent maybe-const  < Const, ranges:: join_with_view < V, Pattern >>
( 説明専用メンバ型* )
Base maybe-const  < Const, V >
( 説明専用メンバ型* )
InnerBase ranges:: range_reference_t < Base  >
( 説明専用メンバ型* )
PatternBase maybe-const  < Const, Pattern >
( 説明専用メンバ型* )
OuterIter ranges:: iterator_t < Base  >
( 説明専用メンバ型* )
InnerIter ranges:: iterator_t < InnerBase  >
( 説明専用メンバ型* )
PatternIter ranges:: iterator_t < PatternBase  >
( 説明専用メンバ型* )
イテレータプロパティ型
定義
iterator_concept イテレータタグ 下記参照
iterator_category
(条件付きで存在)
イテレータタグ、 下記参照
value_type

std:: common_type_t < ranges:: range_value_t < InnerBase  > ,
ranges:: range_value_t < PatternBase  >>

difference_type

std:: common_type_t < ranges:: range_difference_t < Base  > ,
ranges:: range_difference_t < InnerBase  > ,
ranges:: range_difference_t < PatternBase  >>

イテレータコンセプトの決定

iterator_concept は以下のように定義されます:

イテレータカテゴリの判定

以下の型が与えられた場合:

iterator_category は、 std:: is_reference_v < InnerBase  > true であり、かつ Base InnerBase の両方が forward_range をモデル化する場合にのみ定義されます。この場合、以下のように定義されます:

データメンバ

メンバー 説明
Parent  * parent_ 親へのポインタ join_with_view
( 説明専用メンバーオブジェクト* )
OuterIter outer_it_
Base forward_range をモデル化する場合のみ存在)
外側イテレータ
( 説明専用メンバーオブジェクト* )
std:: variant < PatternIter  , InnerIter  > inner_it_ 内側イテレータ
( 説明専用メンバーオブジェクト* )

メンバー関数

イテレータを構築する
(public member function)
要素にアクセスする
(public member function)
基盤となるイテレータを進めるまたは戻す
(public member function)

非メンバー関数

(C++23)
基底となるイテレータを比較する
(関数)
(C++23)
基底となるイテレータをデリファレンスした結果を、関連付けられた右辺値参照型にキャストする
(関数)
(C++23)
2つの基底となるイテレータが指すオブジェクトを交換する
(関数)