QSetIterator Class
template <typename T> class QSetIteratorQSetIterator クラスは、QSet 用の Java スタイルの const イテレータを提供します。さらに...
ヘッダー | #include <QSetIterator> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
パブリック関数
QSetIterator(const QSet<T> &set) | |
bool | findNext(const T &value) |
bool | hasNext() const |
const T & | next() |
const T & | peekNext() const |
void | toBack() |
void | toFront() |
QSetIterator<T> & | operator=(const QSet<T> &set) |
詳細説明
QSet にはJavaスタイルのイテレータと STLスタイルのイテレータの両方がある。STLスタイルのイテレータの方がより効率的であり、優先されるべきである。
QSetIterator<T> では、QSet<T> を反復処理できます。反復処理中にセットを変更したい場合は、代わりにQMutableSetIterator<T> を使用してください。
コンストラクタはQSet を引数にとります。構築後、イテレータはセットの一番最初(最初のアイテムの前)に位置します。以下は、すべての要素を順次反復処理する方法です:
QSet<QString> set; ... QSetIterator<QString> i(set); while (i.hasNext()) float f = i.next();
next ()関数は、セットの次の項目を返し、イテレータを進めます。STLスタイルのイテレータとは異なり、Javaスタイルのイテレータは、項目を直接指定するのではなく、項目間を指定します。next ()への最初の呼び出しは、イテレータを最初の項目と2番目の項目の間の位置に進め、最初の項目を返します。next ()への2回目の呼び出しは、イテレータを2番目の項目と3番目の項目の間の位置に進め、2番目の項目を返します。
特定の値の出現回数をすべて検索したい場合は、findNext ()をループ内で使用する。
同じセットに対して複数のイテレータを使用できます。QSetIterator がアクティブな間にセットが変更された場合、QSetIterator は、変更されたコピーを無視して、元のセットに対する反復処理を続行します。
QMutableSetIterator およびQSet::const_iteratorも参照してください 。
メンバ関数のドキュメント
QSetIterator::QSetIterator(const QSet<T> &set)
set を走査するためのイテレータを構築します。イテレータは、セットの先頭 (最初のアイテムの前) に設定されます。
operator=()も参照してください 。
QSetIterator<T> &QSetIterator::operator=(const QSet<T> &set)
イテレータをset で動作させます。イテレータはセットの先頭(最初のアイテムの前)に設定されます。
void QSetIterator::toFront()
イテレータをコンテナの先頭(最初の項目の前)に移動する。
bool QSetIterator::findNext(const T &value)
現在のイテレータ位置から前方に向かってvalue を検索する。value が見つかればtrue
を返し、見つからなければfalse
を返す。
呼び出し後、value が見つかった場合、イテレータは一致するアイテムの直後に配置される。そうでない場合、イテレータはコンテナの後ろに配置される。
bool QSetIterator::hasNext() const
イテレータの前に少なくとも1つのアイテムがある場合、つまりイテレータがコンテナの後ろにない場合はtrue
を返し、そうでない場合はfalse
を返す。
next()も参照 。
const T &QSetIterator::next()
次の項目を返し、イテレータを1つ進めます。
コンテナの後ろに位置するイテレータに対してこの関数を呼び出すと、未定義の結果になります。
const T &QSetIterator::peekNext() const
イテレータを移動させずに次の項目を返す。
コンテナの後ろに位置するイテレータに対してこの関数を呼び出すと、未定義の結果になります。
void QSetIterator::toBack()
イテレータをコンテナの後ろ(最後のアイテムの後)に移動します。
toFront()も参照 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.