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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。