ost::linkeddouble(3)
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) 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. 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::enterLock (void) [protected, virtual] virtual void ost::LinkedDouble::leaveLock (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::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.
- 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.
- 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) [virtual]
- Insert object into chain.
- Parameters:
object being inserted.
- 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::detach (void) [virtual]
- Remove object from chain.
- 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.