#ifndef RECORDS_PARAM_H #define RECORDS_PARAM_H #include #include #include #include #include class DicRecord; using std::vector; using std::string; using std::ostream; struct RecordsParam { public: static vector createParams(); template static string vectorToStr(const vector& v); static vector hashToStrVector(const QHash& hash, const vector& keys); public: RecordsParam(vector packFields, vector > records, vector questions, vector > answers); vector recordsToStr() const; public: static const vector fieldNames; public: QList records; vector packFields; vector questions; vector > answers; }; ostream& operator<<(ostream& os, const RecordsParam& param); template string RecordsParam::vectorToStr(const vector& v) { std::stringstream ss; for(unsigned i = 0; i < v.size(); i++) { if(i != 0) ss << ", "; ss << v[i]; } return ss.str(); } #endif