The QAssociativeIterable class is an iterable interface for an associative container in a QVariant. More...
Header: | #include <QAssociativeIterable> |
qmake: | QT += core |
Since: | Qt 5.2 |
This class was introduced in Qt 5.2.
struct | const_iterator |
QAssociativeIterable::const_iterator | begin() const |
QAssociativeIterable::const_iterator | end() const |
QAssociativeIterable::const_iterator | find(const QVariant &key) const |
int | size() const |
QVariant | value(const QVariant &key) const |
This class allows several methods of accessing the elements of an associative container held within a QVariant. An instance of QAssociativeIterable can be extracted from a QVariant if it can be converted to a QVariantHash or QVariantMap.
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(); } }
The container itself is not copied before iterating over it.
See also QVariant.
Returns a QAssociativeIterable::const_iterator for the beginning of the container. This can be used in stl-style iteration.
See also end().
Returns a QAssociativeIterable::const_iterator for the end of the container. This can be used in stl-style iteration.
See also begin().
Returns a QAssociativeIterable::const_iterator for the given key key in the container, if the types are convertible.
If the key is not found, returns end().
This can be used in stl-style iteration.
This function was introduced in Qt 5.5.
See also begin(), end(), and value().
Returns the number of elements in the container.
Returns the value for the given key in the container, if the types are convertible.
See also find().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qassociativeiterable.html