LLSkipList< DATA_TYPE, BINARY_DEPTH > Class Template Reference

#include <llskiplist.h>

Collaboration diagram for LLSkipList< DATA_TYPE, BINARY_DEPTH >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef BOOL(* compare )(const DATA_TYPE &first, const DATA_TYPE &second)
typedef compare insert_func
typedef compare equals_func

Public Member Functions

void init ()
 LLSkipList ()
 LLSkipList (insert_func insert_first, equals_func equals)
 ~LLSkipList ()
void setInsertFirst (insert_func insert_first)
void setEquals (equals_func equals)
BOOL addData (const DATA_TYPE &data)
BOOL checkData (const DATA_TYPE &data)
S32 getLength () const
BOOL moveData (const DATA_TYPE &data, LLSkipList *newlist)
BOOL removeData (const DATA_TYPE &data)
void removeAllNodes ()
void resetList ()
DATA_TYPE getCurrentData ()
DATA_TYPE getNextData ()
void removeCurrentData ()
DATA_TYPE getFirstData ()

Static Public Member Functions

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

Private Member Functions

 LLSkipList (const LLSkipList &)
LLSkipListoperator= (const LLSkipList &)

Private Attributes

LLSkipNode mHead
LLSkipNodemUpdate [BINARY_DEPTH]
LLSkipNodemCurrentp
LLSkipNodemCurrentOperatingp
S32 mLevel
insert_func mInsertFirst
equals_func mEquals

Classes

class  LLSkipNode


Detailed Description

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
class LLSkipList< DATA_TYPE, BINARY_DEPTH >

Definition at line 40 of file llskiplist.h.


Member Typedef Documentation

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
typedef BOOL(* LLSkipList< DATA_TYPE, BINARY_DEPTH >::compare)(const DATA_TYPE &first, const DATA_TYPE &second)

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
typedef compare LLSkipList< DATA_TYPE, BINARY_DEPTH >::insert_func

Definition at line 44 of file llskiplist.h.

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
typedef compare LLSkipList< DATA_TYPE, BINARY_DEPTH >::equals_func

Definition at line 45 of file llskiplist.h.


Constructor & Destructor Documentation

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

Definition at line 169 of file llskiplist.h.

References LLSkipList< DATA_TYPE, BINARY_DEPTH >::init().

Here is the call graph for this function:

template<class DATA_TYPE, S32 BINARY_DEPTH>
LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList ( insert_func  insert_first,
equals_func  equals 
) [inline]

Definition at line 178 of file llskiplist.h.

References LLSkipList< DATA_TYPE, BINARY_DEPTH >::init().

Here is the call graph for this function:

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

Definition at line 187 of file llskiplist.h.

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

Here is the call graph for this function:

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList ( const LLSkipList< DATA_TYPE, BINARY_DEPTH > &   )  [private]


Member Function Documentation

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::init ( void   )  [inline]

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::setInsertFirst ( insert_func  insert_first  )  [inline]

Definition at line 193 of file llskiplist.h.

References LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst.

template<class DATA_TYPE, S32 BINARY_DEPTH>
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::setEquals ( equals_func  equals  )  [inline]

Definition at line 199 of file llskiplist.h.

References LLSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals.

template<class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData ( const DATA_TYPE &  data  )  [inline]

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

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

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

Definition at line 328 of file llskiplist.h.

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

Here is the call graph for this function:

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

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

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

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

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

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

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

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
static BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::defaultEquals ( const DATA_TYPE &  first,
const DATA_TYPE &  second 
) [inline, static]

Definition at line 124 of file llskiplist.h.

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
LLSkipList& LLSkipList< DATA_TYPE, BINARY_DEPTH >::operator= ( const LLSkipList< DATA_TYPE, BINARY_DEPTH > &   )  [private]


Member Data Documentation

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
LLSkipNode LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead [private]

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate[BINARY_DEPTH] [private]

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp [private]

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp [private]

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
S32 LLSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel [private]

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
insert_func LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst [private]

template<class DATA_TYPE, S32 BINARY_DEPTH = 10>
equals_func LLSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals [private]


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

Generated on Fri May 16 09:04:40 2008 for SecondLife by  doxygen 1.5.5