Original Symbian headers
Selected EUSER, Window Server, networking, graphics and device declarations
Loading...
Searching...
No Matches
TDblQue< T > Class Template Reference

A templated class that provides the behaviour for managing a doubly linked list. More...

#include <e32std.h>

Inheritance diagram for TDblQue< T >:
TDblQueBase

Public Member Functions

 TDblQue ()
 Constructs an empty list header and sets the offset value of the link object to zero.
 
 TDblQue (TInt aOffset)
 Constructs an empty list header and sets the offset of the link object to the specified value.
 
void AddFirst (T &aRef)
 Inserts the specified list element at the front of the doubly linked list.
 
void AddLast (T &aRef)
 Inserts the specified list element at the back of the doubly linked list.
 
TBool IsHead (const T *aPtr) const
 Tests whether the end of a list has been reached.
 
TBool IsFirst (const T *aPtr) const
 Tests whether the specified element is the first in the doubly linked list.
 
TBool IsLast (const T *aPtr) const
 Tests whether the specified element is the last in the doubly linked list.
 
T * First () const
 Gets a pointer to the first list element in the doubly linked list.
 
T * Last () const
 Gets a pointer to the last list element in the doubly linked list.
 
- Public Member Functions inherited from TDblQueBase
IMPORT_C TBool IsEmpty () const
 Tests whether the doubly linked list is empty, i.e.
 
IMPORT_C void SetOffset (TInt aOffset)
 Sets the offset of the link object from the start of a doubly linked list element.
 
IMPORT_C void Reset ()
 Empties the doubly linked list.
 

Additional Inherited Members

- Protected Member Functions inherited from TDblQueBase
IMPORT_C TDblQueBase ()
 Default constructor.
 
IMPORT_C TDblQueBase (TInt aOffset)
 Constructor with specified offset.
 
IMPORT_C void DoAddFirst (TAny *aPtr)
 Implements the insertion of the specified list element at the front of the doubly linked list.
 
IMPORT_C void DoAddLast (TAny *aPtr)
 Implements the insertion of the specified list element at the back of the doubly linked list.
 
IMPORT_C void DoAddPriority (TAny *aPtr)
 Implements the insertion of the specified list element in priority order.
 
IMPORT_C void __DbgTestEmpty () const
 Tests whether the queue is empty.
 
- Protected Attributes inherited from TDblQueBase
TDblQueLink iHead
 The head, or anchor point of the queue.
 
TInt iOffset
 The offset of a component link object within elements that form the list.
 

Detailed Description

template<class T>
class TDblQue< T >

A templated class that provides the behaviour for managing a doubly linked list.

It also acts as the head of the list, maintaining the pointers into the list.

The template parameter defines the type of element that forms the doubly linked list and is the class that acts as host to the link object.

See also
TDblQueLink
API status
Published to all clients. Released API.

Definition at line 446 of file e32std.h.

Constructor & Destructor Documentation

◆ TDblQue() [1/2]

template<class T >
TDblQue< T >::TDblQue ( )
inline

Constructs an empty list header and sets the offset value of the link object to zero.

In practice, never assume that the offset of the link object from the start of a list element is zero, even if the link object is declared as the first data member in the list element class.

If this default constructor is used, then call the SetOffset() function of the base class to ensure that the offset value is set correctly.

TDblQueBase::SetOffset()

(generated from Symbian Developer Library)

◆ TDblQue() [2/2]

template<class T >
TDblQue< T >::TDblQue ( TInt  aOffset)
inlineexplicit

Constructs an empty list header and sets the offset of the link object to the specified value.

Parameters
aOffsetThe offset of the link object from the start of a list element. The macro _FOFF can be used to calculate this value.

Panic condition: USER 78. if aOffset is not divisble by 4.

(generated from Symbian Developer Library)

Member Function Documentation

◆ AddFirst()

template<class T >
void TDblQue< T >::AddFirst ( T &  aRef)
inline

Inserts the specified list element at the front of the doubly linked list.

If the list is not empty, the specified element becomes the first in the list. What was previously the first element becomes the second in the list.

Parameters
aRefThe list element to be inserted at the front of the doubly linked list.

(generated from Symbian Developer Library)

◆ AddLast()

template<class T >
void TDblQue< T >::AddLast ( T &  aRef)
inline

Inserts the specified list element at the back of the doubly linked list.

If the list is not empty, the specified element becomes the last in the list. What was previously the last element becomes the next to last element in the list.

Parameters
aRefThe list element to be inserted at the back of the doubly linked list.

(generated from Symbian Developer Library)

◆ First()

template<class T >
T * TDblQue< T >::First ( ) const
inline

Gets a pointer to the first list element in the doubly linked list.

(generated from Symbian Developer Library)

◆ IsFirst()

template<class T >
TBool TDblQue< T >::IsFirst ( const T *  aPtr) const
inline

Tests whether the specified element is the first in the doubly linked list.

Parameters
aPtrA pointer to the element whose position in the list is to be checked.

(generated from Symbian Developer Library)

◆ IsHead()

template<class T >
TBool TDblQue< T >::IsHead ( const T *  aPtr) const
inline

Tests whether the end of a list has been reached.

A doubly linked list is circular; in following the chain of elements in a list (e.g. using the iterator operator++ or operator--), the chain eventually reaches the end of the list and aPtr corresponds to the header (although it will not point to a valid T object).

Parameters
aPtrThe pointer value to be checked.

(generated from Symbian Developer Library)

◆ IsLast()

template<class T >
TBool TDblQue< T >::IsLast ( const T *  aPtr) const
inline

Tests whether the specified element is the last in the doubly linked list.

Parameters
aPtrA pointer to the element whose position in the list is to be checked.

(generated from Symbian Developer Library)

◆ Last()

template<class T >
T * TDblQue< T >::Last ( ) const
inline

Gets a pointer to the last list element in the doubly linked list.

(generated from Symbian Developer Library)


The documentation for this class was generated from the following files: