#include <linked.h>
Inheritance diagram for ucommon::LinkedList:
Public Member Functions | |
void | delist (void) |
Remove our object from the list it is currently part of. | |
void | enlist (OrderedIndex *index) |
Attach our object to a linked list. | |
void | enlistHead (OrderedIndex *index) |
Attach our object to the start of a linked list though an ordered index. | |
void | enlistTail (OrderedIndex *index) |
Attach our object to the end of a linked list though an ordered index. | |
LinkedList * | getNext (void) |
Get next node in the list when iterating. | |
LinkedList * | getPrev (void) |
Get previous node in the list for reverse iteration. | |
virtual void | insert (LinkedList *object) |
Insert object, method in derived object. | |
void | insertHead (LinkedList *object) |
Insert object in front of our object. | |
void | insertTail (LinkedList *object) |
Insert object behind our object. | |
bool | is_head (void) |
Test if we are at the head of a list. | |
bool | is_tail (void) |
Test if we are at the end of a list. | |
void | operator *= (LinkedList *object) |
Insert object in list with our object. | |
void | operator+= (LinkedList *object) |
Insert object behind our object. | |
void | operator-= (LinkedList *object) |
Insert object in front of our object. | |
Protected Member Functions | |
LinkedList () | |
Construct an unlinked object. | |
LinkedList (OrderedIndex *index) | |
Construct and add our object to an existing double linked list at end. | |
virtual | ~LinkedList () |
Delete linked list object. | |
Protected Attributes | |
LinkedList * | Prev |
OrderedIndex * | Root |
Friends | |
class | ObjectQueue |
This is used as a base class for objects that will be organized through ordered double linked lists which allow convenient insertion and deletion of list members anywhere in the list.
Definition at line 769 of file linked.h.
ucommon::LinkedList::LinkedList | ( | OrderedIndex * | index | ) | [protected] |
Construct and add our object to an existing double linked list at end.
index | of linked list we are listed in. |
virtual ucommon::LinkedList::~LinkedList | ( | ) | [protected, virtual] |
Delete linked list object.
If it is a member of a list of objects, then the list is reformed around us.
void ucommon::LinkedList::enlist | ( | OrderedIndex * | index | ) | [virtual] |
Attach our object to a linked list.
The default strategy is to add to tail.
index | of linked list we are joining. |
Reimplemented from ucommon::OrderedObject.
void ucommon::LinkedList::enlistHead | ( | OrderedIndex * | index | ) |
Attach our object to the start of a linked list though an ordered index.
If we are already attached to a list we are delisted first.
index | of linked list we are joining. |
Reimplemented from ucommon::OrderedObject.
void ucommon::LinkedList::enlistTail | ( | OrderedIndex * | index | ) |
Attach our object to the end of a linked list though an ordered index.
If we are already attached to a list we are delisted first.
index | of linked list we are joining. |
Reimplemented from ucommon::OrderedObject.
LinkedList* ucommon::LinkedList::getNext | ( | void | ) | [inline] |
Get next node in the list when iterating.
Reimplemented from ucommon::OrderedObject.
LinkedList* ucommon::LinkedList::getPrev | ( | void | ) | [inline] |
virtual void ucommon::LinkedList::insert | ( | LinkedList * | object | ) | [virtual] |
Insert object, method in derived object.
object | to add to list. |
void ucommon::LinkedList::insertHead | ( | LinkedList * | object | ) |
Insert object in front of our object.
object | to add to list. |
void ucommon::LinkedList::insertTail | ( | LinkedList * | object | ) |
Insert object behind our object.
object | to add to list. |
bool ucommon::LinkedList::is_head | ( | void | ) | [inline] |
bool ucommon::LinkedList::is_tail | ( | void | ) | [inline] |
void ucommon::LinkedList::operator *= | ( | LinkedList * | object | ) | [inline] |
void ucommon::LinkedList::operator+= | ( | LinkedList * | object | ) | [inline] |
void ucommon::LinkedList::operator-= | ( | LinkedList * | object | ) | [inline] |