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. More...
 
virtual LinkedSinglegetLast (void)
 Gets the last object in the list. More...
 
LinkedSinglegetNext (void)
 Get next object, for convenience. More...
 
virtual void insert (LinkedSingle &obj)
 Insert object into chain. More...
 
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.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Accumulating single linked list.

Definition at line 173 of file object.h.

Member Function Documentation

◆ getFirst()

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.

◆ getLast()

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.

◆ getNext()

LinkedSingle* ost::LinkedSingle::getNext ( void  )
inline

Get next object, for convenience.

Derived class may use this with a dynamic cast.

Returns
next object in list.

Definition at line 214 of file object.h.

◆ insert()

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: