名前空間
変種
操作

std::ranges::join_view<V>::iterator

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

join_view::begin の戻り値の型、および、外側の範囲 V と内側の範囲 ranges::range_reference_t<V> が両方とも common_range を満たし、かつ、親の join_viewforward_range である場合の join_view::end の戻り値の型です。

Vsimple view でない場合(例えば、ranges::iterator_t<const V> が無効であるか、または ranges::iterator_t<V> と異なる場合)、const オーバーロードから返されるイテレータの Const は true であり、それ以外の場合は false です。V が simple view の場合、Constranges::range_reference_t<V> が参照である場合に限り true となります。

目次

[edit] メンバ型

メンバ 定義
Parent maybe_const <Const, ranges::join_view<V>>
(説明専用メンバ型*)
Base maybe_const <Const, V>
(説明専用メンバ型*)
OuterIter ranges::iterator_t<Base>
(説明専用メンバ型*)
InnerIter ranges::iterator_t<ranges::range_reference_t<Base>>
(説明専用メンバ型*)
iterator_concept
iterator_category
(条件付きで存在)
iterator::iterator_concept(上記参照)が std::forward_iterator_tag を示す場合にのみ定義されます。

OUTERCstd::iterator_traits<ranges::iterator_t<Base>>::iterator_category とし、INNERCstd::iterator_traits<ranges::iterator_t<ranges::range_reference_t<Base>>>::
    iterator_category
とします。

value_type ranges::range_value_t<ranges::range_reference_t<Base>>
difference_type std::common_type_t<ranges::range_difference_t<Base>,
                   ranges::range_difference_t<ranges::range_reference_t<Base>>>

[edit] データメンバ

メンバ 定義
OuterIter outer_ (private) 外側のイテレータ
(説明用のメンバオブジェクト*)
InnerIter inner_ (private) 内側のイテレータ
(説明用のメンバオブジェクト*)
Parent* parent_ (private) 親オブジェクトへのポインタ
(説明用のメンバオブジェクト*)

[edit] メンバ関数

イテレータを構築する
(public member function)
要素にアクセスします
(public member function)
基底イテレータを進めたり後退させたりします。
(public member function)
空の内側範囲をスキップします。
(説明専用メンバ関数*)

[edit] 非メンバ関数

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