27 position_ = position++;
39 if (calledFromFetch ==
true && gotData ==
false)
47 int const pos = position_ - 1;
52 if (sqlite3_column_type(statement_.stmt_, pos) == SQLITE_NULL)
57 "Null value fetched and no indicator defined.");
71 const char *buf =
reinterpret_cast<const char*
>(
72 sqlite3_column_text(statement_.stmt_,pos));
83 char *dest =
static_cast<char*
>(data_);
89 std::string *dest =
static_cast<std::string *
>(data_);
95 short *dest =
static_cast<short*
>(data_);
96 long val = std::strtol(buf, NULL, 10);
97 *dest =
static_cast<short>(val);
102 int *dest =
static_cast<int*
>(data_);
103 long val = std::strtol(buf, NULL, 10);
104 *dest =
static_cast<int>(val);
109 long long* dest =
static_cast<long long*
>(data_);
110 *dest = std::strtoll(buf, NULL, 10);
115 unsigned long long* dest =
static_cast<unsigned long long*
>(data_);
116 *dest = string_to_unsigned_integer<unsigned long long>(buf);
121 double *dest =
static_cast<double*
>(data_);
122 double val = strtod(buf, NULL);
123 *dest =
static_cast<double>(val);
129 std::tm *dest =
static_cast<std::tm *
>(data_);
139 long long val = std::strtoll(buf, NULL, 10);
140 rbe->
value_ =
static_cast<unsigned long>(val);
145 blob *b =
static_cast<blob *
>(data_);
149 buf =
reinterpret_cast<const char*
>(sqlite3_column_blob(
153 int len = sqlite3_column_bytes(statement_.stmt_, pos);
158 throw soci_error(
"Into element used with non-supported type.");
details::rowid_backend * get_backend()
virtual void define_by_pos(int &position, void *data, details::exchange_type type)
void parse_std_tm(char const *buf, std::tm &t)
virtual void post_fetch(bool gotData, bool calledFromFetch, indicator *ind)
details::blob_backend * get_backend()
std::size_t set_data(char const *buf, std::size_t toWrite)