QValueListIterator(3qt)

πŸ“¦ version 3.3.8b, in fedora 43, fedora 44

πŸ’– QValueListIterator πŸ’–

okay bestie, welcome to the 3qt manual page for QValueListIterator β€” pull up a chair, we're gonna talk iterators and it's gonna be so good 🫢


NAME ✨

QValueListIterator β€” Iterator for QValueList


SYNOPSIS 🌸

lowkey the best part: every single function in this class is reentrant when Qt is built with thread support. slay.

#include <qvaluelist.h>

Public Members πŸ‘‘

here's the whole roster, no gatekeeping:

typedef T value_type
typedef T * pointer
typedef T & reference
QValueListIterator ()
QValueListIterator ( const QValueListIterator<T> & it )
bool operator== ( const QValueListIterator<T> & it ) const
bool operator!= ( const QValueListIterator<T> & it ) const
const T & operator* () const
T & operator* ()
QValueListIterator<T> & operator++ ()
QValueListIterator<T> operator++ ( int )
QValueListIterator<T> & operator-- ()
QValueListIterator<T> operator-- ( int )
QValueListIterator<T> & operator+= ( int j )
QValueListIterator<T> & operator-= ( int j )

DESCRIPTION πŸ¦‹

The QValueListIterator class provides an iterator for QValueList. periodt.

So like, what even is an iterator? It's a class for accessing the items of a container class β€” think of it as a glow-up of the index in an array. A pointer into a "const char *" and an index into an "int[]" are both iterators, and the whole idea is to hand you that functionality for any data structure. it's giving universal, honestly.

The QValueListIterator class is an iterator for QValueList instantiations. You can create the appropriate iterator type by using the iterator typedef provided by QValueList.

and hear me out: the only way to access the items in a QValueList is to use an iterator. that's it. that's the door. πŸ”‘

Example (see QValueList for the complete code):

EmployeeList::iterator it;
for ( it = list.begin(); it != list.end(); ++it )
    cout << (*it).surname().latin1() << ", " <<
            (*it).forename().latin1() << " earns " <<
            (*it).salary() << endl;
// Output:
// Doe, John earns 50000
// Williams, Jane earns 80000
// Hawthorne, Mary earns 90000
// Jones, Tom earns 60000

okay now the part where I hold your hand, because this matters. QValueList is highly optimized for performance and memory usage. which is iconic of it, but it means you must be careful: QValueList does not know about all its iterators, and the iterators don't know to which list they belong. That's what makes things very fast β€” but if you're not careful, you can get spectacular bugs πŸ’€. Always make sure iterators are valid before dereferencing them or using them as parameters to generic algorithms in the STL or the QTL.

Using an invalid iterator is undefined (your application will probably crash). Not a vibe. Not a slay. Many Qt functions return const value lists; to iterate over these you should make a copy and iterate over the copy. 🫢

For every Iterator there is a ConstIterator. When accessing a QValueList in a const environment, or if the reference or pointer to the list is itself const, then you must use the ConstIterator. Its semantics are the same as the Iterator, but it only returns const references. queen behavior.

See also QValueList, QValueListConstIterator, Qt Template Library Classes, and Non-GUI Classes.


Member Type Documentation πŸŽ€

QValueListIterator::pointer

Pointer to value_type.

QValueListIterator::reference

Reference to value_type.

QValueListIterator::value_type

The type of value, T.


MEMBER FUNCTION DOCUMENTATION πŸ’…

QValueListIterator::QValueListIterator ()

Creates an uninitialized iterator. (the original says "un uninitialized", and honestly? we respect the typo era πŸ™ˆ)

QValueListIterator::QValueListIterator ( const QValueListIterator<T> & it )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Constructs a copy of the iterator it.

bool QValueListIterator::operator!= ( const QValueListIterator<T> & it ) const

Compares this iterator and it and returns TRUE if they point to different items; otherwise returns FALSE.

T & QValueListIterator::operator* ()

Asterisk operator. Returns a reference to the current iterator item.

const T & QValueListIterator::operator* () const

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Asterisk operator. Returns a reference to the current iterator item.

QValueListIterator<T> & QValueListIterator::operator++ ()

Prefix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the list. Incrementing the iterator returned by end() causes undefined results.

QValueListIterator<T> QValueListIterator::operator++ ( int )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Postfix ++ makes the succeeding item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the end of the list. Incrementing the iterator returned by end() causes undefined results.

QValueListIterator<T> & QValueListIterator::operator+= ( int j )

Postfix -- jumps j steps forward in the list. The iterator cannot check whether it reached the end of the list. Jumping past the end() causes undefined results.

QValueListIterator<T> & QValueListIterator::operator-- ()

Prefix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the list. Decrementing the iterator returned by begin() causes undefined results.

QValueListIterator<T> QValueListIterator::operator-- ( int )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Postfix -- makes the previous item current and returns an iterator pointing to the new current item. The iterator cannot check whether it reached the beginning of the list. Decrementing the iterator returned by begin() causes undefined results.

QValueListIterator<T> & QValueListIterator::operator-= ( int j )

Postfix -- jumps j steps backward in the list. The iterator cannot check whether it reached the beginning of the list. Jumping past begin() causes undefined results.

bool QValueListIterator::operator== ( const QValueListIterator<T> & it ) const

Compares this iterator and it and returns TRUE if they point to the same item; otherwise returns FALSE.


SEE ALSO 🌈


Copyright 1992-2007 Trolltech ASA, http://www.trolltech.com. See the license file included in the distribution for a complete license statement.


AUTHOR ✍️

Generated automatically from the source code.


BUGS πŸ›

If you find a bug in Qt, please report it as described in http://doc.trolltech.com/bughowto.html. Good bug reports help us to help you. Thank you. (that's literally them being sweet about it, and they're right!)

The definitive Qt documentation is provided in HTML format; it is located at $QTDIR/doc/html and can be read using Qt Assistant or with a web browser. This man page is provided as a convenience for those users who prefer man pages, although this format is not officially supported by Trolltech.

If you find errors in this manual page, please report them to qt-bugs@trolltech.com. Please include the name of the manual page (qvaluelistiterator.3qt) and the Qt version (3.3.8).


and that's the whole page bestie 🫢 this one came from Trolltech AS, dated 2 February 2007, and it documents Qt version 3.3.8 β€” go forth, validate your iterators, and do not dereference the invalid ones. mwah. πŸ’–βœ¨

πŸ“¦ where this page comes from