1 //---------------------------------------------------------------------------
\r
2 // Management Class of QCalcUnit
\r
3 //---------------------------------------------------------------------------
\r
4 #ifndef QCalcManagerH
\r
5 #define QCalcManagerH
\r
6 //---------------------------------------------------------------------------
\r
10 #include "QCalcUnit.h"
\r
11 #include "QCompilerCntl.h"
\r
12 //---------------------------------------------------------------------------
\r
20 QCalcManager(std::istream &is);
\r
23 //---------------------------------------------------------------------------
\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
32 QCalcUnit *CalcUnitAt(const int index) {
\r
33 return mQCalcUnits[index];
\r
35 void DeleteAll(void);
\r
36 int GetNumberOfQBits(void) {
\r
37 return mNumberOfQBits;
\r
39 //void DeleteAt(const int index) {} //TODO:
\r
40 //---------------------------------------------------------------------------
\r
41 // Utility functions
\r
42 //---------------------------------------------------------------------------
\r
44 std::vector<QCalcUnit*> mQCalcUnits;
\r
46 //---------------------------------------------------------------------------
\r