OSDN Git Service

removes destructor of QCalcUnit
[qcad/qcad.git] / calcunits / QCalcManager.h
1 //---------------------------------------------------------------------------\r
2 // Management Class of QCalcUnit\r
3 //---------------------------------------------------------------------------\r
4 #ifndef QCalcManagerH\r
5 #define QCalcManagerH\r
6 //---------------------------------------------------------------------------\r
7 #include <vector>\r
8 #include <iostream>\r
9 #include "QBits.h"\r
10 #include "QCalcUnit.h"\r
11 #include "QCompilerCntl.h"\r
12 //---------------------------------------------------------------------------\r
13 class QCalcManager\r
14 {\r
15 protected:\r
16     int     mNumberOfQBits;\r
17 \r
18 public:\r
19     QCalcManager(void);\r
20     QCalcManager(std::istream &is);\r
21     ~QCalcManager();\r
22 \r
23 //---------------------------------------------------------------------------\r
24 // Interfaces\r
25 //---------------------------------------------------------------------------\r
26     bool AddFromIntermediate(std::istream &is);\r
27     void Calc(QBits * const qBits);\r
28     void AddUnit(QCalcUnit *qc);\r
29     int  GetCalcUnitCount(void) const {\r
30         return mQCalcUnits.size();\r
31     }\r
32     QCalcUnit *CalcUnitAt(const int index) {\r
33         return mQCalcUnits[index];\r
34     }\r
35     void DeleteAll(void);\r
36     int GetNumberOfQBits(void) {\r
37         return mNumberOfQBits;\r
38     }\r
39     //void DeleteAt(const int index) {} //TODO:\r
40 //---------------------------------------------------------------------------\r
41 // Utility functions\r
42 //---------------------------------------------------------------------------\r
43 protected:\r
44     std::vector<QCalcUnit*> mQCalcUnits;\r
45 };\r
46 //---------------------------------------------------------------------------\r
47 #endif\r