12 namespace horizon::SQLite {
31 template <
class T> T get(
int idx)
const
40 template <
class... Ts> std::tuple<Ts...> get_columns(
typename convert<Ts>::to_int... idxs)
const
42 return std::make_tuple(get(idxs, Ts())...);
45 void bind(
int idx,
const std::string &v,
bool copy =
true);
46 void bind(
const char *name,
const std::string &v,
bool copy =
true);
47 void bind(
int idx,
int v);
48 void bind(
const char *name,
int v);
51 void bind(
int idx, ObjectType type);
52 void bind(
const char *name, ObjectType type);
59 std::string get(
int idx, std::string)
const;
60 int get(
int idx,
int)
const;
61 ObjectType get(
int idx, ObjectType)
const;
64 class Error :
public std::runtime_error {
66 Error(
int a_rc,
const char *what) : std::runtime_error(what), rc(a_rc)
76 Database(
const std::string &filename,
int flags = SQLITE_OPEN_READONLY,
int timeout_ms = 0);
78 void execute(
const std::string &query);
79 void execute(
const char *query);
80 int get_user_version();
83 sqlite3 *db =
nullptr;
Definition: sqlite.hpp:72
Definition: sqlite.hpp:64
Definition: sqlite.hpp:25
Definition: sqlite.hpp:13
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Definition: sqlite.hpp:36