QSequentialIterable Class

The QSequentialIterable class is an iterable interface for a container in a QVariant. More...

Header: #include <QSequentialIterable>
qmake: QT += core
Since: Qt 5.2

Public Types

Public Functions

QVariant at(int idx) const
QSequentialIterable::const_iterator begin() const
bool canReverseIterate() const
QSequentialIterable::const_iterator end() const
int size() const

Detailed Description

The QSequentialIterable class is an iterable interface for a container in a QVariant.

This class allows several methods of accessing the elements of a container held within a QVariant. An instance of QSequentialIterable can be extracted from a QVariant if it can be converted to a 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;
    }
}

The container itself is not copied before iterating over it.

See also QVariant.

Member Function Documentation

QVariant QSequentialIterable::at(int idx) const

Returns the element at position idx in the container.

QSequentialIterable::const_iterator QSequentialIterable::begin() const

Returns a QSequentialIterable::const_iterator for the beginning of the container. This can be used in stl-style iteration.

See also end().

bool QSequentialIterable::canReverseIterate() const

Returns whether it is possible to iterate over the container in reverse. This corresponds to the std::bidirectional_iterator_tag iterator trait of the const_iterator of the container.

QSequentialIterable::const_iterator QSequentialIterable::end() const

Returns a QSequentialIterable::const_iterator for the end of the container. This can be used in stl-style iteration.

See also begin().

int QSequentialIterable::size() const

Returns the number of elements in the container.

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support