VDS Class Project
Loading...
Searching...
No Matches
ManagerInterface.h
Go to the documentation of this file.
1//
2// Created by ludwig on 01.03.16
3//
4
5#ifndef VDSPROJECT_MANAGERINTERFACE_H
6#define VDSPROJECT_MANAGERINTERFACE_H
7
8#include <string>
9#include <set>
10
11namespace ClassProject {
12
13 typedef size_t BDD_ID;
14
16 public:
17
18 virtual BDD_ID createVar(const std::string &label) = 0;
19
20 virtual const BDD_ID &True() = 0;
21
22 virtual const BDD_ID &False() = 0;
23
24 virtual bool isConstant(BDD_ID f) = 0;
25
26 virtual bool isVariable(BDD_ID x) = 0;
27
28 virtual BDD_ID topVar(BDD_ID f) = 0;
29
30 virtual BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e) = 0;
31
32 virtual std::string getTopVarName(const BDD_ID &root) = 0;
33
34 virtual BDD_ID coFactorTrue(BDD_ID f, BDD_ID x) = 0;
35
36 virtual BDD_ID coFactorFalse(BDD_ID f, BDD_ID x) = 0;
37
38 virtual BDD_ID coFactorTrue(BDD_ID f) = 0;
39
40 virtual BDD_ID coFactorFalse(BDD_ID f) = 0;
41
42 virtual BDD_ID neg(BDD_ID a) = 0;
43
44 virtual void visualizeBDD(std::string filepath, BDD_ID &root) = 0;
45
46 virtual BDD_ID and2(BDD_ID a, BDD_ID b) = 0;
47
48 virtual BDD_ID or2(BDD_ID a, BDD_ID b) = 0;
49
50 virtual BDD_ID xor2(BDD_ID a, BDD_ID b) = 0;
51
52 virtual BDD_ID nand2(BDD_ID a, BDD_ID b) = 0;
53
54 virtual BDD_ID nor2(BDD_ID a, BDD_ID b) = 0;
55
56 virtual BDD_ID xnor2(BDD_ID a, BDD_ID b) = 0;
57
58 virtual void findNodes(const BDD_ID &root, std::set<BDD_ID> &nodes_of_root) = 0;
59
60 virtual void findVars(const BDD_ID &root, std::set<BDD_ID> &vars_of_root) = 0;
61
62 virtual size_t uniqueTableSize() = 0;
63
64 };
65
66}
67
68#endif
Definition ManagerInterface.h:15
virtual BDD_ID coFactorTrue(BDD_ID f)=0
virtual BDD_ID coFactorFalse(BDD_ID f)=0
virtual BDD_ID xnor2(BDD_ID a, BDD_ID b)=0
virtual BDD_ID coFactorTrue(BDD_ID f, BDD_ID x)=0
virtual BDD_ID ite(BDD_ID i, BDD_ID t, BDD_ID e)=0
virtual bool isConstant(BDD_ID f)=0
virtual BDD_ID and2(BDD_ID a, BDD_ID b)=0
virtual void visualizeBDD(std::string filepath, BDD_ID &root)=0
virtual BDD_ID nand2(BDD_ID a, BDD_ID b)=0
virtual BDD_ID or2(BDD_ID a, BDD_ID b)=0
virtual size_t uniqueTableSize()=0
virtual BDD_ID coFactorFalse(BDD_ID f, BDD_ID x)=0
virtual const BDD_ID & True()=0
virtual BDD_ID neg(BDD_ID a)=0
virtual BDD_ID createVar(const std::string &label)=0
virtual void findNodes(const BDD_ID &root, std::set< BDD_ID > &nodes_of_root)=0
virtual void findVars(const BDD_ID &root, std::set< BDD_ID > &vars_of_root)=0
virtual BDD_ID xor2(BDD_ID a, BDD_ID b)=0
virtual bool isVariable(BDD_ID x)=0
virtual BDD_ID nor2(BDD_ID a, BDD_ID b)=0
virtual const BDD_ID & False()=0
virtual BDD_ID topVar(BDD_ID f)=0
virtual std::string getTopVarName(const BDD_ID &root)=0
ClassProject Class.
Definition Manager.cpp:18
size_t BDD_ID
Definition ManagerInterface.h:13