18 #ifndef itkTreeContainer_h
19 #define itkTreeContainer_h
37 template<
typename TValue >
67 virtual bool SetRoot(
const TValue element) ITK_OVERRIDE;
76 bool Contains(
const TValue element) ITK_OVERRIDE;
79 int Count() const ITK_OVERRIDE;
82 bool IsLeaf(const TValue element) ITK_OVERRIDE;
85 bool IsRoot(const TValue element) ITK_OVERRIDE;
88 bool Clear() ITK_OVERRIDE;
97 const
TreeNodeType * GetRoot() const ITK_OVERRIDE {
return m_Root.GetPointer(); }
100 bool Add(
const TValue child,
const TValue parent);
103 const TreeNodeType * GetNode(TValue val)
const;
112 int m_DefaultChildrenCount;
114 void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
118 #ifndef ITK_MANUAL_INSTANTIATION
119 #include "itkTreeContainer.hxx"
Light weight base class for most itk classes.
Represents a node in a tree.
TreeIteratorBase< Self > IteratorType
TreeContainer< TValue > Self
TreeNode< ValueType > TreeNodeType
PreOrderTreeIterator< Self > PreOrderIteratorType
SmartPointer< const Self > ConstPointer
TreeContainerBase< TValue > Superclass
This class provides the base implementation for tree iterators.
A base class for tree containers.
Control indentation during Print() invocation.
SmartPointer< Self > Pointer