TDblQueBase Class Reference

class TDblQueBase

A base class that provides implementation for the doubly linked list header.

It also encapsulates the offset value of a link object.

The class is abstract and is not intended to be instantiated.

TDblQue

Public Member Functions
IMPORT_C TBool IsEmpty ()
IMPORT_C void Reset ()
IMPORT_C void SetOffset ( TInt )
Protected Member Functions
TDblQueBase ()
TDblQueBase ( TInt )
IMPORT_C void DoAddFirst ( TAny *)
IMPORT_C void DoAddLast ( TAny *)
IMPORT_C void DoAddPriority ( TAny *)
IMPORT_C void __DbgTestEmpty ()
Private Member Functions
TDblQueBase (const TDblQueBase &)
TDblQueBase & operator= (const TDblQueBase &)
Protected Attributes
TDblQueLink iHead
TInt iOffset

Constructor & Destructor Documentation

TDblQueBase()

IMPORT_C TDblQueBase ( ) [protected]

Default constructor.

It sets:

1. iHead to point to this object in both the forwards and backwards direction.

2. iOffset to zero.

iHead iOffset

TDblQueBase(TInt)

IMPORT_C TDblQueBase ( TInt aOffset ) [protected]

Constructor with specified offset.

It sets:

1. iHead to point to this object in both the forwards and backwards direction.

2. iOffset to the specified value.

panic
USER 78, if aOffset is not divisible by four
iHead iOffset

Parameters

TInt aOffset The offset of a link object within an element.

TDblQueBase(const TDblQueBase &)

TDblQueBase ( const TDblQueBase & aQue ) [private]

Parameters

const TDblQueBase & aQue

Member Functions Documentation

DoAddFirst(TAny *)

IMPORT_C void DoAddFirst ( TAny * aPtr ) [protected]

Implements the insertion of the specified list element at the front of the doubly linked list.

This function is called by TDblQue::AddFirst() .

TDblQue::AddFirst

Parameters

TAny * aPtr An untyped pointer to the element to be inserted.

DoAddLast(TAny *)

IMPORT_C void DoAddLast ( TAny * aPtr ) [protected]

Implements the insertion of the specified list element at the back of the doubly linked list.

This function is called by TDblQue::AddLast() .

TDblQue::AddLast

Parameters

TAny * aPtr An untyped pointer to the element to be inserted.

DoAddPriority(TAny *)

IMPORT_C void DoAddPriority ( TAny * aPtr ) [protected]

Implements the insertion of the specified list element in priority order.

This function is called by TPriQue::Add() .

TPriQue::Add

Parameters

TAny * aPtr An untyped pointer to the element to be inserted.

IsEmpty()

IMPORT_C TBool IsEmpty ( ) const

Tests whether the doubly linked list is empty, i.e. has no list elements.

Reset()

IMPORT_C void Reset ( )

Empties the doubly linked list.

After a call to this function, there are no elements queued from the header; the elements are orphaned. Special care must be taken when list elements are CBase derived objects, i.e. are allocated on the heap.

SetOffset(TInt)

IMPORT_C void SetOffset ( TInt aOffset )

Sets the offset of the link object from the start of a doubly linked list element.

panic
USER 78, if aOffset is not divisible by four.
TDblQue

Parameters

TInt aOffset The offset of the link object from the start of a doubly linked list element.

__DbgTestEmpty()

IMPORT_C void __DbgTestEmpty ( ) const [protected]

Tests whether the queue is empty.

The function is implemented as an __ASSERT_DEBUG.

panic
USER 79, if the assertion fails.

operator=(const TDblQueBase &)

TDblQueBase & operator= ( const TDblQueBase & aQue ) [private]

Parameters

const TDblQueBase & aQue

Member Data Documentation

TDblQueLink iHead

TDblQueLink iHead [protected]

The head, or anchor point of the queue.

TInt iOffset

TInt iOffset [protected]

The offset of a component link object within elements that form the list.