Scroll to navigation

ost::LinkedDouble(3) Library Functions Manual 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, 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 list's 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)
virtual LinkedDouble * firstObject ()
virtual LinkedDouble * lastObject ()

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

insert at first position in list pointed by current object
insert at last position in list pointed by current object
insert in list before current object
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::firstObject () [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 LinkedDouble* ost::LinkedDouble::lastObject () [protected], [virtual]

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.

Sun Dec 27 2020 GNU CommonC++