Files
BinderBeispielRegler/app/dataset.h

69 lines
1.3 KiB
C++
Executable File

// #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;
};