UCommon
ost::LinkedSingle Class Reference

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

#include <object.h>

Collaboration diagram for ost::LinkedSingle:

Public Member Functions

virtual LinkedSingle * getFirst (void)
 Get first linked object in list.
virtual LinkedSingle * getLast (void)
 Gets the last object in the list.
LinkedSingle * getNext (void)
 Get next object, for convenience.
virtual void insert (LinkedSingle &obj)
 Insert object into chain.
LinkedSingle & operator+= (LinkedSingle &obj)

Protected Attributes

LinkedSingle * nextObject

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.

Constructor & Destructor Documentation

◆ LinkedSingle()

ost::LinkedSingle::LinkedSingle ( )
inlineprotected

Definition at line 181 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.

Field Documentation

◆ nextObject

LinkedSingle* ost::LinkedSingle::nextObject
protected

Definition at line 179 of file object.h.


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