Spec-Zone.ru › Qt

Класс 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.2/qsequentialiterable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API