QSetIterator Class
template <typename T> class QSetIteratorQSetIterator クラスは、QSet 用の Java スタイルの const イテレータを提供します。さらに...
Header: | #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() も参照して ください。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。