Namespaces
Variants

std::ranges::basic_istream_view:: iterator

From cppreference.net
Ranges library
Range adaptors
struct /*iterator*/ ;
( 説明専用* )

ranges:: basic_istream_view < Val, CharT, Traits > :: iterator は、 ranges:: basic_istream_view < Val, CharT, Traits > begin() によって返されるイテレータの型です。

iterator input_iterator ですが、 LegacyInputIterator を満たさないため、C++20以前の アルゴリズム では動作しません。

目次

ネスト型

定義
iterator_concept std::input_iterator_tag
difference_type std::ptrdiff_t
value_type Val

データメンバ

メンバー 定義
ranges:: basic_istream_view < Val, CharT, Traits > parent_ 親ビューへのポインタ
( 説明専用メンバーオブジェクト* )

メンバー関数

std::ranges::basic_istream_view:: iterator :: iterator

/*iterator*/ ( const /*iterator*/ & ) = delete ;
(1) (since C++20)
/*iterator*/ ( /*iterator*/ && ) = default ;
(2) (since C++20)
constexpr explicit /*iterator*/ ( basic_istream_view & parent ) ;
(3) (since C++20)
1) コピーコンストラクタは削除されています。このイテレータはコピーできません。
2) ムーブコンストラクタはデフォルトで定義されます。
3) parent_ std:: addressof ( parent ) で初期化します。

(注:指定されたテキストブロック内に翻訳対象の自然言語テキストが存在しないため、HTML構造はそのまま保持されています)

std::ranges::basic_istream_view:: iterator :: operator=

/*iterator*/ & operator = ( const /*iterator*/ & ) = delete ;
(1) (C++20以降)
/*iterator*/ & operator = ( /*iterator*/ && ) = default ;
(2) (C++20以降)
1) コピー代入演算子は削除されています。このイテレータはコピー不可です。
2) ムーブ代入演算子はデフォルト化されています。

std::ranges::basic_istream_view:: iterator :: operator++

/*iterator*/ & operator ++ ( ) ;
(1) (C++20以降)
void operator ++ ( int ) ;
(2) (C++20以降)
1) 以下と等価: * parent_  - > stream_ >> parent_  - > value_
2) 以下と等価: ++* this

(注:指定されたテキストブロック内に翻訳対象の自然言語テキストが含まれていないため、HTML構造はそのまま保持されています)

std::ranges::basic_istream_view:: iterator :: operator*

Val & operator * ( ) const ;
(C++20以降)

parent_  - > value_ を返します。

非メンバー関数

operator== (std::ranges::basic_istream_view:: iterator , std::default_sentinel)

friend bool operator == ( const /*iterator*/ & x, std:: default_sentinel_t ) ;
(C++20以降)

!* parent_ -> stream_ を返します。

この関数は通常の 非修飾名探索 または 修飾名探索 では可視化されず、 std::ranges::basic_istream_view:: iterator が引数の関連クラスである場合にのみ 実引数依存探索 によって発見されます。

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR Applied to Behavior as published Correct behavior
P2325R3 C++20 default constructor was provided as C++20
iterators must be default_initializable
removed along with
the requirement