NAME
ost::LinkedDouble -
Self managed double linked list object chain.
SYNOPSIS
#include <object.h>
Public Types
enum InsertMode { modeAtFirst, modeAtLast, modeBefore, modeAfter }
Requested in overloaded insert() method to indicate how to insert
data into list.
Public Member Functions
virtual LinkedDouble * getFirst (void)
Get first linked object in list.
virtual LinkedDouble * getLast (void)
Gets the last object in the list.
virtual LinkedDouble * getInsert (void)
Virtual to get the insert point to use when adding new members.
LinkedDouble * getNext (void)
Get next object, for convenience.
LinkedDouble * getPrev (void)
Get prev object in the list.
virtual void insert (LinkedDouble &obj, InsertMode position=modeAtLast)
Insert object into chain at given position, as indicated by
InsertMode; If no position is given, it defaults to modeAtLast,
inserting element at lists end.
virtual void detach (void)
Remove object from chain.
LinkedDouble & operator+= (LinkedDouble &obj)
LinkedDouble & operator-- ()
Protected Member Functions
LinkedDouble ()
virtual ~LinkedDouble ()
virtual void enterLock (void)
virtual void leaveLock (void)
Protected Attributes
LinkedDouble * nextObject
LinkedDouble * prevObject
Detailed Description
Self managed double 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 double linked
list.
Member Enumeration Documentation
enum ost::LinkedDouble::InsertMode
Requested in overloaded insert() method to indicate how to insert data
into list.
Enumerator:
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 (LinkedDouble & obj, InsertMode
position = modeAtLast) [virtual]
Insert object into chain at given position, as indicated by InsertMode;
If no position is given, it defaults to modeAtLast, inserting element
at list’s end. Parameters:
object being inserted.
position where object is 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]
Author
Generated automatically by Doxygen for GNU CommonC++ from the source
code.