UCommon
Public Member Functions | Protected Attributes
ost::LinkedSingle Class Reference

Self managed single linked list object chain. More...

#include <object.h>

Collaboration diagram for ost::LinkedSingle:
Collaboration graph
[legend]

Public Member Functions

virtual LinkedSinglegetFirst (void)
 Get first linked object in list.
virtual LinkedSinglegetLast (void)
 Gets the last object in the list.
LinkedSinglegetNext (void)
 Get next object, for convenience.
virtual void insert (LinkedSingle &obj)
 Insert object into chain.
LinkedSingleoperator+= (LinkedSingle &obj)

Protected Attributes

LinkedSinglenextObject

Detailed Description

Self managed single linked list object chain.

This is used for accumulating lists by using as a base class for a derived subclass.

Author:
David Sugar <dyfet@gnutelephony.org> Accumulating single linked list.

Definition at line 168 of file object.h.


Member Function Documentation

virtual LinkedSingle* ost::LinkedSingle::getFirst ( void  ) [virtual]

Get first linked object in list.

This may be dynamically recast, and may refer to a master static bookmark pointer in a derived class. Otherwise it simply returns the current object. In a "free" list, this may not only return the first object, but also set the first to next.

Returns:
pointer to first object in list.
virtual LinkedSingle* ost::LinkedSingle::getLast ( void  ) [virtual]

Gets the last object in the list.

This normally follows the links to the end. This is a virtual because derived class may include a static member bookmark for the current end.

Returns:
pointer to last object in list.

Get next object, for convenience.

Derived class may use this with a dynamic cast.

Returns:
next object in list.

Definition at line 205 of file object.h.

virtual void ost::LinkedSingle::insert ( LinkedSingle obj) [virtual]

Insert object into chain.

This is a virtual because derived class may choose instead to perform an insert at head or tail, may manage bookmarks, and may add mutex lock.

Parameters:
objectbeing inserted.

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