diff options
Diffstat (limited to 'lib/Core/PTree.h')
-rw-r--r-- | lib/Core/PTree.h | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/lib/Core/PTree.h b/lib/Core/PTree.h index 7618e86e..6456b57f 100644 --- a/lib/Core/PTree.h +++ b/lib/Core/PTree.h @@ -15,36 +15,28 @@ namespace klee { class ExecutionState; - class PTree { - typedef ExecutionState* data_type; - - public: - typedef class PTreeNode Node; - Node *root; - - explicit PTree(const data_type &_root); - ~PTree() = default; - - std::pair<Node*,Node*> split(Node *n, - const data_type &leftData, - const data_type &rightData); - void remove(Node *n); - - void dump(llvm::raw_ostream &os); - }; - class PTreeNode { - friend class PTree; public: PTreeNode *parent = nullptr; PTreeNode *left = nullptr; PTreeNode *right = nullptr; - ExecutionState *data = nullptr; + ExecutionState *state = nullptr; - private: - PTreeNode(PTreeNode * parent, ExecutionState * data); + PTreeNode(const PTreeNode&) = delete; + PTreeNode(PTreeNode *parent, ExecutionState *state); ~PTreeNode() = default; }; + + class PTree { + public: + PTreeNode * root = nullptr; + explicit PTree(ExecutionState *initialState); + ~PTree() = default; + + static void attach(PTreeNode *node, ExecutionState *leftState, ExecutionState *rightState); + static void remove(PTreeNode *node); + void dump(llvm::raw_ostream &os); + }; } #endif /* KLEE_PTREE_H */ |