Класс QSequentialIterable
Класс QSequentialIterable — это интерфейс итерирования для контейнера в QVariant. Подробнее...
| Заголовок: | #include <QSequentialIterable> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| С момента: | Qt 5.2 |
| Наследует: | QIterable |
Типы публичного доступа
| BidirectionalConstIterator | |
| BidirectionalIterator | |
| ForwardConstIterator | |
| ForwardIterator | |
| InputConstIterator | |
| InputIterator | |
| RandomAccessConstIterator | |
| RandomAccessIterator | |
| const_iterator | |
| iterator |
Публичные функции
| void | addValue(const QVariant &value, QSequentialIterable::Position position = Unspecified) |
| QVariant | at(qsizetype idx) const |
| void | removeValue(QSequentialIterable::Position position = Unspecified) |
| void | set(qsizetype idx, const QVariant &value) |
Подробное описание
Этот класс позволяет использовать несколько способов доступа к значениям контейнера, хранящегося в 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.
Документация по типам членов
[alias] QSequentialIterable::BidirectionalConstIterator
Предоставляет const_iterator с помощью std::bidirectional_iterator_tag.
[alias] QSequentialIterable::BidirectionalIterator
Предоставляет iterator с помощью std::bidirectional_iterator_tag.
[alias] QSequentialIterable::ForwardConstIterator
Предоставляет const_iterator с помощью std::forward_iterator_tag.
[alias] QSequentialIterable::ForwardIterator
Предоставляет iterator с помощью std::forward_iterator_tag.
[alias] QSequentialIterable::InputConstIterator
Предоставляет const_iterator с помощью std::input_iterator_tag.
[alias] QSequentialIterable::InputIterator
Предоставляет iterator с помощью std::input_iterator_tag.
[alias] QSequentialIterable::RandomAccessConstIterator
Предоставляет const_iterator с помощью std::random_access_iterator_tag.
[alias] QSequentialIterable::RandomAccessIterator
Предоставляет iterator с помощью std::random_access_iterator_tag.
[alias] QSequentialIterable::const_iterator
QSequentialIterable::const_iterator позволяет итерироваться по контейнеру в QVariant.
QSequentialIterable::const_iterator может быть создан только экземпляром QSequentialIterable и может использоваться аналогично другим итераторам в стиле stl.
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;
}
}
[alias, since 6.0] QSequentialIterable::iterator
QSequentialIterable::iterator позволяет итерироваться по контейнеру в QVariant.
QSequentialIterable::iterator может быть создан только экземпляром QSequentialIterable и может использоваться аналогично другим итераторам в стиле stl.
Этот typedef был добавлен в Qt 6.0.
Документация по функциям-членам
void QSequentialIterable::addValue(const QVariant &value, QSequentialIterable::Position position = Unspecified)
Добавляет value в контейнер в позиции position, если это возможно.
QVariant QSequentialIterable::at(qsizetype idx) const
Возвращает значение в позиции idx в контейнере.
void QSequentialIterable::removeValue(QSequentialIterable::Position position = Unspecified)
Удаляет значение из контейнера в позиции position, если это возможно.
void QSequentialIterable::set(qsizetype idx, const QVariant &value)
Устанавливает элемент в позиции idx в контейнере на значение value.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qsequentialiterable.html