// // Created by selim on 09.11.22. // #include "IDBEntity.h" std::string IDBEntity::readString(sqlite3_stmt *stmt, int column) { return { reinterpret_cast(sqlite3_column_text(stmt, column)) }; } int IDBEntity::readInt(sqlite3_stmt *stmt, int column) { return sqlite3_column_int(stmt, column); } double IDBEntity::readDouble(sqlite3_stmt *stmt, int column) { return sqlite3_column_double(stmt, column); } StringOptional IDBEntity::readStringOptional(sqlite3_stmt *stmt, int column) { if(sqlite3_column_type(stmt, column) == SQLITE_NULL) { return std::nullopt; } else { return readString(stmt, column); } } IntOptional IDBEntity::readIntOptional(sqlite3_stmt *stmt, int column) { if(sqlite3_column_type(stmt, column) == SQLITE_NULL) { return std::nullopt; } else { return readInt(stmt, column); } } DoubleOptional IDBEntity::readDoubleOptional(sqlite3_stmt *stmt, int column) { if(sqlite3_column_type(stmt, column) == SQLITE_NULL) { return std::nullopt; } else { return readDouble(stmt, column); } }