LLDoubleLinkedList< DATA_TYPE > Class Template Reference

#include <doublelinkedlist.h>

List of all members.

Public Member Functions

 LLDoubleLinkedList ()
 ~LLDoubleLinkedList ()
void addData (DATA_TYPE *data)
void addDataAtEnd (DATA_TYPE *data)
S32 getLength () const
BOOL removeData (const DATA_TYPE *data)
BOOL deleteData (DATA_TYPE *data)
void deleteAllData ()
void removeAllNodes ()
BOOL isEmpty ()
BOOL checkData (const DATA_TYPE *data)
void resetList ()
DATA_TYPE * getCurrentData ()
DATA_TYPE * getFirstData ()
DATA_TYPE * getNthData (U32 n)
DATA_TYPE * getLastData ()
DATA_TYPE * getNextData ()
DATA_TYPE * getPreviousData ()
void removeCurrentData ()
void deleteCurrentData ()
void moveCurrentData (LLDoubleLinkedList< DATA_TYPE > *newlist)
void insertNode (LLDoubleLinkedNode< DATA_TYPE > *node)
void insertData (DATA_TYPE *data)
void swapCurrentWithPrevious ()
void swapCurrentWithNext ()
void moveCurrentToFront ()
void moveCurrentToEnd ()
void setInsertBefore (BOOL(*insert_before)(DATA_TYPE *first, DATA_TYPE *second))
BOOL addDataSorted (DATA_TYPE *datap)
BOOL bubbleSort ()
BOOL lazyBubbleSort ()
BOOL pushState ()
BOOL popState ()
void clearStateStack ()
void scramble ()

Private Member Functions

void addNode (LLDoubleLinkedNode< DATA_TYPE > *node)
void addNodeAtEnd (LLDoubleLinkedNode< DATA_TYPE > *node)

Private Attributes

LLDoubleLinkedNode< DATA_TYPE > mHead
LLDoubleLinkedNode< DATA_TYPE > mTail
LLDoubleLinkedNode< DATA_TYPE > * mQueuep
LLDoubleLinkedNode< DATA_TYPE > * mCurrentp
LLDoubleLinkedNode< DATA_TYPE > * mQueuepStack [LLDOUBLE_LINKED_LIST_STATE_STACK_DEPTH]
LLDoubleLinkedNode< DATA_TYPE > * mCurrentpStack [LLDOUBLE_LINKED_LIST_STATE_STACK_DEPTH]
U32 mStateStackDepth
U32 mCount
BOOL(* mInsertBefore )(DATA_TYPE *first, DATA_TYPE *second)


Detailed Description

template<class DATA_TYPE>
class LLDoubleLinkedList< DATA_TYPE >

Definition at line 65 of file doublelinkedlist.h.


Constructor & Destructor Documentation

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

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

Definition at line 338 of file doublelinkedlist.h.

References LLDoubleLinkedList< DATA_TYPE >::removeAllNodes().

Here is the call graph for this function:


Member Function Documentation

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::addData ( DATA_TYPE *  data  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::addDataAtEnd ( DATA_TYPE *  data  )  [inline]

Definition at line 380 of file doublelinkedlist.h.

References LLDoubleLinkedList< DATA_TYPE >::addNodeAtEnd(), llerror, and LLDoubleLinkedList< DATA_TYPE >::mCount.

Referenced by LLDoubleLinkedList< DATA_TYPE >::addDataSorted(), and LLDoubleLinkedList< DATA_TYPE >::scramble().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 572 of file doublelinkedlist.h.

References LLDoubleLinkedList< DATA_TYPE >::mCount.

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

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

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

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

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

Definition at line 1396 of file doublelinkedlist.h.

References LLDoubleLinkedList< DATA_TYPE >::mCount.

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

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

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

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

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

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

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

Definition at line 722 of file doublelinkedlist.h.

References LLDoubleLinkedList< DATA_TYPE >::mCurrentp, LLDoubleLinkedList< DATA_TYPE >::mQueuep, and NULL.

Referenced by LLDoubleLinkedList< DATA_TYPE >::scramble().

Here is the caller graph for this function:

template<class DATA_TYPE>
DATA_TYPE * LLDoubleLinkedList< DATA_TYPE >::getPreviousData (  )  [inline]

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

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

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::moveCurrentData ( LLDoubleLinkedList< DATA_TYPE > *  newlist  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::insertNode ( LLDoubleLinkedNode< DATA_TYPE > *  node  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::insertData ( DATA_TYPE *  data  )  [inline]

Definition at line 933 of file doublelinkedlist.h.

References LLDoubleLinkedList< DATA_TYPE >::insertNode(), llerror, and LLDoubleLinkedList< DATA_TYPE >::mCount.

Referenced by LLDoubleLinkedList< DATA_TYPE >::addDataSorted().

Here is the call graph for this function:

Here is the caller graph for this function:

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::swapCurrentWithPrevious (  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::swapCurrentWithNext (  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::moveCurrentToFront (  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::moveCurrentToEnd (  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::setInsertBefore ( BOOL(*)(DATA_TYPE *first, DATA_TYPE *second)  insert_before  )  [inline]

template<class DATA_TYPE>
BOOL LLDoubleLinkedList< DATA_TYPE >::addDataSorted ( DATA_TYPE *  datap  )  [inline]

template<class DATA_TYPE>
BOOL LLDoubleLinkedList< DATA_TYPE >::bubbleSort (  )  [inline]

Definition at line 1216 of file doublelinkedlist.h.

References FALSE, LLDoubleLinkedList< DATA_TYPE >::lazyBubbleSort(), llwarning, and TRUE.

Here is the call graph for this function:

template<class DATA_TYPE>
BOOL LLDoubleLinkedList< DATA_TYPE >::lazyBubbleSort (  )  [inline]

template<class DATA_TYPE>
BOOL LLDoubleLinkedList< DATA_TYPE >::pushState (  )  [inline]

template<class DATA_TYPE>
BOOL LLDoubleLinkedList< DATA_TYPE >::popState (  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::clearStateStack (  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::scramble (  )  [inline]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::addNode ( LLDoubleLinkedNode< DATA_TYPE > *  node  )  [inline, private]

template<class DATA_TYPE>
void LLDoubleLinkedList< DATA_TYPE >::addNodeAtEnd ( LLDoubleLinkedNode< DATA_TYPE > *  node  )  [inline, private]


Member Data Documentation

template<class DATA_TYPE>
LLDoubleLinkedNode<DATA_TYPE> LLDoubleLinkedList< DATA_TYPE >::mHead [private]

template<class DATA_TYPE>
LLDoubleLinkedNode<DATA_TYPE> LLDoubleLinkedList< DATA_TYPE >::mTail [private]

template<class DATA_TYPE>
LLDoubleLinkedNode<DATA_TYPE>* LLDoubleLinkedList< DATA_TYPE >::mQueuep [private]

template<class DATA_TYPE>
LLDoubleLinkedNode<DATA_TYPE>* LLDoubleLinkedList< DATA_TYPE >::mCurrentp [private]

template<class DATA_TYPE>
LLDoubleLinkedNode<DATA_TYPE>* LLDoubleLinkedList< DATA_TYPE >::mQueuepStack[LLDOUBLE_LINKED_LIST_STATE_STACK_DEPTH] [private]

template<class DATA_TYPE>
LLDoubleLinkedNode<DATA_TYPE>* LLDoubleLinkedList< DATA_TYPE >::mCurrentpStack[LLDOUBLE_LINKED_LIST_STATE_STACK_DEPTH] [private]

template<class DATA_TYPE>
U32 LLDoubleLinkedList< DATA_TYPE >::mStateStackDepth [private]

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

template<class DATA_TYPE>
BOOL(* LLDoubleLinkedList< DATA_TYPE >::mInsertBefore)(DATA_TYPE *first, DATA_TYPE *second) [private]


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

Generated on Fri May 16 08:43:49 2008 for SecondLife by  doxygen 1.5.5