Helios++
Helios software for LiDAR simulations
|
Interface defining core mechanisms that must be provided by any tree iterator. More...
#include <ITreeIterator.h>
Public Member Functions | |
ITreeIterator ()=default | |
Default constructor for tree iterator. | |
virtual void | start (NodeType node)=0 |
Start the iterator at given tree node. More... | |
virtual bool | hasNext () const =0 |
Check if the iterator has more nodes to visit (true) or not (false) More... | |
virtual NodeType | next ()=0 |
Obtain the next node according to iterator criterion. More... | |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &ar, unsigned int const version) |
Serialize a ITreeIterator to a stream of bytes. More... | |
Friends | |
class | boost::serialization::access |
Interface defining core mechanisms that must be provided by any tree iterator.
NodeType | Type of tree node |
|
pure virtual |
Check if the iterator has more nodes to visit (true) or not (false)
Implemented in BinaryTreeFastDepthIterator< NodeType >, BinaryTreeFastBreadthIterator< NodeType >, BinaryTreeDepthIterator< NodeType >, and BinaryTreeBreadthIterator< NodeType >.
|
pure virtual |
Obtain the next node according to iterator criterion.
Implemented in BinaryTreeFastDepthIterator< NodeType >, BinaryTreeFastBreadthIterator< NodeType >, BinaryTreeDepthIterator< NodeType >, and BinaryTreeBreadthIterator< NodeType >.
|
inlineprivate |
Serialize a ITreeIterator to a stream of bytes.
Archive | Type of rendering |
ar | Specific rendering for the stream of bytes |
version | Version number for the ITreeIterator |
|
pure virtual |
Start the iterator at given tree node.
node | Node to start iterator |
Implemented in BinaryTreeFastDepthIterator< NodeType >, BinaryTreeFastBreadthIterator< NodeType >, BinaryTreeDepthIterator< NodeType >, and BinaryTreeBreadthIterator< NodeType >.