FSM Library - C++ version
HsTreeNode.h
1 /*
2  * Copyright. GaĆ«l Dottel, Christoph Hilken, and Jan Peleska 2016 - 2021
3  *
4  * Licensed under the EUPL V.1.1
5  */
6 #ifndef FSM_SETS_HSTREENODE_H_
7 #define FSM_SETS_HSTREENODE_H_
8 
9 #include <algorithm>
10 #include <iostream>
11 #include <sstream>
12 #include <string>
13 #include <unordered_set>
14 #include <vector>
15 
17 {
18 private:
19  std::unordered_set<int> x;
20  std::vector<std::unordered_set<int>> s;
21  std::vector<HsTreeNode> children;
22  int nodeNum;
23 public:
27  static std::unordered_set<int> hSmallest;
28 
32  static int maxNodeNum;
33 
34  //TODO
35  HsTreeNode(const std::unordered_set<int>& x, const std::vector<std::unordered_set<int>>& s);
36 
41  size_t size() const;
42 
47  bool isHittingSet() const;
48 
53  void add(const HsTreeNode & node);
54 
55  //TODO
56  void expandNode();
57 
62  std::string toDot();
63 };
64 #endif //FSM_SETS_HSTREENODE_H_
static int maxNodeNum
Definition: HsTreeNode.h:32
bool isHittingSet() const
Definition: HsTreeNode.cpp:23
static std::unordered_set< int > hSmallest
Definition: HsTreeNode.h:27
void add(const HsTreeNode &node)
Definition: HsTreeNode.cpp:54
std::string toDot()
Definition: HsTreeNode.cpp:78
size_t size() const
Definition: HsTreeNode.cpp:18
Definition: HsTreeNode.h:16