Класс QSequentialIterable
Класс QSequentialIterable представляет собой итерируемый интерфейс для контейнера в QVariant. Подробнее...
| Заголовок: | #include <QSequentialIterable> |
| qmake: | QT += core |
| С версии: | Qt 5.2 |
Этот класс был введён в Qt 5.2.
Открытые типы
| struct | const_iterator |
Открытые функции
| QVariant | at(int idx) const |
| QSequentialIterable::const_iterator | begin() const |
| bool | canReverseIterate() const |
| QSequentialIterable::const_iterator | end() const |
| int | size() const |
Подробное описание
Этот класс позволяет использовать несколько методов доступа к элементам контейнера, хранящегося в QVariant. Экземпляр QSequentialIterable может быть извлечён из QVariant, если он может быть преобразован в QVariantList.
QList<int> intList = {7, 11, 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 в контейнере.
QSequentialIterable::const_iterator QSequentialIterable::begin() const
Возвращает QSequentialIterable::const_iterator для начала контейнера. Это может быть использовано в итерации в стиле stl.
См. также end().
bool QSequentialIterable::canReverseIterate() const
Возвращает, возможно ли итерировать по контейнеру в обратном порядке. Это соответствует признаку итератора std::bidirectional_iterator_tag const_iterator контейнера.
QSequentialIterable::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/qt-5.15/qsequentialiterable.html