#include <llskiplist.h>
Collaboration diagram for LLSkipList< DATA_TYPE, BINARY_DEPTH >:
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 &) | |
LLSkipList & | operator= (const LLSkipList &) |
Private Attributes | |
LLSkipNode | mHead |
LLSkipNode * | mUpdate [BINARY_DEPTH] |
LLSkipNode * | mCurrentp |
LLSkipNode * | mCurrentOperatingp |
S32 | mLevel |
insert_func | mInsertFirst |
equals_func | mEquals |
Classes | |
class | LLSkipNode |
Definition at line 39 of file llskiplist.h.
typedef BOOL(*) LLSkipList< DATA_TYPE, BINARY_DEPTH >::compare(const DATA_TYPE &first, const DATA_TYPE &second) |
Definition at line 42 of file llskiplist.h.
typedef compare LLSkipList< DATA_TYPE, BINARY_DEPTH >::equals_func |
Definition at line 44 of file llskiplist.h.
typedef compare LLSkipList< DATA_TYPE, BINARY_DEPTH >::insert_func |
Definition at line 43 of file llskiplist.h.
LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList | ( | ) | [inline] |
Definition at line 168 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::init().
LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList | ( | insert_func | insert_first, | |
equals_func | equals | |||
) | [inline] |
Definition at line 177 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::init().
LLSkipList< DATA_TYPE, BINARY_DEPTH >::~LLSkipList | ( | ) | [inline] |
Definition at line 186 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes().
LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList | ( | const LLSkipList< DATA_TYPE, BINARY_DEPTH > & | ) | [private] |
BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData | ( | const DATA_TYPE & | data | ) | [inline] |
Definition at line 204 of file llskiplist.h.
References level, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, and S32.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::moveData().
BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::checkData | ( | const DATA_TYPE & | data | ) | [inline] |
Definition at line 267 of file llskiplist.h.
References level, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, and S32.
static BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::defaultEquals | ( | const DATA_TYPE & | first, | |
const DATA_TYPE & | second | |||
) | [inline, static] |
Definition at line 123 of file llskiplist.h.
DATA_TYPE LLSkipList< DATA_TYPE, BINARY_DEPTH >::getCurrentData | ( | ) | [inline] |
DATA_TYPE LLSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData | ( | ) | [inline] |
Definition at line 503 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mData, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, and LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead.
S32 LLSkipList< DATA_TYPE, BINARY_DEPTH >::getLength | ( | ) | const [inline] |
Definition at line 315 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, and NULL.
DATA_TYPE LLSkipList< DATA_TYPE, BINARY_DEPTH >::getNextData | ( | ) | [inline] |
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::init | ( | ) | [inline] |
Definition at line 152 of file llskiplist.h.
References i, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, NULL, and S32.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList().
BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::moveData | ( | const DATA_TYPE & | data, | |
LLSkipList< DATA_TYPE, BINARY_DEPTH > * | newlist | |||
) | [inline] |
Definition at line 327 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().
LLSkipList& LLSkipList< DATA_TYPE, BINARY_DEPTH >::operator= | ( | const LLSkipList< DATA_TYPE, BINARY_DEPTH > & | ) | [private] |
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes | ( | ) | [inline] |
Definition at line 424 of file llskiplist.h.
References i, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, NULL, and S32.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::~LLSkipList().
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData | ( | ) | [inline] |
Definition at line 493 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mData, and LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().
BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData | ( | const DATA_TYPE & | data | ) | [inline] |
Definition at line 336 of file llskiplist.h.
References level, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate, and S32.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::moveData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData().
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::resetList | ( | ) | [inline] |
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::setEquals | ( | equals_func | equals | ) | [inline] |
Definition at line 198 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals.
void LLSkipList< DATA_TYPE, BINARY_DEPTH >::setInsertFirst | ( | insert_func | insert_first | ) | [inline] |
Definition at line 192 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst.
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp [private] |
Definition at line 132 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::getCurrentData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::getNextData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::init(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp [private] |
Definition at line 131 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::getCurrentData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::getNextData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::init(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().
equals_func LLSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals [private] |
Definition at line 135 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::setEquals().
LLSkipNode LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead [private] |
Definition at line 129 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::getLength(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::init(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().
insert_func LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst [private] |
Definition at line 134 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::setInsertFirst().
S32 LLSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel [private] |
Definition at line 133 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::init(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate[BINARY_DEPTH] [private] |
Definition at line 130 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::init(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().