SpatiumLib
Public Member Functions | Protected Attributes | List of all members
spatium::idx::Tree< G > Class Template Reference

Tree data structure. More...

#include <Tree.h>

Collaboration diagram for spatium::idx::Tree< G >:
Collaboration graph
[legend]

Public Member Functions

 Tree (std::shared_ptr< TreeNode< G >> rootNode=std::make_shared< TreeNode< G >>())
 Constructor. More...
 
 Tree (const G &rootObject, const std::shared_ptr< TreeNode< G >> &rootNode=std::make_shared< TreeNode< G >>())
 Constructor. More...
 
std::shared_ptr< TreeNode< G > > root () const
 Get the root node. More...
 
TreeIterator< G > begin ()
 Get iterator pointing to the beginning of the tree (root node). More...
 
TreeIterator< G > end ()
 Get iterator pointing to the end of the tree. More...
 

Protected Attributes

const std::shared_ptr< TreeNode< G > > m_root
 

Detailed Description

template<typename G>
class spatium::idx::Tree< G >

Tree data structure.

Tree is a hierarchical data structure composed of nodes (TreeNode). It has one node that represents the root of the tree.

Constructor & Destructor Documentation

◆ Tree() [1/2]

template<typename G>
spatium::idx::Tree< G >::Tree ( std::shared_ptr< TreeNode< G >>  rootNode = std::make_shared<TreeNode<G>>())
inline

Constructor.

Parameters
[in]rootNodeRoot node (optional)

◆ Tree() [2/2]

template<typename G>
spatium::idx::Tree< G >::Tree ( const G &  rootObject,
const std::shared_ptr< TreeNode< G >> &  rootNode = std::make_shared<TreeNode<G>>() 
)
inline

Constructor.

Parameters
[in]rootObjectObject for root node
[in]rootNodeRoot node (optional)

Member Function Documentation

◆ begin()

template<typename G>
TreeIterator<G> spatium::idx::Tree< G >::begin ( )
inline

Get iterator pointing to the beginning of the tree (root node).

This iterator traverses the tree in depth-first order.

Returns
Tree iterator

◆ end()

template<typename G>
TreeIterator<G> spatium::idx::Tree< G >::end ( )
inline

Get iterator pointing to the end of the tree.

This iterator traverses the tree in depth-first order.

Returns
Tree iterator

◆ root()

template<typename G>
std::shared_ptr<TreeNode<G> > spatium::idx::Tree< G >::root ( ) const
inline

Get the root node.

Returns
Root node

Member Data Documentation

◆ m_root

template<typename G>
const std::shared_ptr<TreeNode<G> > spatium::idx::Tree< G >::m_root
protected

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