const_iterator Struct

struct QSequentialIterable::const_iterator

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

This struct was introduced in Qt 5.2.

Public Functions

const_iterator(const const_iterator &other)
const_iterator &operator=(const const_iterator &other)
~const_iterator()
bool operator!=(const const_iterator &other) const
const QVariant operator*() const
const_iterator operator+(int j) const
const_iterator &operator++()
const_iterator operator++(int)
const_iterator &operator+=(int j)
const_iterator operator-(int j) const
const_iterator &operator--()
const_iterator operator--(int)
const_iterator &operator-=(int j)
bool operator==(const const_iterator &other) const

Detailed Description

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.

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;
    }
}

See also QSequentialIterable.

Member Function Documentation

const_iterator::const_iterator(const const_iterator &other)

Creates a copy of other.

const_iterator &const_iterator::operator=(const const_iterator &other)

Assigns other to this.

const_iterator::~const_iterator()

Destroys the QSequentialIterable::const_iterator.

bool const_iterator::operator!=(const const_iterator &other) const

Returns true if other points to a different item than this iterator; otherwise returns false.

See also operator==().

const QVariant const_iterator::operator*() const

Returns the current item, converted to a QVariant.

const_iterator const_iterator::operator+(int j) const

Returns an iterator to the item at j positions forward from this iterator.

See also operator-() and operator+=().

const_iterator &const_iterator::operator++()

The prefix ++ operator (++it) advances the iterator to the next item in the container and returns an iterator to the new current item.

Calling this function on QSequentialIterable::end() leads to undefined results.

See also operator--().

const_iterator const_iterator::operator++(int)

This is an overloaded function.

The postfix ++ operator (it++) advances the iterator to the next item in the container and returns an iterator to the previously current item.

const_iterator &const_iterator::operator+=(int j)

Advances the iterator by j items.

See also operator-=() and operator+().

const_iterator const_iterator::operator-(int j) const

Returns an iterator to the item at j positions backward from this iterator.

If the container in the QVariant does not support bi-directional iteration, calling this function leads to undefined results.

See also operator+(), operator-=(), and canReverseIterate().

const_iterator &const_iterator::operator--()

The prefix -- operator (--it) makes the preceding item current and returns an iterator to the new current item.

Calling this function on QSequentialIterable::begin() leads to undefined results.

If the container in the QVariant does not support bi-directional iteration, calling this function leads to undefined results.

See also operator++() and canReverseIterate().

const_iterator const_iterator::operator--(int)

This is an overloaded function.

The postfix -- operator (it--) makes the preceding item current and returns an iterator to the previously current item.

If the container in the QVariant does not support bi-directional iteration, calling this function leads to undefined results.

See also canReverseIterate().

const_iterator &const_iterator::operator-=(int j)

Makes the iterator go back by j items.

If the container in the QVariant does not support bi-directional iteration, calling this function leads to undefined results.

See also operator+=(), operator-(), and canReverseIterate().

bool const_iterator::operator==(const const_iterator &other) const

Returns true if other points to the same item as this iterator; otherwise returns false.

See also operator!=().

© 2020 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.