#include <llskiplist.h>

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 40 of file llskiplist.h.
| typedef BOOL(* LLSkipList< DATA_TYPE, BINARY_DEPTH >::compare)(const DATA_TYPE &first, const DATA_TYPE &second) |
| typedef compare LLSkipList< DATA_TYPE, BINARY_DEPTH >::insert_func |
Definition at line 44 of file llskiplist.h.
| typedef compare LLSkipList< DATA_TYPE, BINARY_DEPTH >::equals_func |
Definition at line 45 of file llskiplist.h.
| LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList | ( | ) | [inline] |
Definition at line 169 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 178 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::init().

| LLSkipList< DATA_TYPE, BINARY_DEPTH >::~LLSkipList | ( | ) | [inline] |
Definition at line 187 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes().

| LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipList | ( | const LLSkipList< DATA_TYPE, BINARY_DEPTH > & | ) | [private] |
| void LLSkipList< DATA_TYPE, BINARY_DEPTH >::init | ( | void | ) | [inline] |
Definition at line 153 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().

| 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.
| 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.
| BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::addData | ( | const DATA_TYPE & | data | ) | [inline] |
Definition at line 205 of file llskiplist.h.
References ll_frand(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mData, 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, NULL, S32, and TRUE.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::moveData().


| BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::checkData | ( | const DATA_TYPE & | data | ) | [inline] |
Definition at line 268 of file llskiplist.h.
References FALSE, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mData, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals, 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.
| S32 LLSkipList< DATA_TYPE, BINARY_DEPTH >::getLength | ( | ) | const [inline] |
Definition at line 316 of file llskiplist.h.
References LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mForward, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead, and NULL.
| 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().

| BOOL LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData | ( | const DATA_TYPE & | data | ) | [inline] |
Definition at line 337 of file llskiplist.h.
References FALSE, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp, LLSkipList< DATA_TYPE, BINARY_DEPTH >::LLSkipNode::mData, LLSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals, 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, S32, and TRUE.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::moveData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData().

| void LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeAllNodes | ( | ) | [inline] |
Definition at line 425 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 >::resetList | ( | ) | [inline] |
| DATA_TYPE LLSkipList< DATA_TYPE, BINARY_DEPTH >::getCurrentData | ( | ) | [inline] |
| DATA_TYPE LLSkipList< DATA_TYPE, BINARY_DEPTH >::getNextData | ( | ) | [inline] |
| void LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeCurrentData | ( | ) | [inline] |
Definition at line 494 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().

| DATA_TYPE LLSkipList< DATA_TYPE, BINARY_DEPTH >::getFirstData | ( | ) | [inline] |
Definition at line 504 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.
| 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.
| LLSkipList& LLSkipList< DATA_TYPE, BINARY_DEPTH >::operator= | ( | const LLSkipList< DATA_TYPE, BINARY_DEPTH > & | ) | [private] |
LLSkipNode LLSkipList< DATA_TYPE, BINARY_DEPTH >::mHead [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 >::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().
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mUpdate[BINARY_DEPTH] [private] |
Definition at line 131 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().
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentp [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 >::removeData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().
LLSkipNode* LLSkipList< DATA_TYPE, BINARY_DEPTH >::mCurrentOperatingp [private] |
Definition at line 133 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(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::resetList().
S32 LLSkipList< DATA_TYPE, BINARY_DEPTH >::mLevel [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 >::init(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData().
insert_func LLSkipList< DATA_TYPE, BINARY_DEPTH >::mInsertFirst [private] |
Definition at line 135 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().
equals_func LLSkipList< DATA_TYPE, BINARY_DEPTH >::mEquals [private] |
Definition at line 136 of file llskiplist.h.
Referenced by LLSkipList< DATA_TYPE, BINARY_DEPTH >::checkData(), LLSkipList< DATA_TYPE, BINARY_DEPTH >::removeData(), and LLSkipList< DATA_TYPE, BINARY_DEPTH >::setEquals().
1.5.5