Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

ost::LinkedDouble Class Reference

Self managed double linked list object chain. Accumulating double linked list. More...

#include <object.h>

List of all members.

Public Types

enum  InsertMode { modeAtFirst, modeAtLast, modeBefore, modeAfter }
 Requested in overloaded insert() method to indicate how to insert data into list. More...


Public Member Functions

virtual LinkedDoublegetFirst (void)
 Get first linked object in list.

virtual LinkedDoublegetLast (void)
 Gets the last object in the list.

virtual LinkedDoublegetInsert (void)
 Virtual to get the insert point to use when adding new members.

LinkedDoublegetNext (void)
 Get next object, for convenience.

LinkedDoublegetPrev (void)
 Get prev object in the list.

virtual void insert (LinkedDouble &obj)
 Insert object into chain.

virtual void insert (InsertMode position, LinkedDouble &obj)
 Insert object into chain at given position, as indicated by InsertMode.

virtual void detach (void)
 Remove object from chain.

LinkedDoubleoperator+= (LinkedDouble &obj)
LinkedDoubleoperator-- ()

Protected Member Functions

 LinkedDouble ()
virtual ~LinkedDouble ()
virtual void enterLock (void)
virtual void leaveLock (void)

Protected Attributes

LinkedDoublenextObject
LinkedDoubleprevObject


Detailed Description

Self managed double linked list object chain. Accumulating double linked list.

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

Author:
David Sugar <dyfet@gnutelephony.org>


Member Enumeration Documentation

enum ost::LinkedDouble::InsertMode
 

Requested in overloaded insert() method to indicate how to insert data into list.

Enumeration values:
modeAtFirst  insert at first position in list pointed by current object
modeAtLast  insert at last position in list pointed by current object
modeBefore  insert in list before current object
modeAfter  insert in list after current object


Constructor & Destructor Documentation

ost::LinkedDouble::LinkedDouble  )  [inline, protected]
 

virtual ost::LinkedDouble::~LinkedDouble  )  [protected, virtual]
 


Member Function Documentation

virtual void ost::LinkedDouble::detach void   )  [virtual]
 

Remove object from chain.

virtual void ost::LinkedDouble::enterLock void   )  [protected, virtual]
 

virtual LinkedDouble* ost::LinkedDouble::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 follows list to front.

Returns:
pointer to first object in list.

virtual LinkedDouble* ost::LinkedDouble::getInsert void   )  [virtual]
 

Virtual to get the insert point to use when adding new members.

This may be current, or always head or always tail. As a virtual, this allows derived class to establish "policy".

Returns:
pointer to insertion point in list.

virtual LinkedDouble* ost::LinkedDouble::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.

LinkedDouble* ost::LinkedDouble::getNext void   )  [inline]
 

Get next object, for convenience.

Derived class may use this with a dynamic cast.

Returns:
next object in list.

LinkedDouble* ost::LinkedDouble::getPrev void   )  [inline]
 

Get prev object in the list.

Returns:
pointer to previous object.

virtual void ost::LinkedDouble::insert InsertMode  position,
LinkedDouble obj
[virtual]
 

Insert object into chain at given position, as indicated by InsertMode.

Parameters:
position where object is inserted.
object being inserted.

virtual void ost::LinkedDouble::insert LinkedDouble obj  )  [virtual]
 

Insert object into chain.

Parameters:
object being inserted.

virtual void ost::LinkedDouble::leaveLock void   )  [protected, virtual]
 

LinkedDouble& ost::LinkedDouble::operator+= LinkedDouble obj  ) 
 

LinkedDouble& ost::LinkedDouble::operator--  ) 
 


Member Data Documentation

LinkedDouble* ost::LinkedDouble::nextObject [protected]
 

LinkedDouble * ost::LinkedDouble::prevObject [protected]
 


The documentation for this class was generated from the following file:
Generated on Fri May 30 14:42:42 2008 for GNU CommonC++ by doxygen 1.3.5