|
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) |
| 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 | isHead (void) |
| Test if we are at the head of a list. | |
| bool | isTail (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. | |
Public Member Functions inherited from ucommon::OrderedObject | |
| void | delist (OrderedIndex *index) |
| Remove our ordered object from an existing index. | |
Public Member Functions inherited from ucommon::LinkedObject | |
| void | delist (LinkedObject **root) |
| Locate and remove ourselves from a list of objects. | |
| void | enlist (LinkedObject **root) |
| Add our object to an existing linked list through a pointer. | |
| bool | isMember (LinkedObject *list) |
| Search to see if we are a member of a specific list. | |
| virtual void | release (void) |
| Release list, mark as no longer linked. | |
| virtual void | retain (void) |
| Retain by marking as self referenced list. | |
Public Member Functions inherited from ucommon::ObjectProtocol | |
| ObjectProtocol * | copy (void) |
| Retain (increase retention of) object when copying. | |
| void | operator++ (void) |
| Increase retention operator. | |
| void | operator-- (void) |
| Decrease retention operator. | |
| virtual | ~ObjectProtocol () |
| Required virtual destructor. | |
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 Member Functions inherited from ucommon::OrderedObject | |
| OrderedObject (OrderedIndex *index) | |
| Construct an ordered object aot end of a an index. | |
| OrderedObject () | |
| Construct an ordered object unattached. | |
Protected Member Functions inherited from ucommon::LinkedObject | |
| LinkedObject (LinkedObject **root) | |
| Construct base class attached to a chain of objects. | |
| LinkedObject () | |
| Construct base class unattached to anyone. | |
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.
|
protected |
Construct and add our object to an existing double linked list at end.
| index | of linked list we are listed in. |
|
protectedvirtual |
Delete linked list object.
If it is a member of a list of objects, then the list is reformed around us.
|
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.
|
inline |
Get next node in the list when iterating.
Reimplemented from ucommon::OrderedObject.
|
inline |
|
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. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
1.8.1.1