#include <GenTree.H>
A node is a container including:
o parent
/|\
/ | \
/ / | \ \
/ / | \ \
o ... o NODE o ... o
^ /|\ ^
left sibling / | \ right sibling
/ | \
/ | \ \
first child > o o o ... o
/|\ /|\ /|\
Definition at line 93 of file GenTree.H.
Public Member Functions | |
Constructors | |
| GenTreeNode () | |
| Default constructor. | |
| GenTreeNode (const T &aData) | |
| Create a node with given data and no link. | |
| GenTreeNode (GenTreeNode< T > *aPParent, GenTreeNode< T > *aPLSibling, GenTreeNode< T > *aPRSibling, GenTreeNode< T > *aPFirstChild, const T &aData) | |
| Create a node with given links and data. | |
| GenTreeNode (const GenTreeNode< T > &aNode) | |
| Copy constructor. | |
Destructor | |
| virtual | ~GenTreeNode () |
| Virtual destructor. | |
Access to links | |
| GenTreeNode< T > * | pParent () const |
| Get link to parent. | |
| GenTreeNode< T > * | pLSibling () const |
| Get link to left sibling. | |
| GenTreeNode< T > * | pRSibling () const |
| Get link to right sibling. | |
| GenTreeNode< T > * | pFirstChild () const |
| Get link to first child. | |
Set links | |
| void | setPParent (GenTreeNode< T > *aPNode) |
| Set link to parent. | |
| void | setPLSibling (GenTreeNode< T > *aPNode) |
| Set link to left sibling. | |
| void | setPRSibling (GenTreeNode< T > *aPNode) |
| Set link to right sibling. | |
| void | setPFirstChild (GenTreeNode< T > *aPNode) |
| Set link to first child. | |
Access to data stored in nodes | |
| const T & | accessData () const |
| Get data. | |
| T | data () const |
| Get a copy of data. | |
Store data in nodes | |
| void | setData (const T &aData) |
| Store data in current node. | |
Operators | |
| GenTreeNode & | operator= (const GenTreeNode< T > &aNode) |
| Assignment. | |
Protected Attributes | |
Representation of a node | |
| GenTreeNode< T > * | _pParent |
| Pointer to parent. | |
| GenTreeNode< T > * | _pLSibling |
| Pointer to left sibling. | |
| GenTreeNode< T > * | _pRSibling |
| Pointer to right sibling. | |
| GenTreeNode< T > * | _pFirstChild |
| Pointer to first (leftmost) child. | |
| T | _data |
| Data contained by node. | |
|
|||||||||
|
Default constructor. Create an empty node with no link and default data. Definition at line 66 of file GenTree.TCC. |
|
||||||||||
|
Create a node with given data and no link.
Definition at line 82 of file GenTree.TCC. |
|
||||||||||||||||||||||||||||
|
Create a node with given links and data.
Definition at line 98 of file GenTree.TCC. |
|
||||||||||
|
Copy constructor.
Definition at line 116 of file GenTree.TCC. |
|
|||||||||
|
Virtual destructor.
Definition at line 133 of file GenTree.TCC. |
|
|||||||||
|
Get data.
Definition at line 229 of file GenTree.TCC. References qgar::GenTreeNode< T >::_data. Referenced by qgar::GenTree< T >::accessData(), qgar::TgifFile::PRIVATEwriteComponent(), and qgar::TgifFile::write(). |
|
|||||||||
|
Get a copy of data.
Definition at line 238 of file GenTree.TCC. References qgar::GenTreeNode< T >::_data. Referenced by qgar::GenTree< T >::data(), qgar::GenTreeNode< T >::operator=(), and qgar::ConnectedComponents::PRIVATEcopyCC(). |
|
||||||||||
|
Assignment.
Definition at line 266 of file GenTree.TCC. References qgar::GenTreeNode< T >::_data, qgar::GenTreeNode< T >::_pFirstChild, qgar::GenTreeNode< T >::_pLSibling, qgar::GenTreeNode< T >::_pParent, qgar::GenTreeNode< T >::_pRSibling, qgar::GenTreeNode< T >::data(), qgar::GenTreeNode< T >::pFirstChild(), qgar::GenTreeNode< T >::pLSibling(), qgar::GenTreeNode< T >::pParent(), and qgar::GenTreeNode< T >::pRSibling(). |
|
|||||||||
|
Get link to first child.
Definition at line 174 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pFirstChild. Referenced by qgar::GenTree< T >::gotoFirstChild(), qgar::GenTreeNode< T >::operator=(), qgar::GenTree< T >::pFirstChild(), qgar::ConnectedComponents::PRIVATEcopyCC(), qgar::TgifFile::PRIVATEwriteComponent(), and qgar::TgifFile::write(). |
|
|||||||||
|
Get link to left sibling.
Definition at line 156 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pLSibling. Referenced by qgar::GenTree< T >::gotoLSibling(), qgar::GenTreeNode< T >::operator=(), and qgar::GenTree< T >::pLSibling(). |
|
|||||||||
|
Get link to parent.
Definition at line 147 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pParent. Referenced by qgar::GenTree< T >::gotoParent(), qgar::GenTreeNode< T >::operator=(), qgar::GenTree< T >::pParent(), and qgar::GenTree< T >::remove(). |
|
|||||||||
|
Get link to right sibling.
Definition at line 165 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pRSibling. Referenced by qgar::ConnectedComponentsImpl::constructComponentTree(), qgar::GenTree< T >::gotoRSibling(), qgar::GenTreeNode< T >::operator=(), qgar::ConnectedComponents::PRIVATEcopyCC(), qgar::TgifFile::PRIVATEwriteComponent(), and qgar::GenTree< T >::pRSibling(). |
|
||||||||||
|
Store data in current node.
Definition at line 252 of file GenTree.TCC. References qgar::GenTreeNode< T >::_data. Referenced by qgar::ConnectedComponents::PRIVATEcopyCC(). |
|
||||||||||
|
Set link to first child.
Definition at line 215 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pFirstChild. Referenced by qgar::GenTree< T >::remove(). |
|
||||||||||
|
Set link to left sibling.
Definition at line 197 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pLSibling. Referenced by qgar::GenTree< T >::mergeFirstChild(), qgar::GenTree< T >::mergeLSibling(), qgar::GenTree< T >::mergeRSibling(), and qgar::GenTree< T >::remove(). |
|
||||||||||
|
Set link to parent.
Definition at line 188 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pParent. Referenced by qgar::GenTree< T >::mergeFirstChild(), qgar::GenTree< T >::mergeLSibling(), and qgar::GenTree< T >::mergeRSibling(). |
|
||||||||||
|
Set link to right sibling.
Definition at line 206 of file GenTree.TCC. References qgar::GenTreeNode< T >::_pRSibling. Referenced by qgar::GenTree< T >::mergeFirstChild(), qgar::GenTree< T >::mergeLSibling(), qgar::GenTree< T >::mergeRSibling(), and qgar::GenTree< T >::remove(). |
|
|||||
|
Data contained by node.
Definition at line 294 of file GenTree.H. Referenced by qgar::GenTreeNode< T >::accessData(), qgar::GenTreeNode< T >::data(), qgar::GenTreeNode< T >::operator=(), and qgar::GenTreeNode< T >::setData(). |
|
|||||
|
Pointer to first (leftmost) child.
Definition at line 289 of file GenTree.H. Referenced by qgar::GenTreeNode< T >::operator=(), qgar::GenTreeNode< T >::pFirstChild(), and qgar::GenTreeNode< T >::setPFirstChild(). |
|
|||||
|
Pointer to left sibling.
Definition at line 279 of file GenTree.H. Referenced by qgar::GenTreeNode< T >::operator=(), qgar::GenTreeNode< T >::pLSibling(), and qgar::GenTreeNode< T >::setPLSibling(). |
|
|||||
|
Pointer to parent.
Definition at line 274 of file GenTree.H. Referenced by qgar::GenTreeNode< T >::operator=(), qgar::GenTreeNode< T >::pParent(), and qgar::GenTreeNode< T >::setPParent(). |
|
|||||
|
Pointer to right sibling.
Definition at line 284 of file GenTree.H. Referenced by qgar::GenTreeNode< T >::operator=(), qgar::GenTreeNode< T >::pRSibling(), and qgar::GenTreeNode< T >::setPRSibling(). |