Bridges-C++  3.4.2
Bridges(C++ API)
BinTreeElement.h
Go to the documentation of this file.
1 #ifndef BT_ELEMENT_H
2 #define BT_ELEMENT_H
3 
4 #include "TreeElement.h" //string, using std
5 
6 namespace bridges {
7  namespace datastructure {
23  template <typename E>
24  class BinTreeElement : public TreeElement<E> {
25  private:
26  int leftPos = 0, rightPos = 1;
27  public:
38  BinTreeElement(BinTreeElement* l, BinTreeElement* r, const E& e = E(),
39  const string& lab = string()) : TreeElement<E>(e, lab) {
40  this->addChild(l);
41  this->addChild(r);
42  }
43 
52  BinTreeElement(const E& e = E(), const string& lab = string())
53  : BinTreeElement(nullptr, nullptr, e, lab) {
54  }
55 
59  virtual const string getDStype() const override {
60  return "BinaryTree";
61  }
62 
67  virtual BinTreeElement* getLeft() {
68  return static_cast<BinTreeElement*>(this->getChild(leftPos));
69  }
70 
75  virtual const BinTreeElement* getLeft() const {
76  return static_cast<const BinTreeElement*>(this->getChild(leftPos));
77  }
78 
85  this->setChild(leftPos, l);
86  }
87 
92  virtual BinTreeElement* getRight() {
93  return static_cast<BinTreeElement*>(this->getChild(rightPos));
94  }
95 
100  virtual const BinTreeElement* getRight() const {
101  return static_cast<const BinTreeElement*>(this->getChild(rightPos));
102  }
103 
110  this->setChild(rightPos, r);
111  }
112  }; //end of BinTreeElement class
113  }
114 }//end of bridges namespace
115 #endif
This class can be used to create binary tree elements, derived from TreeElement.
Definition: BinTreeElement.h:24
BinTreeElement(const E &e=E(), const string &lab=string())
Definition: BinTreeElement.h:52
void setLeft(BinTreeElement *l)
Definition: BinTreeElement.h:84
void setRight(BinTreeElement *r)
Definition: BinTreeElement.h:109
virtual const BinTreeElement * getRight() const
Definition: BinTreeElement.h:100
BinTreeElement(BinTreeElement *l, BinTreeElement *r, const E &e=E(), const string &lab=string())
Definition: BinTreeElement.h:38
virtual BinTreeElement * getLeft()
Definition: BinTreeElement.h:67
virtual const BinTreeElement * getLeft() const
Definition: BinTreeElement.h:75
virtual BinTreeElement * getRight()
Definition: BinTreeElement.h:92
virtual const string getDStype() const override
Definition: BinTreeElement.h:59
This class can be used to create tree elements, derived from Element.
Definition: TreeElement.h:24
void addChild(TreeElement *child)
Adds a child to children.
Definition: TreeElement.h:94
TreeElement * getChild(const int &n)
Gets the nth child of this node.
Definition: TreeElement.h:73
void setChild(const size_t &index, TreeElement *kid)
Sets child at index to "kid".
Definition: TreeElement.h:108
these methods convert byte arrays in to base64 codes and are used in BRIDGES to represent the color a...
Definition: alltypes.h:4