69 lines
1.3 KiB
C++
69 lines
1.3 KiB
C++
// #include <memory>
|
|
// #include <vector>
|
|
// #include <string>
|
|
#include <QVector>
|
|
#include <QDebug>
|
|
|
|
using namespace std;
|
|
enum class LineId {
|
|
Temperature,
|
|
Humidity,
|
|
OverHeat
|
|
};
|
|
|
|
|
|
#if 0
|
|
class Dataset{
|
|
|
|
public:
|
|
Dataset(QString& configFile);
|
|
|
|
// return headlines (Kennlinien) of known types from ST code
|
|
QVector* HeadLine(enum class LineId);
|
|
private:
|
|
|
|
// Class members (m_, but don't like the '_' )
|
|
vector<std::unique_ptr> headline;
|
|
|
|
vector mHeadLineTemperature;
|
|
vector mHeadLineOverheat;
|
|
vector mHeadLineHumidity;
|
|
};
|
|
|
|
#endif
|
|
|
|
#include <QVector>
|
|
#include <QMetaType>
|
|
|
|
|
|
|
|
|
|
// Forward declaration of a base class for polymorphic behavior
|
|
class QVectorBase {
|
|
public:
|
|
virtual ~QVectorBase() = default;
|
|
virtual void print() const = 0;
|
|
};
|
|
|
|
// Template class to wrap a QVector<T> and inherit from QVectorBase
|
|
template<typename T>
|
|
class QVectorWrapper : public QVectorBase {
|
|
public:
|
|
QVector<T> vec;
|
|
|
|
QVectorWrapper() = default;
|
|
explicit QVectorWrapper(const QVector<T>& v) : vec(v) {}
|
|
|
|
void print() const override {
|
|
qDebug() << "Vector of" << sizeof(T) << "bytes:" << vec;
|
|
}
|
|
};
|
|
|
|
class Dataset{
|
|
public:
|
|
Dataset(QString& configFile);
|
|
QVectorBase *HeadLine(uint8_t LineId);
|
|
|
|
private:
|
|
QVector<QVectorBase*> mHeadlineVector;
|
|
}; |