#ifndef __DATABASE_H__ #define __DATABASE_H__ #include "sqlite3.h" #include #include #include #include class Database { public: Database(); ~Database(); bool open(); bool exec(const char* sqlQuery); bool exec(const std::string& sqlQuery); /// returns true if the sql statment returns at least one row std::optional getInt(const char* sql); std::optional insert(const char* sql); std::set getStrSet(const std::string& sql); std::map getStrMap(const std::string& sql); private: sqlite3_stmt* prepareStmt(const std::string& sql); sqlite3* m_db; }; #endif // __DATABASE_H__