const_iterator Class
class QDirListing::const_iteratorこのクラスはQt 6.8で導入された。
- 継承メンバを含む全メンバのリスト
- const_iterator はInput/Output および Networking に含まれます。
パブリックタイプ
パブリック関数
QDirListing::const_iterator::reference | operator*() const |
QDirListing::const_iterator & | operator++() |
void | operator++(int) |
QDirListing::const_iterator::pointer | operator->() const |
詳細説明
QDirListing::cbegin() が返すイテレータ型。
- これは順方向のみのシングルパスイテレータです (ディレクトリエントリを逆順に反復することはできません)。
- コピーできない。
std::move()
d のみ。 std::input_iterator
をモデル化したオブジェクトに対するポストインクリメントの返り値は、部分的に形成されたもの(その後進められたイテレータのコピー)です。このようなオブジェクトに対する有効な操作は、破棄と新しいイテレータの割り当てだけです。したがって、ポストインクリメント演算子はイテレータを進め、void
を返します。- ランダムアクセスを許さない
- 範囲指定ループや、ランダムアクセスのイテレータを必要としない C++20 std::ranges アルゴリズムで使用できます。
- 有効なイテレータを再参照すると
const DirEntry &
- (c)end() は、反復処理の終了を示すQDirListing::sentinel を返します。end() と等しい値を比較するイテレータの再参照は、未定義の動作です。
注: 「古典的な」 STL アルゴリズムは反復子/センチネルをサポートしていないため、QDirListing には C++20 std::ranges アルゴリズムを使用するか、C++17 で範囲ベースのアルゴリズムを提供するサードパーティ製ライブラリを使用する必要があります。
QDirListing 、QDirListing::sentinel 、およびQDirListing::DirEntryも参照してください 。
メンバ型のドキュメント
[alias]
const_iterator::pointer
const QDirListing::DirEntry *
に対する typedef 。
[alias]
const_iterator::reference
const QDirListing::DirEntry &
の typedef 。
メンバ関数ドキュメント
QDirListing::const_iterator::reference const_iterator::operator*() const
このイテレータが指すディレクトリエントリのconst QDirListing::DirEntry &
を返す。
QDirListing::const_iterator &const_iterator::operator++()
プリインクリメント演算子。イテレータを進め、その参照を返す。
void const_iterator::operator++(int)
ポストインクリメント演算子。
QDirListing::const_iterator つまり、移動のみ、前進のみ、シングルパスのイテレータであり、ランダムアクセスは許可されません。
std::input_iterator
をモデルとするオブジェクトに対する post-increment の返り値は、部分的に形成されたもの(前に進められたイテレータのコピー)です。このようなオブジェクトに対する有効な操作は、破棄と新しいイテレータの割り当てだけです。したがって、ポストインクリメント演算子はイテレータを進め、void
を返す。
QDirListing::const_iterator::pointer const_iterator::operator->() const
このイテレータが指すディレクトリ・エントリへのconst QDirListing::DirEntry *
を返します。
©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。