ucommon
|
A double linked list object. More...
#include <linked.h>
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) const |
Get next node in the list when iterating. | |
LinkedList * | getPrev (void) const |
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) const |
Test if we are at the head of a list. | |
bool | is_tail (void) const |
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 (OrderedIndex *index) | |
Construct and add our object to an existing double linked list at end. | |
LinkedList () | |
Construct an unlinked object. | |
virtual | ~LinkedList () |
Delete linked list object. | |
Protected Attributes | |
LinkedList * | Prev |
OrderedIndex * | Root |
Friends | |
class | ObjectQueue |
A double linked list object.
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.
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 | ) | const [inline] |
Get next node in the list when iterating.
Reimplemented from ucommon::OrderedObject.
Definition at line 846 of file linked.h.
LinkedList* ucommon::LinkedList::getPrev | ( | void | ) | const [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 | ) | const [inline] |
bool ucommon::LinkedList::is_tail | ( | void | ) | const [inline] |
void ucommon::LinkedList::operator*= | ( | LinkedList * | object | ) | [inline] |
void ucommon::LinkedList::operator+= | ( | LinkedList * | object | ) | [inline] |
void ucommon::LinkedList::operator-= | ( | LinkedList * | object | ) | [inline] |