32 #include <boost/variant.hpp>
35 #include <warehouse_ros_sqlite/warehouse_ros_sqlite_export.h>
47 using Variant = boost::variant<NullValue, std::string, double, int>;
48 void append(
const std::string& name,
const std::string& val)
override;
49 void append(
const std::string& name,
const double val)
override;
50 void append(
const std::string& name,
const int val)
override;
51 void append(
const std::string& name,
const bool val)
override;
52 std::string lookupString(
const std::string& name)
const override;
53 double lookupDouble(
const std::string& name)
const override;
54 int lookupInt(
const std::string& name)
const override;
55 bool lookupBool(
const std::string& name)
const override;
56 bool lookupField(
const std::string& name)
const override;
57 std::set<std::string> lookupFieldNames()
const override;
58 void append(
const std::string& name, sqlite3_stmt* stmt,
int col);
63 void ensureColumns(sqlite3* db,
const std::string& unescaped_table_name)
const;
67 std::map<std::string, Variant>
data_;
70 R doLookup(
const std::string& name)
const;