Class SqliteStatementWrapper

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

  • public std::enable_shared_from_this< SqliteStatementWrapper >

Class Documentation

class SqliteStatementWrapper : public std::enable_shared_from_this<SqliteStatementWrapper>

Public Functions

SqliteStatementWrapper(sqlite3 *database, const std::string &query)
SqliteStatementWrapper(const SqliteStatementWrapper&) = delete
SqliteStatementWrapper &operator=(const SqliteStatementWrapper&) = delete
~SqliteStatementWrapper()
std::shared_ptr<SqliteStatementWrapper> execute_and_reset(bool assert_return_value = false)
template<typename ...Columns>
inline QueryResult<Columns...> execute_query()
template<typename T1, typename T2, typename ...Params>
inline std::shared_ptr<SqliteStatementWrapper> bind(T1 value1, T2 value2, Params... values)
std::shared_ptr<SqliteStatementWrapper> bind(int value)
std::shared_ptr<SqliteStatementWrapper> bind(rcutils_time_point_value_t value)
std::shared_ptr<SqliteStatementWrapper> bind(double value)
std::shared_ptr<SqliteStatementWrapper> bind(const std::string &value)
std::shared_ptr<SqliteStatementWrapper> bind(std::shared_ptr<rcutils_uint8_array_t> value)
std::shared_ptr<SqliteStatementWrapper> reset()
template<>
inline void check_and_report_bind_error(int return_code, std::string value)
template<typename ...Columns>
class QueryResult

Public Types

using RowType = std::tuple<Columns...>

Public Functions

inline explicit QueryResult(std::shared_ptr<SqliteStatementWrapper> statement)
inline Iterator begin()
inline Iterator end()
inline RowType get_single_line()
class Iterator

Public Types

using iterator_category = std::input_iterator_tag
using value_type = RowType
using difference_type = std::ptrdiff_t
using pointer = RowType*
using reference = RowType&

Public Functions

inline Iterator(std::shared_ptr<SqliteStatementWrapper> statement, int position)
Iterator(const Iterator&) = delete
Iterator &operator=(const Iterator&) = delete
Iterator(Iterator&&) = default
Iterator &operator=(Iterator&&) = default
inline Iterator &operator++()
inline Iterator operator++(int)
inline RowType operator*() const
inline bool operator==(const Iterator &other) const
inline bool operator!=(const Iterator &other) const

Public Static Attributes

static const int POSITION_END = -1