名前空間
変種
操作

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

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

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

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

  • 親レンジへのアウトサイダイテレータ *parent_
  • パターンレンジ parent_ ->pattern_ または親レンジの子レンジへのインサイダイテレータ inner_it_

このイテレータクラスには、アウトサイダイテレータが無効化されない限り、インサイダイテレータは常に間接参照可能であるという不変条件があります。イテレータが構築、インクリメント、またはデクリメントされる際、そのアウトサイダイテレータは不変条件を保持するように調整される可能性があります。

目次

[編集] テンプレートパラメータ

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_
(Baseforward_range をモデルとする場合のみ存在)
アウトサイダイテレータ
(説明用のメンバオブジェクト*)
std::variant<PatternIter , InnerIter > inner_it_ インサイダイテレータ
(説明用のメンバオブジェクト*)

[編集] メンバ関数

イテレータを構築する
(public member function)
要素にアクセスします
(public member function)
基底イテレータを進めたり、後退させたりします。
(public member function) [編集]

[編集] 非メンバ関数

基底イテレータを比較する
(関数)
(C++23)
基底イテレータの間接参照の結果を関連する右辺値参照型にキャストする
(関数)
(C++23)
2つの基底イテレータが指すオブジェクトをスワップする
(関数)
English 日本語 中文(简体) 中文(繁體)