Public Types | |
typedef TtoK | key_accessor |
typedef TIntrusiveRedBlackTree < T, K, TtoK, Pr, TtoN > | Base |
typedef T | value_type |
typedef std::pair < Iterator, bool > | pairib |
typedef void( | ValidateNodeFnc )(const T *pNode, ULONG_PTR userData) |
Public Member Functions | |
Base::Iterator | Find (const T *pData) const |
bool | IsEmpty () const |
size_t | Size () const |
pairib | Insert (const T *pItemToInsert) |
pairib | Insert (const T *pItemToInsert, const K &key) |
Iterator | Find (const K &key) const |
T * | Remove (const K &key) |
void | Erase (const Iterator &it) |
void | Erase (const T *pDataToErase) |
void | Clear () |
Iterator | CreateIterator (const T *pItem) const |
void | SwapNode (const CIntrusiveRedBlackTreeNode *pSourceNode, CIntrusiveRedBlackTreeNode *pDestNode) |
Iterator | Begin () const |
Iterator | End () const |
void | ValidateTree (ValidateNodeFnc *pValidateNodeFnc=nullptr, ULONG_PTR userData=0) const |
Static Public Member Functions | |
static bool | IsInTree (const CIntrusiveRedBlackTreeNode *pNode) |
static void | RemoveFromTree (CIntrusiveRedBlackTreeNode *pNode) |
typedef TtoK key_accessor |
Reimplemented from TIntrusiveRedBlackTree.
typedef TIntrusiveRedBlackTree<T, K, TtoK, Pr, TtoN> Base |
typedef T value_type [inherited] |
typedef void( ValidateNodeFnc)(const T *pNode, ULONG_PTR userData) [inherited] |
Base::Iterator Find | ( | const T * | pData | ) | const [inline] |
bool IsEmpty | ( | ) | const [inline, inherited] |
size_t Size | ( | ) | const [inline, inherited] |
TIntrusiveRedBlackTree< T, K, TtoK, Pr, TtoN >::pairib Insert | ( | const T * | pItemToInsert | ) | [inline, inherited] |
TIntrusiveRedBlackTree< T, K, TtoK, Pr, TtoN >::pairib Insert | ( | const T * | pItemToInsert, | |
const K & | key | |||
) | [inline, inherited] |
TIntrusiveRedBlackTree< T, K, TtoK, Pr, TtoN >::Iterator Find | ( | const K & | key | ) | const [inline, inherited] |
T * Remove | ( | const K & | key | ) | [inline, inherited] |
void Erase | ( | const Iterator & | it | ) | [inline, inherited] |
void Erase | ( | const T * | pDataToErase | ) | [inline, inherited] |
void Clear | ( | ) | [inline, inherited] |
bool IsInTree | ( | const CIntrusiveRedBlackTreeNode * | pNode | ) | [inline, static, inherited] |
TIntrusiveRedBlackTree< T, K, TtoK, Pr, TtoN >::Iterator CreateIterator | ( | const T * | pItem | ) | const [inline, inherited] |
void SwapNode | ( | const CIntrusiveRedBlackTreeNode * | pSourceNode, | |
CIntrusiveRedBlackTreeNode * | pDestNode | |||
) | [inline, inherited] |
void RemoveFromTree | ( | CIntrusiveRedBlackTreeNode * | pNode | ) | [inline, static, inherited] |
TIntrusiveRedBlackTree< T, K, TtoK, Pr, TtoN >::Iterator Begin | ( | ) | const [inline, inherited] |
TIntrusiveRedBlackTree< T, K, TtoK, Pr, TtoN >::Iterator End | ( | ) | const [inline, inherited] |
void ValidateTree | ( | ValidateNodeFnc * | pValidateNodeFnc = nullptr , |
|
ULONG_PTR | userData = 0 | |||
) | const [inline, inherited] |