6 #ifndef FSM_TREES_TREE_H_
7 #define FSM_TREES_TREE_H_
13 #include "fsm/InputTrace.h"
14 #include "interface/FsmPresentationLayer.h"
15 #include "trees/IOListContainer.h"
16 #include "trees/TreeEdge.h"
17 #include "trees/TreeNode.h"
25 std::shared_ptr<TreeNode>
root;
30 std::vector<std::shared_ptr<TreeNode>>
leaves;
43 void remove(
const std::shared_ptr<TreeNode> thisNode,
const std::shared_ptr<TreeNode> otherNode);
51 void printChildren(std::ostream & out,
const std::shared_ptr<TreeNode> top,
const std::shared_ptr<int> idNode)
const;
58 Tree(
const std::shared_ptr<TreeNode> root,
const std::shared_ptr<FsmPresentationLayer> presentationLayer);
64 std::vector<std::shared_ptr<TreeNode>>
getLeaves();
70 std::shared_ptr<TreeNode>
getRoot()
const;
81 void remove(
const std::shared_ptr<Tree> otherTree);
87 void toDot(std::ostream & out);
113 void unionTree(
const std::shared_ptr<Tree> otherTree);
118 #endif //FSM_TREES_TREE_H_
std::vector< std::shared_ptr< TreeNode > > getLeaves()
Definition: Tree.cpp:44
void calcLeaves()
Definition: Tree.cpp:8
Definition: IOListContainer.h:15
void unionTree(const std::shared_ptr< Tree > otherTree)
Definition: Tree.cpp:100
std::shared_ptr< TreeNode > getRoot() const
Definition: Tree.cpp:50
std::vector< std::shared_ptr< TreeNode > > leaves
Definition: Tree.h:30
Tree(const std::shared_ptr< TreeNode > root, const std::shared_ptr< FsmPresentationLayer > presentationLayer)
Definition: Tree.cpp:38
void add(const IOListContainer &tcl)
Definition: Tree.cpp:88
void printChildren(std::ostream &out, const std::shared_ptr< TreeNode > top, const std::shared_ptr< int > idNode) const
Definition: Tree.cpp:28
IOListContainer getTestCases()
Definition: Tree.cpp:83
const std::shared_ptr< FsmPresentationLayer > presentationLayer
Definition: Tree.h:35
void toDot(std::ostream &out)
Definition: Tree.cpp:73
std::shared_ptr< TreeNode > root
Definition: Tree.h:25
void addToRoot(const IOListContainer &tcl)
Definition: Tree.cpp:94