LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH > Class Template Reference

#include <llptrskipmap.h>

List of all members.

Public Types

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

Public Member Functions

void init ()
 LLPtrSkipMap ()
 LLPtrSkipMap (insert_func insert_first, equals_func equals)
 ~LLPtrSkipMap ()
void setInsertFirst (insert_func insert_first)
void setEquals (equals_func equals)
DATA_T & addData (const INDEX_T &index, DATA_T datap)
DATA_T & addData (const INDEX_T &index)
DATA_T & getData (const INDEX_T &index)
DATA_T & operator[] (const INDEX_T &index)
DATA_T & getData (const INDEX_T &index, BOOL &b_new_entry)
BOOL getInterval (const INDEX_T &index, INDEX_T &index_before, INDEX_T &index_after, DATA_T &data_before, DATA_T &data_after)
BOOL checkData (const INDEX_T &index)
BOOL checkKey (const INDEX_T &index)
DATA_T getIfThere (const INDEX_T &index)
INDEX_T reverseLookup (const DATA_T datap)
S32 getLength ()
BOOL removeData (const INDEX_T &index)
BOOL deleteData (const INDEX_T &index)
void removeAllData ()
void deleteAllData ()
void resetList ()
DATA_T getCurrentDataWithoutIncrement ()
DATA_T getCurrentData ()
DATA_T getNextData ()
INDEX_T getNextKey ()
INDEX_T getCurrentKeyWithoutIncrement ()
void removeCurrentData ()
void deleteCurrentData ()
DATA_T getFirstData ()
INDEX_T getFirstKey ()

Static Public Member Functions

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

Private Member Functions

 LLPtrSkipMap (const LLPtrSkipMap &)
LLPtrSkipMapoperator= (const LLPtrSkipMap &)

Private Attributes

LLPtrSkipMapNode< INDEX_T,
DATA_T, BINARY_DEPTH > 
mHead
LLPtrSkipMapNode< INDEX_T,
DATA_T, BINARY_DEPTH > * 
mUpdate [BINARY_DEPTH]
LLPtrSkipMapNode< INDEX_T,
DATA_T, BINARY_DEPTH > * 
mCurrentp
LLPtrSkipMapNode< INDEX_T,
DATA_T, BINARY_DEPTH > * 
mCurrentOperatingp
S32 mLevel
BOOL(* mInsertFirst )(const INDEX_T &first, const INDEX_T &second)
BOOL(* mEquals )(const INDEX_T &first, const INDEX_T &second)
S32 mNumberOfSteps


Detailed Description

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
class LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >

Definition at line 126 of file llptrskipmap.h.


Member Typedef Documentation

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
typedef BOOL(* LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::compare)(const DATA_T &first, const DATA_T &second)

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
typedef compare LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::insert_func

Definition at line 130 of file llptrskipmap.h.

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
typedef compare LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::equals_func

Definition at line 131 of file llptrskipmap.h.


Constructor & Destructor Documentation

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::LLPtrSkipMap (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::LLPtrSkipMap ( insert_func  insert_first,
equals_func  equals 
) [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::~LLPtrSkipMap (  )  [inline]

Definition at line 283 of file llptrskipmap.h.

References LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::removeAllData().

Here is the call graph for this function:

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::LLPtrSkipMap ( const LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH > &   )  [private]


Member Function Documentation

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::init (  ) 

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::setInsertFirst ( insert_func  insert_first  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::setEquals ( equals_func  equals  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T & LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::addData ( const INDEX_T &  index,
DATA_T  datap 
) [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T & LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::addData ( const INDEX_T &  index  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T & LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getData ( const INDEX_T &  index  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T & LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::operator[] ( const INDEX_T &  index  )  [inline]

Definition at line 601 of file llptrskipmap.h.

References LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getData().

Here is the call graph for this function:

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T & LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getData ( const INDEX_T &  index,
BOOL b_new_entry 
) [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
BOOL LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getInterval ( const INDEX_T &  index,
INDEX_T &  index_before,
INDEX_T &  index_after,
DATA_T &  data_before,
DATA_T &  data_after 
) [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
BOOL LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::checkData ( const INDEX_T &  index  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
BOOL LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::checkKey ( const INDEX_T &  index  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getIfThere ( const INDEX_T &  index  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
INDEX_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::reverseLookup ( const DATA_T  datap  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
S32 LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getLength (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
BOOL LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::removeData ( const INDEX_T &  index  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
BOOL LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::deleteData ( const INDEX_T &  index  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::removeAllData (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::deleteAllData (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::resetList (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getCurrentDataWithoutIncrement (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getCurrentData (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getNextData (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
INDEX_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getNextKey (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
INDEX_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getCurrentKeyWithoutIncrement (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::removeCurrentData (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
void LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::deleteCurrentData (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
DATA_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getFirstData (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH>
INDEX_T LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::getFirstKey (  )  [inline]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
static BOOL LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::defaultEquals ( const INDEX_T &  first,
const INDEX_T &  second 
) [inline, static]

Definition at line 211 of file llptrskipmap.h.

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
LLPtrSkipMap& LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::operator= ( const LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH > &   )  [private]


Member Data Documentation

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
LLPtrSkipMapNode<INDEX_T, DATA_T, BINARY_DEPTH> LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mHead [private]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
LLPtrSkipMapNode<INDEX_T, DATA_T, BINARY_DEPTH>* LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mUpdate[BINARY_DEPTH] [private]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
LLPtrSkipMapNode<INDEX_T, DATA_T, BINARY_DEPTH>* LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mCurrentp [private]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
LLPtrSkipMapNode<INDEX_T, DATA_T, BINARY_DEPTH>* LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mCurrentOperatingp [private]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
S32 LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mLevel [private]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
BOOL(* LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mInsertFirst)(const INDEX_T &first, const INDEX_T &second) [private]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
BOOL(* LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mEquals)(const INDEX_T &first, const INDEX_T &second) [private]

template<class INDEX_T, class DATA_T, S32 BINARY_DEPTH = 8>
S32 LLPtrSkipMap< INDEX_T, DATA_T, BINARY_DEPTH >::mNumberOfSteps [private]


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

Generated on Fri May 16 09:01:00 2008 for SecondLife by  doxygen 1.5.5