Класс QSequentialIterable
Класс QSequentialIterable — это интерфейс итерируемого контейнера в QVariant. Подробнее...
| Заголовок: | #include <QSequentialIterable> |
| qmake: | QT += core |
| С момента: | Qt 5.2 |
Публичные типы
| класс | const_iterator |
Публичные функции
| QVariant | at(int idx) const |
| const_iterator | begin() const |
| bool | canReverseIterate() const |
| const_iterator | end() const |
| int | size() const |
Подробное описание
Класс QSequentialIterable — это интерфейс итерируемого контейнера в QVariant.
Этот класс позволяет использовать несколько методов доступа к элементам контейнера, хранящегося в QVariant. Экземпляр QSequentialIterable можно извлечь из QVariant, если его можно преобразовать в QVariantList.
QList<int> intList;
intList.push_back(7);
intList.push_back(11);
intList.push_back(42);
QVariant variant = QVariant::fromValue(intList);
if (variant.canConvert<QVariantList>()) {
QSequentialIterable iterable = variant.value<QSequentialIterable>();
// Can use foreach:
foreach (const QVariant &v, iterable) {
qDebug() << v;
}
// Can use C++11 range-for:
for (const QVariant &v : iterable) {
qDebug() << v;
}
// Can use iterators:
QSequentialIterable::const_iterator it = iterable.begin();
const QSequentialIterable::const_iterator end = iterable.end();
for ( ; it != end; ++it) {
qDebug() << *it;
}
} Сам контейнер не копируется перед итерацией по нему.
См. также QVariant.
Документация по членам-функциям
QVariant QSequentialIterable::at(int idx) const
Возвращает элемент в позиции idx в контейнере.
const_iterator QSequentialIterable::begin() const
Возвращает QSequentialIterable::const_iterator для начала контейнера. Это можно использовать для итерации в стиле STL.
См. также end().
bool QSequentialIterable::canReverseIterate() const
Возвращает, можно ли перебирать контейнер в обратном порядке. Это соответствует значению std::bidirectional_iterator_tag для итератора const_iterator контейнера.
const_iterator QSequentialIterable::end() const
Возвращает QSequentialIterable::const_iterator для конца контейнера. Это можно использовать для итерации в стиле STL.
См. также begin().
int QSequentialIterable::size() const
Возвращает количество элементов в контейнере.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qsequentialiterable.html