GNU CommonC++
Public Member Functions | Protected Member Functions | Protected Attributes
ost::LinkedSingle Class Reference

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

#include <object.h>

List of all members.

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 Member Functions

 LinkedSingle ()
virtual ~LinkedSingle ()

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.

Constructor & Destructor Documentation

ost::LinkedSingle::LinkedSingle ( )
inlineprotected
virtual ost::LinkedSingle::~LinkedSingle ( )
protectedvirtual

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.
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.
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.
LinkedSingle& ost::LinkedSingle::operator+= ( LinkedSingle &  obj)

Member Data Documentation

LinkedSingle* ost::LinkedSingle::nextObject
protected

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