const_iterator Class

class QFuture::const_iterator

The QFuture::const_iterator class provides an STL-style const iterator for QFuture. More...

Note: All functions in this class are reentrant.

Public Types

Public Functions

const_iterator()
const_iterator(const const_iterator &other)
bool operator!=(const const_iterator &other) const
const T &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)
const T *operator->() const
const_iterator &operator=(const const_iterator &other)
bool operator==(const const_iterator &other) const

Detailed Description

QFuture provides both STL-style iterators and Java-style iterators. The STL-style iterators are more low-level and more cumbersome to use; on the other hand, they are slightly faster and, for developers who already know STL, have the advantage of familiarity.

The default QFuture::const_iterator constructor creates an uninitialized iterator. You must initialize it using a QFuture function like QFuture::constBegin() or QFuture::constEnd() before you start iterating. Here's a typical loop that prints all the results available in a future:

QFuture<QString> future = ...;

QFuture<QString>::const_iterator i;
for (i = future.constBegin(); i != future.constEnd(); ++i)
    cout << qPrintable(*i) << endl;

See also QFutureIterator and QFuture.

Member Type Documentation

const_iterator::difference_type

Typedef for ptrdiff_t. Provided for STL compatibility.

const_iterator::iterator_category

Typedef for std::bidirectional_iterator_tag. Provided for STL compatibility.

const_iterator::pointer

Typedef for const T *. Provided for STL compatibility.

const_iterator::reference

Typedef for const T &. Provided for STL compatibility.

const_iterator::value_type

Typedef for T. Provided for STL compatibility.

Member Function Documentation

const_iterator::const_iterator()

Constructs an uninitialized iterator.

Functions like operator*() and operator++() should not be called on an uninitialized iterartor. Use operator=() to assign a value to it before using it.

See also QFuture::constBegin() and QFuture::constEnd().

const_iterator::const_iterator(const const_iterator &other)

Constructs a copy of other.

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

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

See also operator==().

const T &const_iterator::operator*() const

Returns the current result.

const_iterator const_iterator::operator+(int j) const

Returns an iterator to the results at j positions forward from this iterator. (If j is negative, the iterator goes backward.)

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

const_iterator &const_iterator::operator++()

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

Calling this function on QFuture<T>::constEnd() 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 result in the future and returns an iterator to the previously current result.

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

Advances the iterator by j results. (If j is negative, the iterator goes backward.)

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

const_iterator const_iterator::operator-(int j) const

Returns an iterator to the result at j positions backward from this iterator. (If j is negative, the iterator goes forward.)

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

const_iterator &const_iterator::operator--()

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

Calling this function on QFuture<T>::constBegin() leads to undefined results.

See also operator++().

const_iterator const_iterator::operator--(int)

This is an overloaded function.

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

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

Makes the iterator go back by j results. (If j is negative, the iterator goes forward.)

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

const T *const_iterator::operator->() const

Returns a pointer to the current result.

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

Assigns other to this iterator.

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

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

See also operator!=().

© 2023 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.