18 #ifndef itkTreeIteratorBase_h
19 #define itkTreeIteratorBase_h
41 template<
typename TTreeType >
73 virtual bool Add(TTreeType & subTree);
82 virtual bool IsLeaf()
const;
85 virtual bool IsRoot()
const;
100 virtual bool HasChild(
int number = 0)
const;
185 if(
this != &iterator)
212 virtual bool HasNext()
const = 0;
218 #ifndef ITK_MANUAL_INSTANTIATION
219 #include "itkTreeIteratorBase.hxx"
TreeIteratorBase(TTreeType *tree, const TreeNodeType *start)
bool IsAtBegin(void) const
virtual bool IsRoot() const
TreeNodeType::ChildIdentifier ChildIdentifier
TTreeType::TreeNodeType TreeNodeType
virtual bool Add(ValueType element)
void Set(ValueType element)
virtual TTreeType * GetSubTree() const
virtual bool HasParent() const
virtual bool HasChild(int number=0) const
virtual bool IsLeaf() const
virtual TreeIteratorBase< TTreeType > * Clone()=0
TTreeType::ValueType ValueType
virtual bool GoToChild(ChildIdentifier number=0)
virtual int CountChildren() const
virtual ~TreeIteratorBase()
virtual int ChildPosition(ValueType element) const
virtual const ValueType & Get() const
virtual TreeNodeType * GetNode()
virtual bool RemoveChild(int number)
virtual bool HasNext() const =0
virtual const ValueType & Next()=0
TTreeType * GetTree() const
Self & operator=(const Self &iterator)
virtual NodeType GetType() const =0
This class provides the base implementation for tree iterators.
virtual bool GoToParent()
virtual bool Disconnect()
TreeNodeType * m_Position
const TreeNodeType * GetParent() const
virtual TreeIteratorBase< TTreeType > * Children()
const TreeNodeType * m_Root
virtual TreeIteratorBase< TTreeType > * Parents()
virtual TreeIteratorBase< TTreeType > * GetChild(int number) const