18 #ifndef itkLeafTreeIterator_h
19 #define itkLeafTreeIterator_h
25 template<
typename TTreeType >
59 bool HasNext()
const override;
68 template<
typename TTreeType >
86 template<
typename TTreeType >
104 template<
typename TTreeType >
108 template<
typename TTreeType >
116 template<
typename TTreeType >
119 if ( this->m_Position ==
nullptr )
123 if ( const_cast< TreeNodeType * >( FindNextNode() ) !=
nullptr )
132 template<
typename TTreeType >
136 this->m_Position =
const_cast< TreeNodeType *
>( FindNextNode() );
137 return this->m_Position->Get();
142 template<
typename TTreeType >
173 template<
typename TTreeType >
LeafTreeIterator(const TreeType *tree)
typename Superclass::NodeType NodeType
virtual bool HasChild(int number=0) const
const TreeNodeType * FindNextNode() const
NodeType GetType() const override
typename Superclass::TreeNodeType TreeNodeType
typename TreeType::ValueType ValueType
virtual TreeNodeType * GetNode()
TreeIteratorBase< TTreeType > * Clone() override
This class provides the base implementation for tree iterators.
bool HasNext() const override
~LeafTreeIterator() override
typename TTreeType::TreeNodeType TreeNodeType
class ITK_TEMPLATE_EXPORT LeafTreeIterator
const TreeNodeType * m_Root
const ValueType & Next() override