UCommon
Public Member Functions | Protected Member Functions | Friends
ucommon::OrderedObject Class Reference

A linked object base class for ordered objects. More...

#include <linked.h>

Inheritance diagram for ucommon::OrderedObject:
Inheritance graph
[legend]
Collaboration diagram for ucommon::OrderedObject:
Collaboration graph
[legend]

Public Member Functions

void delist (OrderedIndex *index)
 Remove our ordered object from an existing index.
virtual void enlist (OrderedIndex *index)
 List our ordered object in default strategy mode.
void enlistHead (OrderedIndex *index)
 List our ordered object at start of a linked list on an index.
void enlistTail (OrderedIndex *index)
 List our ordered object at end of a linked list on an index.
OrderedObjectgetNext (void)
 Get next ordered member when iterating.
- 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
ObjectProtocolcopy (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

 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.

Friends

class DLinkedObject
class LinkedList
class ObjectQueue
class OrderedIndex

Additional Inherited Members

- Static Public Member Functions inherited from ucommon::LinkedObject
static unsigned count (LinkedObject *root)
 Count the number of linked objects in a list.
static LinkedObjectgetIndexed (LinkedObject *root, unsigned index)
 Get member by index.
static void purge (LinkedObject *root)
 Release all objects from a list.
- Static Public Attributes inherited from ucommon::LinkedObject
static LinkedObjectinv
 Marker for invalid list pointer.
static LinkedObjectnil
 Marker for end of linked list.
- Protected Attributes inherited from ucommon::LinkedObject
LinkedObjectnext

Detailed Description

A linked object base class for ordered objects.

This is used for objects that must be ordered and listed through the OrderedIndex class.

Author:
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org

Definition at line 293 of file linked.h.


Constructor & Destructor Documentation

ucommon::OrderedObject::OrderedObject ( OrderedIndex index)
protected

Construct an ordered object aot end of a an index.

Parameters:
indexwe are listed on.

Member Function Documentation

void ucommon::OrderedObject::delist ( OrderedIndex index)

Remove our ordered object from an existing index.

Parameters:
indexwe are listed on.
virtual void ucommon::OrderedObject::enlist ( OrderedIndex index)
virtual

List our ordered object in default strategy mode.

The default base class uses enlistTail.

Parameters:
indexwe are listing on.

Reimplemented in ucommon::LinkedList.

void ucommon::OrderedObject::enlistHead ( OrderedIndex index)

List our ordered object at start of a linked list on an index.

Parameters:
indexwe are listing on.

Reimplemented in ucommon::LinkedList.

void ucommon::OrderedObject::enlistTail ( OrderedIndex index)

List our ordered object at end of a linked list on an index.

Parameters:
indexwe are listing on.

Reimplemented in ucommon::LinkedList.

OrderedObject* ucommon::OrderedObject::getNext ( void  )
inline

Get next ordered member when iterating.

Returns:
next ordered object.

Reimplemented from ucommon::LinkedObject.

Reimplemented in ucommon::LinkedList, and ucommon::NamedObject.

Definition at line 342 of file linked.h.


The documentation for this class was generated from the following file: