LLPtrSkipList< DATA_TYPE, BINARY_DEPTH > Class Template Reference

#include <llptrskiplist.h>

Collaboration diagram for LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLPtrSkipList ()
 LLPtrSkipList (BOOL(*insert_first)(DATA_TYPE *first, DATA_TYPE *second), BOOL(*equals)(DATA_TYPE *first, DATA_TYPE *second))
 ~LLPtrSkipList ()
void setInsertFirst (BOOL(*insert_first)(const DATA_TYPE *first, const DATA_TYPE *second))
void setEquals (BOOL(*equals)(const DATA_TYPE *first, const DATA_TYPE *second))
BOOL addData (DATA_TYPE *data)
BOOL checkData (const DATA_TYPE *data)
S32 getLength ()
BOOL removeData (const DATA_TYPE *data)
BOOL moveData (const DATA_TYPE *data, LLPtrSkipList *newlist, BOOL b_sort)
BOOL moveCurrentData (LLPtrSkipList *newlist, BOOL b_sort)
void removeAllNodes ()
BOOL deleteData (const DATA_TYPE *data)
void deleteAllData ()
void resetList ()
DATA_TYPE * getCurrentData ()
DATA_TYPE * getNextData ()
void removeCurrentData ()
void deleteCurrentData ()
DATA_TYPE * getFirstData ()
BOOL corrupt ()

Static Protected Member Functions

static BOOL defaultEquals (const DATA_TYPE *first, const DATA_TYPE *second)

Protected Attributes

LLPtrSkipNode mHead
LLPtrSkipNodemUpdate [BINARY_DEPTH]
LLPtrSkipNodemCurrentp
LLPtrSkipNodemCurrentOperatingp
S32 mLevel
BOOL(* mInsertFirst )(const DATA_TYPE *first, const DATA_TYPE *second)
BOOL(* mEquals )(const DATA_TYPE *first, const DATA_TYPE *second)

Friends

class LLPtrSkipNode

Classes

class  LLPtrSkipNode

Detailed Description

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
class LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >

Definition at line 44 of file llptrskiplist.h.


Constructor & Destructor Documentation

template<class DATA_TYPE, S32 BINARY_DEPTH>
LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipList (  ) 

Definition at line 177 of file llptrskiplist.h.

References i, llendl, llerrs, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, NULL, and S32.

template<class DATA_TYPE, S32 BINARY_DEPTH>
LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipList ( BOOL(*)(DATA_TYPE *first, DATA_TYPE *second)  insert_first,
BOOL(*)(DATA_TYPE *first, DATA_TYPE *second)  equals 
)

Definition at line 197 of file llptrskiplist.h.

References i, llendl, llerrs, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, NULL, and S32.

template<class DATA_TYPE, S32 BINARY_DEPTH>
LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::~LLPtrSkipList (  )  [inline]

Definition at line 218 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes().


Member Function Documentation

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::addData ( DATA_TYPE *  data  )  [inline]

Definition at line 236 of file llptrskiplist.h.

References level, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, and S32.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveCurrentData(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveData().

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::checkData ( const DATA_TYPE *  data  )  [inline]

Definition at line 302 of file llptrskiplist.h.

References level, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, and S32.

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::corrupt (  )  [inline]

Definition at line 707 of file llptrskiplist.h.

References FALSE, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mData, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, and TRUE.

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
static BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::defaultEquals ( const DATA_TYPE *  first,
const DATA_TYPE *  second 
) [inline, static, protected]

Definition at line 159 of file llptrskiplist.h.

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteAllData (  )  [inline]

Definition at line 598 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::deleteData(), i, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, NULL, and S32.

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteCurrentData (  )  [inline]

Definition at line 679 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mData.

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteData ( const DATA_TYPE *  data  )  [inline]

Definition at line 506 of file llptrskiplist.h.

References level, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, and S32.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteCurrentData().

template<class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE * LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getCurrentData (  )  [inline]

Definition at line 633 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mData, and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward.

template<class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE * LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData (  )  [inline]

Definition at line 689 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mData, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead.

template<class DATA_TYPE, S32 BINARY_DEPTH>
S32 LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getLength (  )  [inline]

Definition at line 354 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, and NULL.

template<class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE * LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getNextData (  )  [inline]

Definition at line 650 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mData, and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward.

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveCurrentData ( LLPtrSkipList< DATA_TYPE, BINARY_DEPTH > *  newlist,
BOOL  b_sort 
) [inline]

Definition at line 454 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), FALSE, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveData ( const DATA_TYPE *  data,
LLPtrSkipList< DATA_TYPE, BINARY_DEPTH > *  newlist,
BOOL  b_sort 
) [inline]

Definition at line 446 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes (  )  [inline]

Definition at line 480 of file llptrskiplist.h.

References i, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, NULL, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::removeData(), and S32.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::~LLPtrSkipList().

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData (  )  [inline]

Definition at line 668 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mData, and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData ( const DATA_TYPE *  data  )  [inline]

Definition at line 365 of file llptrskiplist.h.

References level, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, and S32.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveCurrentData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveData(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData().

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::resetList (  )  [inline]

Definition at line 625 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipNode::mForward, and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead.

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::setEquals ( BOOL(*)(const DATA_TYPE *first, const DATA_TYPE *second)  equals  )  [inline]

Definition at line 230 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals.

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::setInsertFirst ( BOOL(*)(const DATA_TYPE *first, const DATA_TYPE *second)  insert_first  )  [inline]

Definition at line 224 of file llptrskiplist.h.

References LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst.


Friends And Related Function Documentation

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
friend class LLPtrSkipNode [friend]

Definition at line 47 of file llptrskiplist.h.


Member Data Documentation

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLPtrSkipNode* LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp [protected]

Definition at line 168 of file llptrskiplist.h.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteAllData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteCurrentData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getCurrentData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getNextData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipList(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveCurrentData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLPtrSkipNode* LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp [protected]

Definition at line 167 of file llptrskiplist.h.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteAllData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getCurrentData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getNextData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipList(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::moveCurrentData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
BOOL(* LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals)(const DATA_TYPE *first, const DATA_TYPE *second) [protected]

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::setEquals().

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLPtrSkipNode LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mHead [protected]

Definition at line 165 of file llptrskiplist.h.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::corrupt(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteAllData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::getLength(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipList(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
BOOL(* LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst)(const DATA_TYPE *first, const DATA_TYPE *second) [protected]

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::corrupt(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::setInsertFirst().

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
S32 LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel [protected]

Definition at line 169 of file llptrskiplist.h.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipList(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().

template<class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLPtrSkipNode* LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate[BINARY_DEPTH] [protected]

Definition at line 166 of file llptrskiplist.h.

Referenced by LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteAllData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::deleteData(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::LLPtrSkipList(), LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), and LLPtrSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().


The documentation for this class was generated from the following file:
Generated on Thu Jul 1 06:11:40 2010 for Second Life Viewer by  doxygen 1.4.7