Tree::addBranch
- Now returns a pointer to the new node, for convenience. Throws on error.
This commit is contained in:
@@ -76,10 +76,14 @@ Tree* Tree::operator[] (const int branch)
|
|||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
void Tree::addBranch (Tree* branch)
|
Tree* Tree::addBranch (Tree* branch)
|
||||||
{
|
{
|
||||||
|
if (! branch)
|
||||||
|
throw "Failed to allocate memory for parse tree.";
|
||||||
|
|
||||||
branch->_trunk = this;
|
branch->_trunk = this;
|
||||||
_branches.push_back (branch);
|
_branches.push_back (branch);
|
||||||
|
return branch;
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ public:
|
|||||||
Tree& operator= (const Tree&);
|
Tree& operator= (const Tree&);
|
||||||
Tree* operator[] (const int);
|
Tree* operator[] (const int);
|
||||||
|
|
||||||
void addBranch (Tree*);
|
Tree* addBranch (Tree*);
|
||||||
void removeBranch (Tree*);
|
void removeBranch (Tree*);
|
||||||
void replaceBranch (Tree*, Tree*);
|
void replaceBranch (Tree*, Tree*);
|
||||||
int branches ();
|
int branches ();
|
||||||
|
|||||||
Reference in New Issue
Block a user