Lines Matching refs:node

19 	//! Automatic node strategy (works like STL containers do)
28 inline void Free(Node* node)
29 inline const Key GetKey(const Node* node) const
30 inline Value& GetValue(Node* node) const
31 inline AVLTreeNode* GetAVLTreeNode(Node* node) const
32 inline Node* GetNode(AVLTreeNode* node) const
68 Node* Previous(Node* node) const;
69 Node* Next(Node* node) const;
74 inline Iterator GetIterator(Node* node);
75 inline ConstIterator GetIterator(Node* node) const;
85 status_t Remove(Node* node);
92 const AVLTreeNode* node);
96 void _FreeTree(AVLTreeNode* node);
100 inline void _Free(Node* node);
101 inline Key _GetKey(Node* node) const;
102 inline Value& _GetValue(Node* node) const;
103 inline AVLTreeNode* _GetAVLTreeNode(const Node* node) const;
104 inline Node* _GetNode(const AVLTreeNode* node) const;
132 if (AVLTreeNode* node = ConstIterator::fTreeIterator.Remove()) {
136 parent->_Free(parent->_GetNode(node));
175 if (AVLTreeNode* node = fTreeIterator.Current())
176 return fParent->_GetKey(fParent->_GetNode(node));
182 if (AVLTreeNode* node = fTreeIterator.Current())
183 return fParent->_GetValue(fParent->_GetNode(node));
189 if (AVLTreeNode* node = fTreeIterator.Current())
190 return &fParent->_GetValue(fParent->_GetNode(node));
196 if (AVLTreeNode* node = fTreeIterator.Current())
197 return fParent->_GetNode(node);
208 if (AVLTreeNode* node = fTreeIterator.Next())
209 return fParent->_GetValue(fParent->_GetNode(node));
215 if (AVLTreeNode* node = fTreeIterator.Next())
216 return &fParent->_GetValue(fParent->_GetNode(node));
222 if (AVLTreeNode* node = fTreeIterator.Previous())
223 return fParent->_GetValue(fParent->_GetNode(node));
290 _AVL_TREE_MAP_CLASS_NAME::Previous(Node* node) const
292 if (node == NULL)
295 AVLTreeNode* treeNode = fTree.Previous(_GetAVLTreeNode(node));
303 _AVL_TREE_MAP_CLASS_NAME::Next(Node* node) const
305 if (node == NULL)
308 AVLTreeNode* treeNode = fTree.Next(_GetAVLTreeNode(node));
334 _AVL_TREE_MAP_CLASS_NAME::GetIterator(Node* node)
336 return Iterator(this, fTree.GetIterator(_GetAVLTreeNode(node)));
343 _AVL_TREE_MAP_CLASS_NAME::GetIterator(Node* node) const
345 return ConstIterator(this, fTree.GetIterator(_GetAVLTreeNode(node)));
354 if (AVLTreeNode* node = fTree.Find(&key))
355 return Iterator(this, fTree.GetIterator(node));
365 if (AVLTreeNode* node = fTree.FindClosest(&key, less))
366 return Iterator(this, fTree.GetIterator(node));
377 // allocate a node
382 // insert node
383 AVLTreeNode* node = _GetAVLTreeNode(userNode);
384 status_t error = fTree.Insert(node);
391 *iterator = Iterator(this, fTree.GetIterator(node));
403 // allocate a node
408 // insert node
409 AVLTreeNode* node = _GetAVLTreeNode(userNode);
410 status_t error = fTree.Insert(node);
428 AVLTreeNode* node = fTree.Remove(&key);
429 if (!node)
432 _Free(_GetNode(node));
440 _AVL_TREE_MAP_CLASS_NAME::Remove(Node* node)
442 if (!fTree.Remove(node))
445 _Free(node);
454 const AVLTreeNode* node)
456 return _CompareKeyNode(*(const Key*)key, _GetNode(node));
482 _AVL_TREE_MAP_CLASS_NAME::_Free(Node* node)
484 fStrategy.Free(node);
491 _AVL_TREE_MAP_CLASS_NAME::_GetKey(Node* node) const
493 return fStrategy.GetKey(node);
500 _AVL_TREE_MAP_CLASS_NAME::_GetValue(Node* node) const
502 return fStrategy.GetValue(node);
509 _AVL_TREE_MAP_CLASS_NAME::_GetAVLTreeNode(const Node* node) const
511 return fStrategy.GetAVLTreeNode(const_cast<Node*>(node));
518 _AVL_TREE_MAP_CLASS_NAME::_GetNode(const AVLTreeNode* node) const
520 return fStrategy.GetNode(const_cast<AVLTreeNode*>(node));
545 _AVL_TREE_MAP_CLASS_NAME::_FreeTree(AVLTreeNode* node)
547 if (node) {
548 _FreeTree(node->left);
549 _FreeTree(node->right);
550 _Free(_GetNode(node));
620 inline void Free(Node* node)
622 fAllocator.Destruct(node);
623 fAllocator.Deallocate(node);
626 inline const Key& GetKey(const Node* node) const
628 return node->key;
631 inline Value& GetValue(Node* node) const
633 return node->value;
636 inline AVLTreeNode* GetAVLTreeNode(Node* node) const
638 return node;
641 inline Node* GetNode(AVLTreeNode* node) const
643 return static_cast<Node*>(node);