CopperSpice API  1.9.1
QLinkedList< T >::iterator< T > Class Template Reference

The QLinkedList::iterator class provides an STL style iterator for QLinkedList. More...

Public Typedefs

using iterator_category = std::bidirectional_iterator_tag
 

Public Methods

 iterator ()
 
 iterator (const iterator &other)
 
 iterator (iterator &&other)
 
bool operator!= (const_iterator other) const
 
T & operator* () const
 
iteratoroperator++ ()
 
iterator operator++ (int)
 
iteratoroperator-- ()
 
iterator operator-- (int)
 
T * operator-> () const
 
iteratoroperator= (const iterator &other)
 
iteratoroperator= (iterator &&other)
 
bool operator== (const_iterator other) const
 

Detailed Description

template<class T>
template<typename T>
class QLinkedList< T >::iterator< T >

The QLinkedList::iterator class provides an STL style iterator for QLinkedList.

See also
QLinkedList::begin(), QLinkedList::end(), QLinkedList::const_iterator

Member Typedef Documentation

template<class T >
template<typename T >
QLinkedList< T >::iterator< T >::iterator_category

A synonym for std::random_access_iterator_tag indicating this iterator is a random access iterator.

Constructor & Destructor Documentation

template<class T >
template<typename T >
QLinkedList< T >::iterator< T >::iterator ( )

Constructs an uninitialized iterator.

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

See also
QLinkedList::begin(), QLinkedList::end()
template<class T >
template<typename T >
QLinkedList< T >::iterator< T >::iterator ( const iterator< T > &  other)

Constructs a copy of other.

template<class T >
template<typename T >
QLinkedList< T >::iterator< T >::iterator ( iterator< T > &&  other)

Move constructs a new QLinkedList::iterator from other.

Method Documentation

template<class T >
template<typename T >
bool QLinkedList< T >::iterator< T >::operator!= ( const_iterator< T >  other) const

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

See also
operator==()
template<class T >
template<typename T >
T & QLinkedList< T >::iterator< T >::operator* ( ) const

Returns a reference to the current item. You can change the value of an item by using operator*() on the left side of an assignment.

if (*it == "Hello") {
*it = "Bonjour";
}
See also
operator->()
template<class T >
template<typename T >
iterator & QLinkedList< T >::iterator< T >::operator++ ( )

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

Calling this function on QLinkedList::end() leads to undefined behavior.

See also
operator--()
template<class T >
template<typename T >
iterator QLinkedList< T >::iterator< T >::operator++ ( int  )

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

template<class T >
template<typename T >
iterator & QLinkedList< T >::iterator< T >::operator-- ( )

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

Calling this function on QLinkedList::begin() leads to undefined behavior.

See also
operator++()
template<class T >
template<typename T >
iterator QLinkedList< T >::iterator< T >::operator-- ( int  )

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

template<class T >
template<typename T >
T * QLinkedList< T >::iterator< T >::operator-> ( ) const

Returns a pointer to the current item.

See also
operator*()
template<class T >
template<typename T >
iterator & QLinkedList< T >::iterator< T >::operator= ( const iterator< T > &  other)

Copy assigns from other and returns a reference to this object.

template<class T >
template<typename T >
iterator & QLinkedList< T >::iterator< T >::operator= ( iterator< T > &&  other)

Move assigns from other and returns a reference to this object.

template<class T >
template<typename T >
bool QLinkedList< T >::iterator< T >::operator== ( const_iterator< T >  other) const

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

See also
operator!=()