IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QSequentialIterable Class

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

This class was introduced in Qt 5.2.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QSequentialIterable Class

  • Header: QSequentialIterable

  • Since: Qt 5.2

  • CMake:

    find_package(Qt6 REQUIRED COMPONENTS Core)

    target_link_libraries(mytarget PRIVATE Qt6::Core)

  • qmake: QT += core

  • Inherits: QIterable

Detailed Description

This class allows several methods of accessing the values 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.

 
Sélectionnez
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

See also QVariant

Member Type Documentation

 

[alias] QSequentialIterable::BidirectionalConstIterator

Exposes a const_iterator using std::bidirectional_iterator_tag.

[alias] QSequentialIterable::BidirectionalIterator

Exposes an iterator using std::bidirectional_iterator_tag.

[alias] QSequentialIterable::ForwardConstIterator

Exposes a const_iterator using std::forward_iterator_tag.

[alias] QSequentialIterable::ForwardIterator

Exposes an iterator using std::forward_iterator_tag.

[alias] QSequentialIterable::InputConstIterator

Exposes a const_iterator using std::input_iterator_tag.

[alias] QSequentialIterable::InputIterator

Exposes an iterator using std::input_iterator_tag.

[alias] QSequentialIterable::RandomAccessConstIterator

Exposes a const_iterator using std::random_access_iterator_tag.

[alias] QSequentialIterable::RandomAccessIterator

Exposes an iterator using std::random_access_iterator_tag.

[alias] QSequentialIterable::const_iterator

The QSequentialIterable::const_iterator allows iteration over a container in a QVariant.

A QSequentialIterable::const_iterator can only be created by a QSequentialIterable instance, and can be used in a way similar to other stl-style iterators.

 
Sélectionnez
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

The QSequentialIterable::iterator allows iteration over a container in a QVariant.

A QSequentialIterable::iterator can only be created by a QSequentialIterable instance, and can be used in a way similar to other stl-style iterators.

This typedef was introduced in Qt 6.0.

Member Function Documentation

 

void QSequentialIterable::addValue(const QVariant &value, QSequentialIterable::Position position = Unspecified)

Adds value to the container, at position, if possible.

QVariant QSequentialIterable::at(qsizetype idx) const

Returns the value at position idx in the container.

void QSequentialIterable::removeValue(QSequentialIterable::Position position = Unspecified)

Removes a value from the container, at position, if possible.

void QSequentialIterable::set(qsizetype idx, const QVariant &value)

Sets the element at position idx in the container to value.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+