QAssociativeIterable Class
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.
Public Types
Public Functions
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 |
Detailed Description
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.
Member Function Documentation
QAssociativeIterable::const_iterator QAssociativeIterable::begin() const
Returns a QAssociativeIterable::const_iterator for the beginning of the container. This can be used in stl-style iteration.
See also end().
QAssociativeIterable::const_iterator QAssociativeIterable::end() const
Returns a QAssociativeIterable::const_iterator for the end of the container. This can be used in stl-style iteration.
See also begin().
QAssociativeIterable::const_iterator QAssociativeIterable::find(const QVariant &key) const
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().
int QAssociativeIterable::size() const
Returns the number of elements in the container.
QVariant QAssociativeIterable::value(const QVariant &key) const
Returns the value for the given key in the container, if the types are convertible.
See also find().
© 2020 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.