7 #ifndef ELM_INHSTRUCT_BINTREE_H
8 #define ELM_INHSTRUCT_BINTREE_H
10 namespace elm {
namespace inhstruct {
37 bool contains(
Node *current,
Node *node)
const;
39 bool visitPreOrder(
Visitor *visitor,
Node *node)
const;
40 bool visitPostOrder(
Visitor *visitor,
Node *node)
const;
46 inline bool isEmpty(
void)
const;
47 inline bool contains(
Node *node);
48 inline int count(
void)
const;
51 inline void visit(
Visitor *visitor)
const;
52 inline void visitPreOrder(
Visitor *visitor)
const;
53 inline void visitPostOrder(
Visitor *visitor)
const;
55 inline void clear(
void);
84 inline bool BinTree::contains(
Node *node) {
85 return contains(_root, node);
97 visit(visitor, _root);
100 visitPreOrder(visitor, _root);
103 visitPostOrder(visitor, _root);
void insertLeft(Node *node)
Definition: BinTree.h:60
Node * right(void) const
Definition: BinTree.h:74
void insertRight(Node *node)
Definition: BinTree.h:63
Node * left(void) const
Definition: BinTree.h:71
Node(void)
Definition: BinTree.h:66
virtual int process(Node *node)=0
virtual ~Visitor(void)
Definition: BinTree.h:30
BinTree(void)
Definition: BinTree.h:79
void setRoot(Node *node)
Definition: BinTree.h:93
int count(void) const
Definition: BinTree.h:87
void search(Visitor *visitor) const
Node * root(void) const
Definition: BinTree.h:90
void clear(void)
Definition: BinTree.h:106
bool isEmpty(void) const
Definition: BinTree.h:81
IntFormat left(IntFormat fmt)
Definition: Output.h:263
IntFormat right(IntFormat fmt)
Definition: Output.h:264