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

Iterator for a Tree. More...

#include <Tree.h>

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

Public Member Functions

 TreeIterator (const Tree< G > &tree, bool end=false)
 Constructor. More...
 
bool operator== (const TreeIterator< G > &other) const
 Compare operator. Is equal. More...
 
bool operator!= (const TreeIterator< G > &other) const
 Compare operator. Is unequal. More...
 
TreeIterator< G > & operator++ ()
 Increment operator. More...
 
std::shared_ptr< TreeNode< G > > operator * () const
 Get tree node currently being pointed to. More...
 

Protected Attributes

Tree< G > m_tree
 
bool m_end
 
std::stack< std::shared_ptr< TreeNode< G > > > m_stack
 

Detailed Description

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

Iterator for a Tree.

TreeIterator is an iterator that traverses a tree in depth-frist order.

Constructor & Destructor Documentation

◆ TreeIterator()

template<typename G >
spatium::idx::TreeIterator< G >::TreeIterator ( const Tree< G > &  tree,
bool  end = false 
)
inline

Constructor.

Parameters
[in]treeTree
[in]endIf true, point to end of tree, otherwise point to beginning of tree. (default = false)

Member Function Documentation

◆ operator *()

template<typename G >
std::shared_ptr<TreeNode<G> > spatium::idx::TreeIterator< G >::operator * ( ) const
inline

Get tree node currently being pointed to.

Returns
TreeNode

◆ operator!=()

template<typename G >
bool spatium::idx::TreeIterator< G >::operator!= ( const TreeIterator< G > &  other) const
inline

Compare operator. Is unequal.

Parameters
[in]otherOther iterator
Returns
True if unequal, otherwise false

◆ operator++()

template<typename G >
TreeIterator<G>& spatium::idx::TreeIterator< G >::operator++ ( )
inline

Increment operator.

Returns
Iterator.

◆ operator==()

template<typename G >
bool spatium::idx::TreeIterator< G >::operator== ( const TreeIterator< G > &  other) const
inline

Compare operator. Is equal.

Parameters
[in]otherOther iterator
Returns
True if equal, otherwise false

Member Data Documentation

◆ m_end

template<typename G >
bool spatium::idx::TreeIterator< G >::m_end
protected

◆ m_stack

template<typename G >
std::stack<std::shared_ptr<TreeNode<G> > > spatium::idx::TreeIterator< G >::m_stack
protected

◆ m_tree

template<typename G >
Tree<G> spatium::idx::TreeIterator< G >::m_tree
protected

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