initial commit
This commit is contained in:
69
app/dataset.h
Normal file
69
app/dataset.h
Normal file
@@ -0,0 +1,69 @@
|
||||
// #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;
|
||||
};
|
||||
Reference in New Issue
Block a user