retdec
resource_tree.h
Go to the documentation of this file.
1 
7 #ifndef RETDEC_FILEFORMAT_TYPES_RESOURCE_TABLE_RESOURCE_TREE_H
8 #define RETDEC_FILEFORMAT_TYPES_RESOURCE_TABLE_RESOURCE_TREE_H
9 
10 #include <vector>
11 
12 namespace retdec {
13 namespace fileformat {
14 
19 {
20  private:
21  std::vector<std::vector<std::size_t>> tree;
22  public:
23  ResourceTree();
24 
27  bool isValidTree() const;
29 
32  std::size_t getNumberOfLevels() const;
33  std::size_t getNumberOfLevelsWithoutRoot() const;
34  std::size_t getNumberOfNodesInLevel(std::size_t level) const;
35  std::size_t getNumberOfLeafs() const;
37 
40  void addNode(std::size_t level, std::size_t childs);
41  void dump(std::string &dumpTree) const;
43 };
44 
45 } // namespace fileformat
46 } // namespace retdec
47 
48 #endif
Definition: resource_tree.h:19
std::size_t getNumberOfLevels() const
Definition: resource_tree.cpp:62
void addNode(std::size_t level, std::size_t childs)
Definition: resource_tree.cpp:101
std::size_t getNumberOfNodesInLevel(std::size_t level) const
Definition: resource_tree.cpp:82
std::size_t getNumberOfLeafs() const
Definition: resource_tree.cpp:91
void dump(std::string &dumpTree) const
Definition: resource_tree.cpp:122
std::vector< std::vector< std::size_t > > tree
resource tree structure
Definition: resource_tree.h:21
std::size_t getNumberOfLevelsWithoutRoot() const
Definition: resource_tree.cpp:71
ResourceTree()
Definition: resource_tree.cpp:18
bool isValidTree() const
Definition: resource_tree.cpp:28
Definition: archive_wrapper.h:19