Класс QAssociativeIterable
Класс QAssociativeIterable — это интерфейс итерируемости для ассоциативного контейнера в QVariant. Подробнее...
| Заголовок: | #include <QAssociativeIterable> |
| qmake: | QT += core |
| С момента: | Qt 5.2 |
Открытые типы
| класс | 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 |
Подробное описание
Класс QAssociativeIterable — это интерфейс итерируемости для ассоциативного контейнера в QVariant.
Этот класс предоставляет несколько методов доступа к элементам ассоциативного контейнера, содержащегося в QVariant. Экземпляр QAssociativeIterable можно извлечь из QVariant, если он может быть преобразован в QVariantHash или 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();
}
} Сам контейнер не копируется перед итерацией по нему.
См. также QVariant.
Документация по функциям-членам
QAssociativeIterable::const_iterator QAssociativeIterable::begin() const
Возвращает QAssociativeIterable::const_iterator для начала контейнера. Это можно использовать для итерации в стиле STL.
См. также end().
QAssociativeIterable::const_iterator QAssociativeIterable::end() const
Возвращает QAssociativeIterable::const_iterator для конца контейнера. Это можно использовать для итерации в стиле STL.
См. также begin().
QAssociativeIterable::const_iterator QAssociativeIterable::find(const QVariant &key) const
Возвращает QAssociativeIterable::const_iterator для заданного ключа key в контейнере, если типы преобразуемы.
Если ключ не найден, возвращает end().
Это можно использовать для итерации в стиле STL.
Эта функция была добавлена в Qt 5.5.
См. также begin(), end(), и value().
int QAssociativeIterable::size() const
Возвращает количество элементов в контейнере.
QVariant QAssociativeIterable::value(const QVariant &key) const
Возвращает значение для заданного ключа key в контейнере, если типы преобразуемы.
См. также find().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qassociativeiterable.html