16 #include <nn/pia/common/common_Definitions.h>
17 #include <nn/pia/common/common_TreeMapNodeBase.h>
30 class TreeMapBase :
public common::RootObject
32 typedef TreeMapNodeBase Node;
48 return m_pRoot == NULL;
56 uint32_t Count()
const;
60 bool IsIncludeNodeBase(
const Node* cpNode)
const;
64 Node* FrontNodeBase()
const;
65 Node* BackNodeBase()
const;
67 void InsertNodeRoot(Node* pNode);
68 void InsertNodeLeft(Node* pNode, Node* pUp);
69 void InsertNodeRight(Node* pNode, Node* pUp);
70 void ReplaceNode(Node* pNode, Node* pOld);
72 void EraseNodeBase(Node* pNode);
74 Node* RotateRight(Node* pNode);
75 Node* RotateLeft(Node* pNode);
78 Node* GetRootBase()
const
85 TreeMapBase(
const TreeMapBase& rhs);
86 TreeMapBase& operator=(
const TreeMapBase& rhs);
88 uint32_t CountImpl(
const Node* cpNode)
const;
90 void ClearNodeBaseImpl(Node* pNode);
92 void UpdateBalanceInsert(Node* pNode);