LLLinkedList< DATA_TYPE > Class Template Reference

#include <linked_lists.h>

Inheritance diagram for LLLinkedList< DATA_TYPE >:

Inheritance graph
[legend]
Collaboration diagram for LLLinkedList< DATA_TYPE >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LLLinkedList ()
 LLLinkedList (BOOL(*insert_before)(DATA_TYPE *data_new, DATA_TYPE *data_tested))
 ~LLLinkedList ()
void setInsertBefore (BOOL(*insert_before)(DATA_TYPE *data_new, DATA_TYPE *data_tested))
BOOL addData (DATA_TYPE *data)
BOOL addDataSorted (DATA_TYPE *data)
BOOL addDataNoCheck (DATA_TYPE *data)
void bubbleSortList ()
BOOL addDataAtEnd (DATA_TYPE *data)
S32 getLength () const
BOOL isEmpty ()
BOOL removeData (DATA_TYPE *data)
BOOL deleteData (DATA_TYPE *data)
void deleteAllData ()
void removeAllNodes ()
BOOL checkData (DATA_TYPE *data)
void resetList ()
DATA_TYPE * getCurrentData ()
DATA_TYPE * getNextData ()
DATA_TYPE * getFirstData ()
DATA_TYPE * getNthData (U32 n)
DATA_TYPE * getLastData ()
void removeCurrentData ()
void moveCurrentData (LLLinkedList *newlist, BOOL b_sort)
BOOL moveData (DATA_TYPE *data, LLLinkedList *newlist, BOOL b_sort)
void deleteCurrentData ()

Private Member Functions

void addData (LLLinkNode *node)

Private Attributes

LLLinkNode mHead
LLLinkNodemCurrentp
LLLinkNodemCurrentOperatingp
BOOL(* mInsertBefore )(DATA_TYPE *data_new, DATA_TYPE *data_tested)
U32 mCount

Friends

class LLLinkNode

Classes

class  LLLinkNode


Detailed Description

template<class DATA_TYPE>
class LLLinkedList< DATA_TYPE >

Provides a standard doubly linked list for fun and profit Utilizes a neat trick off of Flipcode where the back pointer is a pointer to a pointer, allowing easier transfer of nodes between lists, &c And a template class, of course

Definition at line 45 of file linked_lists.h.


Constructor & Destructor Documentation

template<class DATA_TYPE>
LLLinkedList< DATA_TYPE >::LLLinkedList (  )  [inline]

Definition at line 52 of file linked_lists.h.

template<class DATA_TYPE>
LLLinkedList< DATA_TYPE >::LLLinkedList ( BOOL(*)(DATA_TYPE *data_new, DATA_TYPE *data_tested)  insert_before  )  [inline]

Definition at line 60 of file linked_lists.h.

template<class DATA_TYPE>
LLLinkedList< DATA_TYPE >::~LLLinkedList (  )  [inline]

Definition at line 68 of file linked_lists.h.


Member Function Documentation

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::setInsertBefore ( BOOL(*)(DATA_TYPE *data_new, DATA_TYPE *data_tested)  insert_before  )  [inline]

Definition at line 74 of file linked_lists.h.

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::addData ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::addDataSorted ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::addDataNoCheck ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::bubbleSortList (  )  [inline]

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::addDataAtEnd ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
S32 LLLinkedList< DATA_TYPE >::getLength (  )  const [inline]

Definition at line 500 of file linked_lists.h.

References LLLinkedList< DATA_TYPE >::mCount.

Referenced by LLScriptEventData::addEventData(), and LLScriptEventData::write2bytestream().

Here is the caller graph for this function:

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::isEmpty (  )  [inline]

Definition at line 512 of file linked_lists.h.

References LLLinkedList< DATA_TYPE >::mCount.

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::removeData ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::deleteData ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::deleteAllData (  )  [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::removeAllNodes (  )  [inline]

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::checkData ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::resetList (  )  [inline]

template<class DATA_TYPE>
DATA_TYPE * LLLinkedList< DATA_TYPE >::getCurrentData (  )  [inline]

template<class DATA_TYPE>
DATA_TYPE * LLLinkedList< DATA_TYPE >::getNextData (  )  [inline]

template<class DATA_TYPE>
DATA_TYPE * LLLinkedList< DATA_TYPE >::getFirstData (  )  [inline]

template<class DATA_TYPE>
DATA_TYPE * LLLinkedList< DATA_TYPE >::getNthData ( U32  n  )  [inline]

template<class DATA_TYPE>
DATA_TYPE * LLLinkedList< DATA_TYPE >::getLastData (  )  [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::removeCurrentData (  )  [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::moveCurrentData ( LLLinkedList< DATA_TYPE > *  newlist,
BOOL  b_sort 
) [inline]

template<class DATA_TYPE>
BOOL LLLinkedList< DATA_TYPE >::moveData ( DATA_TYPE *  data,
LLLinkedList< DATA_TYPE > *  newlist,
BOOL  b_sort 
) [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::deleteCurrentData (  )  [inline]

template<class DATA_TYPE>
void LLLinkedList< DATA_TYPE >::addData ( LLLinkNode node  )  [inline, private]

Definition at line 201 of file linked_lists.h.


Friends And Related Function Documentation

template<class DATA_TYPE>
friend class LLLinkNode [friend]


Member Data Documentation

template<class DATA_TYPE>
LLLinkNode LLLinkedList< DATA_TYPE >::mHead [private]

template<class DATA_TYPE>
LLLinkNode* LLLinkedList< DATA_TYPE >::mCurrentp [private]

template<class DATA_TYPE>
LLLinkNode* LLLinkedList< DATA_TYPE >::mCurrentOperatingp [private]

template<class DATA_TYPE>
BOOL(* LLLinkedList< DATA_TYPE >::mInsertBefore)(DATA_TYPE *data_new, DATA_TYPE *data_tested) [private]

template<class DATA_TYPE>
U32 LLLinkedList< DATA_TYPE >::mCount [private]


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

Generated on Fri May 16 08:51:42 2008 for SecondLife by  doxygen 1.5.5