QAssociativeIterable Class

QAssociativeIterableクラスは、QVariant の連想コンテナのイテレート・インターフェイスです

Header: #include <QAssociativeIterable>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Inherits: QIterable

パブリック型

パブリック関数

bool containsKey(const QVariant &key)
QAssociativeIterable::const_iterator find(const QVariant &key) const
void insertKey(const QVariant &key)
QAssociativeIterable::iterator mutableFind(const QVariant &key)
void removeKey(const QVariant &key)
void setValue(const QVariant &key, const QVariant &mapped)
QVariant value(const QVariant &key) const

詳しい説明

このクラスは、QVariant 内に保持されている連想コンテナの要素にアクセスするためのいくつかのメソッドを提供します。QAssociativeIterable のインスタンスは、QVariantHash またはQVariantMap に変換できる場合、またはカスタム mutable ビューが登録されている場合、QVariant から抽出することができます。

QHash<int, QString> mapping;
mapping.insert(7, "Seven");
mapping.insert(11, "Eleven");
mapping.insert(42, "Forty-two");

QVariant variant = QVariant::fromValue(mapping);
if (variant.canConvert<QVariantHash>()) {
    QAssociativeIterable iterable = variant.value<QAssociativeIterable>();
    // Can use foreach over the values:
    foreach (const QVariant &v, iterable) {
        qDebug() << v;
    }
    // Can use C++11 range-for over the values:
    for (const QVariant &v : iterable) {
        qDebug() << v;
    }
    // Can use iterators:
    QAssociativeIterable::const_iterator it = iterable.begin();
    const QAssociativeIterable::const_iterator end = iterable.end();
    for ( ; it != end; ++it) {
        qDebug() << *it; // The current value
        qDebug() << it.key();
        qDebug() << it.value();
    }
}

コンテナを反復処理する前に、コンテナ自体はコピーされません。

QVariantも参照

メンバ型ドキュメント

[alias] QAssociativeIterable::BidirectionalConstIterator

std::bidirectional_iterator_tagを使用してconst_iterator

[alias] QAssociativeIterable::BidirectionalIterator

std::bidirectional_iterator_tag を使用してイテレータを公開します。

[alias] QAssociativeIterable::ForwardConstIterator

std::forward_iterator_tag を使用してconst_iterator を公開します。

[alias] QAssociativeIterable::ForwardIterator

std::forward_iterator_tag を使ってイテレータを公開しています。

[alias] QAssociativeIterable::InputConstIterator

std::input_iterator_tag を使ってconst_iterator

[alias] QAssociativeIterable::InputIterator

std::input_iterator_tag を使ってイテレータを公開しています。

[alias] QAssociativeIterable::RandomAccessConstIterator

std::random_access_iterator_tag を使ってconst_iterator

[alias] QAssociativeIterable::RandomAccessIterator

std::random_access_iterator_tag を使ったイテレータを公開しています。

[alias] QAssociativeIterable::const_iterator

QAssociativeIterable::const_iterator は、QVariant のコンテナに対する反復処理を可能にします。

QAssociativeIterable::const_iterator は、QAssociativeIterable インスタンスによってのみ作成することができ、他の stl 形式のイテレータと同様の方法で使用することができます。

QHash<int, QString> mapping;
mapping.insert(7, "Seven");
mapping.insert(11, "Eleven");
mapping.insert(42, "Forty-two");

QVariant variant = QVariant::fromValue(mapping);
if (variant.canConvert<QVariantHash>()) {
    QAssociativeIterable iterable = variant.value<QAssociativeIterable>();
    // Can use foreach over the values:
    foreach (const QVariant &v, iterable) {
        qDebug() << v;
    }
    // Can use C++11 range-for over the values:
    for (const QVariant &v : iterable) {
        qDebug() << v;
    }
    // Can use iterators:
    QAssociativeIterable::const_iterator it = iterable.begin();
    const QAssociativeIterable::const_iterator end = iterable.end();
    for ( ; it != end; ++it) {
        qDebug() << *it; // The current value
        qDebug() << it.key();
        qDebug() << it.value();
    }
}

QAssociativeIterableも参照してください

[alias, since 6.0] QAssociativeIterable::iterator

QAssociativeIterable::iterator は、QVariant のコンテナに対する反復処理を可能にします。

QAssociativeIterable::iterator は、QAssociativeIterable インスタンスによってのみ作成でき、他の stl スタイルのイテレータと同様の方法で使用できる。

この型定義は Qt 6.0 で導入された。

QAssociativeIterableも参照

メンバ関数の説明

bool QAssociativeIterable::containsKey(const QVariant &key)

与えられたkey を持つエントリがコンテナにあればtrue を返し、なければfalse を返す。key が期待される型に変換できない場合は、false が返される。

QAssociativeIterable::const_iterator QAssociativeIterable::find(const QVariant &key) const

与えられたkey の要素を指すconst_iterator を取得し、そのキーが存在しない場合はコンテナの末尾を取得する。key が期待する型に変換できない場合は、コンテナの末尾が返される。

void QAssociativeIterable::insertKey(const QVariant &key)

与えられたkey を持つ新しいエントリを挿入するか、与えられたkey を持つ既存のエントリのマップされた値をデフォルトのマップされた値にリセットします。key は、期待される型に強制される:変換可能でない場合は、デフォルト値が挿入されます。

QAssociativeIterable::iterator QAssociativeIterable::mutableFind(const QVariant &key)

指定されたkey の要素を指すイテレータ、またはそのキーが存在しない場合はコンテナの終端を指すイテレータを取得します。key が期待する型に変換できない場合は、コンテナの末尾が返されます。

void QAssociativeIterable::removeKey(const QVariant &key)

与えられたkey のエントリをコンテナから削除します。key は、期待される型に強制変換される:変換可能でない場合は、デフォルト値が削除されます。

void QAssociativeIterable::setValue(const QVariant &key, const QVariant &mapped)

可能であれば、key に関連付けられたマップされた値をmapped に設定します。指定されたkey のエントリがまだ存在しない場合、新しいエントリを挿入する。key がキー型に変換可能でない場合は、デフォルトで構成されるキー型の値が上書きされます。

value()も参照

QVariant QAssociativeIterable::value(const QVariant &key) const

指定されたkey のマップされた値、または、そのキーが存在しない場合は、マップされた型の デフォルトで構成されたQVariant を取得します。key がキー型に変換できない場合は、デフォルトで構成されるキーに関連付けられたマップされた値が返されます。

setValue()も参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。