Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

qgar::GenTreeNode< T > Class Template Reference
[Graphs and trees]

#include <GenTree.H>

List of all members.


Detailed Description

template<class T>
class qgar::GenTreeNode< T >

Template class for a node of a Qgar Tree (see class qgar::GenTree).

A node is a container including:

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.
data () const
 Get a copy of data.
Store data in nodes
void setData (const T &aData)
 Store data in current node.
Operators
GenTreeNodeoperator= (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.
_data
 Data contained by node.


Constructor & Destructor Documentation

template<class T>
qgar::GenTreeNode< T >::GenTreeNode  ) 
 

Default constructor.

Create an empty node with no link and default data.

Definition at line 66 of file GenTree.TCC.

template<class T>
qgar::GenTreeNode< T >::GenTreeNode const T &  aData  ) 
 

Create a node with given data and no link.

Parameters:
aData data to be stored in the node

Definition at line 82 of file GenTree.TCC.

template<class T>
qgar::GenTreeNode< T >::GenTreeNode GenTreeNode< T > *  aPParent,
GenTreeNode< T > *  aPLSibling,
GenTreeNode< T > *  aPRSibling,
GenTreeNode< T > *  aPFirstChild,
const T &  aData
 

Create a node with given links and data.

Parameters:
aPParent pointer to the parent in tree
aPLSibling pointer to the left sibling in tree
aPRSibling pointer to the right sibling in tree
aPFirstChild pointer to the FirstChild in tree
aData data stored in the node

Definition at line 98 of file GenTree.TCC.

template<class T>
qgar::GenTreeNode< T >::GenTreeNode const GenTreeNode< T > &  aNode  ) 
 

Copy constructor.

Parameters:
aNode a node

Definition at line 116 of file GenTree.TCC.

template<class T>
qgar::GenTreeNode< T >::~GenTreeNode  )  [virtual]
 

Virtual destructor.

Definition at line 133 of file GenTree.TCC.


Member Function Documentation

template<class T>
const T & qgar::GenTreeNode< T >::accessData  )  const [inline]
 

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().

template<class T>
T qgar::GenTreeNode< T >::data  )  const [inline]
 

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().

template<class T>
GenTreeNode< T > & qgar::GenTreeNode< T >::operator= const GenTreeNode< T > &  aNode  ) 
 

Assignment.

Parameters:
aNode a node

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().

template<class T>
GenTreeNode< T > * qgar::GenTreeNode< T >::pFirstChild  )  const [inline]
 

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().

template<class T>
GenTreeNode< T > * qgar::GenTreeNode< T >::pLSibling  )  const [inline]
 

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().

template<class T>
GenTreeNode< T > * qgar::GenTreeNode< T >::pParent  )  const [inline]
 

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().

template<class T>
GenTreeNode< T > * qgar::GenTreeNode< T >::pRSibling  )  const [inline]
 

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().

template<class T>
void qgar::GenTreeNode< T >::setData const T &  aData  )  [inline]
 

Store data in current node.

Parameters:
aData data to be stored

Definition at line 252 of file GenTree.TCC.

References qgar::GenTreeNode< T >::_data.

Referenced by qgar::ConnectedComponents::PRIVATEcopyCC().

template<class T>
void qgar::GenTreeNode< T >::setPFirstChild GenTreeNode< T > *  aPNode  )  [inline]
 

Set link to first child.

Parameters:
aPNode a pointer to a node

Definition at line 215 of file GenTree.TCC.

References qgar::GenTreeNode< T >::_pFirstChild.

Referenced by qgar::GenTree< T >::remove().

template<class T>
void qgar::GenTreeNode< T >::setPLSibling GenTreeNode< T > *  aPNode  )  [inline]
 

Set link to left sibling.

Parameters:
aPNode a pointer to a node

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().

template<class T>
void qgar::GenTreeNode< T >::setPParent GenTreeNode< T > *  aPNode  )  [inline]
 

Set link to parent.

Parameters:
aPNode a pointer to a node

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().

template<class T>
void qgar::GenTreeNode< T >::setPRSibling GenTreeNode< T > *  aPNode  )  [inline]
 

Set link to right sibling.

Parameters:
aPNode a pointer to a node

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().


Member Data Documentation

template<class T>
T qgar::GenTreeNode< T >::_data [protected]
 

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().

template<class T>
GenTreeNode<T>* qgar::GenTreeNode< T >::_pFirstChild [protected]
 

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().

template<class T>
GenTreeNode<T>* qgar::GenTreeNode< T >::_pLSibling [protected]
 

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().

template<class T>
GenTreeNode<T>* qgar::GenTreeNode< T >::_pParent [protected]
 

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().

template<class T>
GenTreeNode<T>* qgar::GenTreeNode< T >::_pRSibling [protected]
 

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().


The documentation for this class was generated from the following files: