#include <e32std.h>
class TDblQue : public TDblQueBase |
Public Member Functions | |
---|---|
TDblQue() | |
TDblQue(TInt) | |
void | AddFirst(T &) |
void | AddLast(T &) |
T * | First() |
TBool | IsFirst(const T *) |
TBool | IsHead(const T *) |
TBool | IsLast(const T *) |
T * | Last() |
Inherited Attributes | |
---|---|
TDblQueBase::iHead | |
TDblQueBase::iOffset |
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
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.
See also: TDblQueBase::SetOffset()
TDblQue | ( | TInt | aOffset | ) | [inline, explicit] |
Constructs an empty list header and sets the offset of the link object to the specified value.
See also: _FOFF
Parameters | |
---|---|
aOffset | The offset of the link object from the start of a list element. The macro _FOFF can be used to calculate this value. |
Panic Codes | |
---|---|
USER | 78. if aOffset is not divisble by 4. |
void | 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 | |
---|---|
aRef | The list element to be inserted at the front of the doubly linked list. |
void | 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 | |
---|---|
aRef | The list element to be inserted at the back of the doubly linked list. |
T * | First | ( | ) | const [inline] |
Gets a pointer to the first list element in the doubly linked list.
TBool | IsFirst | ( | const T * | aPtr | ) | const [inline] |
Tests whether the specified element is the first in the doubly linked list.
Parameters | |
---|---|
aPtr | A pointer to the element whose position in the list is to be checked. |
TBool | 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 | |
---|---|
aPtr | The pointer value to be checked. |
TBool | IsLast | ( | const T * | aPtr | ) | const [inline] |
Tests whether the specified element is the last in the doubly linked list.
Parameters | |
---|---|
aPtr | A pointer to the element whose position in the list is to be checked. |