TDblQueIter Class Reference

#include <e32std.h>

class TDblQueIter : public TDblQueIterBase

Inherits from

Detailed Description

A templated class that provides the behaviour for iterating through a set of doubly linked list elements.

The template parameter defines the type of element that forms the doubly linked list. The class defined in the template parameter contains the link object.

Constructor & Destructor Documentation

TDblQueIter ( TDblQueBase & )

TDblQueIter(TDblQueBase &aQue)[inline]

Constructs the iterator for the specified doubly linked list

The iterator can be constructed whether or not the list contains any elements.

If the list does contain elements, the iterator pointer is set to the first one.

If the list has no elements, the iterator pointer is not set and the conversion operator T*(), the post increment operator++() and the post decrement operator --() subsequently return NULL. Once elements have been added to the list, use either the TDblQueIter::Set() function, the TDblQueIterBase::SetToFirst() function or the TDblQueIterBase::SetToLast() function to set the iterator pointer.

See also: TDblQueIter::Set TDblQueIterBase::SetToFirst TDblQueIterBase::SetToLast

Parameters
aQueA reference to a doubly linked list header.

Member Function Documentation

Set ( T & )

voidSet(T &aLink)[inline]

Sets the iterator to point to a specific element in the list.

This function can be used to alter the pointer at any time during the iterator's existence. The referenced element must be in the list, otherwise the result is undefined.

Parameters
aLinkA reference to the element from where iteration is to continue.

operator T * ( )

operator T *()[inline]

Gets a pointer to the iterators current element.

The operator is normally used implicitly; e.g. some member functions of the list header class TDblQue require a pointer to an element (of type class T) as a parameter but in practice, an iterator is often passed instead. This operator performs the necessary conversion.

Return Value
A pointer to the current element, if the iterator points to an element in the list. NULL, if the iterator does not point to an element; i.e. the iterator pointer has previously reached the end of the list (see operator++) or the start of the list (see operator--) or the list is empty.

operator++ ( TInt )

T *operator++(TInt)[inline]

Gets a pointer to the iterator's current element and then sets the iterator to point to the next element.

Repeated use of this operator allows successive elements to be accessed in the forwards direction.

Return Value
A pointer to the current list element, if the iterator points to an element. NULL, if the iterator does not point to an element; i.e. the iterator pointer has reached the end of the list.

operator-- ( TInt )

T *operator--(TInt)[inline]

Gets a pointer to the iterator's current element and then sets the iterator to point to the previous element.

Repeated use of this operator allows successive elements to be accessed in the backwards direction.

Return Value
A pointer to the current element, if the iterator points to an element. NULL, if the iterator does not point to an element; i.e. the iterator pointer has reached the beginning of the list.