Common base class for all objects that can be formed into a linked list.
More...
#include <linked.h>
Public Member Functions |
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.
|
LinkedObject * | getNext (void) const |
| Get next effective object when iterating.
|
bool | isMember (LinkedObject *list) const |
| 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.
|
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.
|
Static Public Attributes |
static const LinkedObject * | inv |
| Marker for invalid list pointer.
|
static const LinkedObject * | nil |
| Marker for end of linked list.
|
Friends |
class | LinkedRing |
class | NamedObject |
class | ObjectStack |
class | OrderedIndex |
Detailed Description
Common base class for all objects that can be formed into a linked list.
This base class is used directly for objects that can be formed into a single linked list. It is also used directly as a type for a pointer to the start of list of objects that are linked together as a list.
- Author
- David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org
Definition at line 54 of file linked.h.
Constructor & Destructor Documentation
Construct base class attached to a chain of objects.
- Parameters
-
root | pointer to chain of objects we are part of. |
ucommon::LinkedObject::LinkedObject |
( |
| ) |
|
|
protected |
Construct base class unattached to anyone.
This might be used to construct intermediary base classes that may form lists through indexing objects.
Member Function Documentation
static unsigned ucommon::LinkedObject::count |
( |
const LinkedObject * |
root | ) |
|
|
static |
Count the number of linked objects in a list.
- Parameters
-
root | pointer to list we are counting. |
Locate and remove ourselves from a list of objects.
This searches the list to locate our object and if found relinks the list around us.
- Parameters
-
root | pointer to list we are removing ourselves from. |
Add our object to an existing linked list through a pointer.
This forms a container sorted in lifo order since we become the head of the list, and the previous head becomes our next.
- Parameters
-
root | pointer to list we are adding ourselves to. |
Get member by index.
- Returns
- indexed member in linked list.
- Parameters
-
root | pointer to list we are indexing. |
index | member to find. |
bool ucommon::LinkedObject::isMember |
( |
LinkedObject * |
list | ) |
const |
Search to see if we are a member of a specific list.
- Returns
- true if we are member of the list.
static void ucommon::LinkedObject::purge |
( |
LinkedObject * |
root | ) |
|
|
static |
Release all objects from a list.
- Parameters
-
root | pointer to list we are purging. |
virtual void ucommon::LinkedObject::release |
( |
void |
| ) |
|
|
virtual |
virtual void ucommon::LinkedObject::retain |
( |
void |
| ) |
|
|
virtual |
Field Documentation
Marker for end of linked list.
Definition at line 78 of file linked.h.
The documentation for this class was generated from the following file: