CircDList Class Reference

#include <_link.h>

List of all members.

Public Member Functions

 CircDList ()
virtual ~CircDList ()
void Clear (void)
int32s GetCount (void)
DLinkableGetFirst (void)
void Append (DLinkable *ptr)
void Insert (DLinkable *prv, DLinkable *ptr, DLinkable *nxt)
DLinkableRemoveFirst (void)
DLinkableRemove (DLinkable *ptr)
template<class T >
void Iterator (void(T::*pf)(DLinkable *))

Private Attributes

DLinkablepFirst
int32s Count


Detailed Description

Definition at line 165 of file _link.h.


Constructor & Destructor Documentation

CircDList::CircDList (  )  [inline]

Definition at line 172 of file _link.h.

00172 { Clear(); }

virtual CircDList::~CircDList (  )  [inline, virtual]

Definition at line 173 of file _link.h.

00173 {}


Member Function Documentation

void CircDList::Append ( DLinkable ptr  )  [inline]

Definition at line 179 of file _link.h.

00179 { Insert( pFirst? pFirst->GetPrev(): NULL, ptr, pFirst ); }

void CircDList::Clear ( void   )  [inline]

Definition at line 175 of file _link.h.

00175 { pFirst = NULL;  Count = 0; }

int32s CircDList::GetCount ( void   )  [inline]

Definition at line 176 of file _link.h.

00176 { return Count;  }

DLinkable* CircDList::GetFirst ( void   )  [inline]

Definition at line 177 of file _link.h.

00177 { return pFirst; }

void CircDList::Insert ( DLinkable prv,
DLinkable ptr,
DLinkable nxt 
) [inline]

Definition at line 180 of file _link.h.

00181     { 
00182         if( ptr ) 
00183         { 
00184             if( !prv || !nxt )  (pFirst = ptr)->Insert(ptr, ptr);
00185             else                ptr->Insert(prv, nxt); 
00186             Count++;
00187         }
00188     }

template<class T >
void CircDList::Iterator ( void(T::*)(DLinkable *)  pf  )  [inline]

Definition at line 203 of file _link.h.

00204     {
00205         DLinkable* ptr = pFirst;
00206         do { pf( ptr ); } while( (ptr = ptr->GetNext()) != pFirst );
00207     }

DLinkable* CircDList::Remove ( DLinkable ptr  )  [inline]

Definition at line 191 of file _link.h.

00192     { 
00193         if( ptr ) 
00194         { 
00195             if( ptr == pFirst ) pFirst = pFirst->GetNext();
00196             if( ptr == pFirst ) pFirst = NULL;
00197             ptr->Remove(); 
00198             Count--; 
00199         } 
00200         return ptr;
00201     }

DLinkable* CircDList::RemoveFirst ( void   )  [inline]

Definition at line 190 of file _link.h.

00190 { return Remove( pFirst ); }


Member Data Documentation

Definition at line 169 of file _link.h.

Definition at line 168 of file _link.h.


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

Generated on Thu Nov 28 14:47:22 2013 for red_wireless by  doxygen 1.5.7.1