LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH > Class Template Reference

#include <llskipmap.h>

Collaboration diagram for LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LLSkipMap ()
 LLSkipMap (BOOL(*insert_first)(const INDEX_TYPE &first, const INDEX_TYPE &second), BOOL(*equals)(const INDEX_TYPE &first, const INDEX_TYPE &second))
 ~LLSkipMap ()
void setInsertFirst (BOOL(*insert_first)(const INDEX_TYPE &first, const INDEX_TYPE &second))
void setEquals (BOOL(*equals)(const INDEX_TYPE &first, const INDEX_TYPE &second))
DATA_TYPE & addData (const INDEX_TYPE &index, DATA_TYPE datap)
DATA_TYPE & addData (const INDEX_TYPE &index)
DATA_TYPE & getData (const INDEX_TYPE &index)
DATA_TYPE & operator[] (const INDEX_TYPE &index)
DATA_TYPE & getData (const INDEX_TYPE &index, BOOL &b_new_entry)
BOOL checkData (const INDEX_TYPE &index)
BOOL checkKey (const INDEX_TYPE &index)
DATA_TYPE getIfThere (const INDEX_TYPE &index)
INDEX_TYPE reverseLookup (const DATA_TYPE datap)
S32 getLength ()
BOOL removeData (const INDEX_TYPE &index)
void removeAllData ()
void resetList ()
DATA_TYPE getCurrentDataWithoutIncrement ()
DATA_TYPE getCurrentData ()
DATA_TYPE getNextData ()
INDEX_TYPE getNextKey ()
INDEX_TYPE getCurrentKeyWithoutIncrement ()
BOOL notDone () const
void removeCurrentData ()
void deleteCurrentData ()
DATA_TYPE getFirstData ()
INDEX_TYPE getFirstKey ()

Static Public Member Functions

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

Private Member Functions

 LLSkipMap (const LLSkipMap &)
LLSkipMapoperator= (const LLSkipMap &)

Private Attributes

LLSkipMapNode mHead
LLSkipMapNodemUpdate [BINARY_DEPTH]
LLSkipMapNodemCurrentp
LLSkipMapNodemCurrentOperatingp
S32 mLevel
BOOL(* mInsertFirst )(const INDEX_TYPE &first, const INDEX_TYPE &second)
BOOL(* mEquals )(const INDEX_TYPE &first, const INDEX_TYPE &second)
S32 mNumberOfSteps

Classes

class  LLSkipMapNode


Detailed Description

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
class LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >

Definition at line 38 of file llskipmap.h.


Constructor & Destructor Documentation

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

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::LLSkipMap ( BOOL(*)(const INDEX_TYPE &first, const INDEX_TYPE &second)  insert_first,
BOOL(*)(const INDEX_TYPE &first, const INDEX_TYPE &second)  equals 
) [inline]

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

Definition at line 252 of file llskipmap.h.

References LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::removeAllData().

Here is the call graph for this function:

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::LLSkipMap ( const LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH > &   )  [private]


Member Function Documentation

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

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

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE & LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::addData ( const INDEX_TYPE &  index,
DATA_TYPE  datap 
) [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE & LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::addData ( const INDEX_TYPE &  index  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE & LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getData ( const INDEX_TYPE &  index  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE & LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::operator[] ( const INDEX_TYPE &  index  )  [inline]

Definition at line 488 of file llskipmap.h.

References LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getData().

Here is the call graph for this function:

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE & LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getData ( const INDEX_TYPE &  index,
BOOL b_new_entry 
) [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::checkData ( const INDEX_TYPE &  index  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::checkKey ( const INDEX_TYPE &  index  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getIfThere ( const INDEX_TYPE &  index  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
INDEX_TYPE LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::reverseLookup ( const DATA_TYPE  datap  )  [inline]

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

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::removeData ( const INDEX_TYPE &  index  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
void LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::removeAllData (  )  [inline]

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

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
DATA_TYPE LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getCurrentDataWithoutIncrement (  )  [inline]

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

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

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
INDEX_TYPE LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getNextKey (  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
INDEX_TYPE LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getCurrentKeyWithoutIncrement (  )  [inline]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
BOOL LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::notDone (  )  const [inline]

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

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

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

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH>
INDEX_TYPE LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::getFirstKey (  )  [inline]

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

Definition at line 187 of file llskipmap.h.

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLSkipMap& LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::operator= ( const LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH > &   )  [private]


Member Data Documentation

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLSkipMapNode LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mHead [private]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLSkipMapNode* LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mUpdate[BINARY_DEPTH] [private]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLSkipMapNode* LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mCurrentp [private]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
LLSkipMapNode* LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp [private]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
S32 LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mLevel [private]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
BOOL(* LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mInsertFirst)(const INDEX_TYPE &first, const INDEX_TYPE &second) [private]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
BOOL(* LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mEquals)(const INDEX_TYPE &first, const INDEX_TYPE &second) [private]

template<class INDEX_TYPE, class DATA_TYPE, S32 BINARY_DEPTH = 8>
S32 LLSkipMap< INDEX_TYPE, DATA_TYPE, BINARY_DEPTH >::mNumberOfSteps [private]


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

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