24 using ptr = sqlite3_stmt*;
34 typename T::ptr m_handle;
39 other.m_handle = T::invalid();
48 std::swap(m_handle, other.m_handle);
51 typename T::ptr
get()
const {
return m_handle; }
56 if (m_handle != T::invalid())
59 m_handle = T::invalid();
78 int get_int(
int column = 0)
const;
79 double get_double(
int column = 0)
const;
81 std::vector<uint8_t> get_blob(
int column = 0)
const;
83 void bind(
int param,
int value)
const;
84 void bind(
int param,
double value)
const;
85 void bind(
int param,
const char* value)
const;
86 void bind(
int param,
const std::vector<uint8_t>& value)
const;
112 void assert_good()
const;
129 iterator() : m_owner(
nullptr), m_end(
true) { }
135 m_end = !m_owner->
step();
156 void execute(
const char * command)
const;
158 bool table_exists(
const char*
name)
const;
160 void transaction(std::function<
void()> transaction)
const;
sqlite3 * ptr
Definition: sql.h:15
std::string get_string(int column=0) const
float3 operator*(const float3 &a, float b)
Definition: types.h:422
sql::statement::iterator end(sql::statement &stmt)
static auto invalid() -> ptr
Definition: sql.h:17
~scoped_handle()
Definition: sql.h:54
bool operator!=(const iterator &other)
Definition: sql.h:139
double get_double(int column=0) const
scoped_handle()
Definition: sql.h:36
std::vector< uint8_t > get_blob(int column=0) const
row_value operator()()
Definition: sql.h:145
std::vector< uint8_t > get_blob() const
Definition: sql.h:104
scoped_handle(scoped_handle &&other)
Definition: sql.h:37
T::ptr * get_address()
Definition: sql.h:52
sql::statement::iterator begin(sql::statement &stmt)
column_value operator[](int column) const
Definition: sql.h:116
iterator end()
Definition: sql.h:143
int get_int() const
Definition: sql.h:101
static void close(ptr value)
iterator begin()
Definition: sql.h:142
sqlite3_stmt * ptr
Definition: sql.h:24
scoped_handle & operator=(scoped_handle other)
Definition: sql.h:41
void operator++()
Definition: sql.h:133
std::string get_string(perc::Status value)
Definition: controller_event_serializer.h:26
double get_double() const
Definition: sql.h:102
void swap(scoped_handle &other)
Definition: sql.h:46
int get_bool() const
Definition: sql.h:103
std::string get_string() const
Definition: sql.h:100
int get_int(int column=0) const
static auto invalid() -> ptr
Definition: sql.h:26