mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-18 21:30:38 +01:00
[poincare] Add method 'hasNode' on TreeHandle
This commit is contained in:
committed by
LeaNumworks
parent
4f3bd12fea
commit
79f0834f4e
@@ -107,6 +107,8 @@ protected:
|
||||
void setIdentifierAndRetain(int newId);
|
||||
void setTo(const TreeHandle & tr);
|
||||
|
||||
static bool hasNode(int identifier) { return identifier > TreeNode::NoNodeIdentifier; }
|
||||
|
||||
/* Hierarchy operations */
|
||||
// Add
|
||||
void addChildAtIndexInPlace(TreeHandle t, int index, int currentNumberOfChildren);
|
||||
|
||||
@@ -16,7 +16,7 @@ TreeHandle TreeHandle::clone() const {
|
||||
}
|
||||
|
||||
/* Hierarchy operations */
|
||||
TreeNode * TreeHandle::node() const { assert(m_identifier != TreeNode::NoNodeIdentifier); return TreePool::sharedPool()->node(m_identifier); }
|
||||
TreeNode * TreeHandle::node() const { assert(hasNode(m_identifier)); return TreePool::sharedPool()->node(m_identifier); }
|
||||
|
||||
size_t TreeHandle::size() const { return node()->deepSize(node()->numberOfChildren()); }
|
||||
|
||||
@@ -204,7 +204,7 @@ void TreeHandle::setTo(const TreeHandle & tr) {
|
||||
}
|
||||
|
||||
void TreeHandle::release(int identifier) {
|
||||
if (identifier == TreeNode::NoNodeIdentifier) {
|
||||
if (!hasNode(identifier)) {
|
||||
return;
|
||||
}
|
||||
TreeNode * node = TreePool::sharedPool()->node(identifier);
|
||||
|
||||
@@ -31,7 +31,7 @@ void TreeNode::rename(int identifier, bool unregisterPreviousIdentifier) {
|
||||
// Hierarchy
|
||||
|
||||
TreeNode * TreeNode::parent() const {
|
||||
return m_parentIdentifier == NoNodeIdentifier ? nullptr : TreePool::sharedPool()->node(m_parentIdentifier);
|
||||
return TreeHandle::hasNode(m_parentIdentifier) ? TreePool::sharedPool()->node(m_parentIdentifier) : nullptr;
|
||||
}
|
||||
|
||||
TreeNode * TreeNode::root() {
|
||||
|
||||
Reference in New Issue
Block a user