28 position_ = position++;
40 void set_in_vector(
void* p,
int indx, T
const& val)
44 std::vector<T>* dest =
static_cast<std::vector<T>*
>(p);
45 std::vector<T>& v = *dest;
59 int const endRow =
static_cast<int>(statement_.dataCache_.size());
60 for (
int i = 0; i < endRow; ++i)
63 statement_.dataCache_[i][position_-1];
70 "Null value fetched and no indicator defined.");
85 const char * buf = curCol.
data_.c_str();
96 set_in_vector(data_, i, *buf);
99 set_in_vector<std::string>(data_, i, buf);
103 short const val = string_to_integer<short>(buf);
104 set_in_vector(data_, i, val);
109 int const val = string_to_integer<int>(buf);
110 set_in_vector(data_, i, val);
115 long long const val = string_to_integer<long long>(buf);
116 set_in_vector(data_, i, val);
121 unsigned long long const val
122 = string_to_unsigned_integer<unsigned long long>(buf);
123 set_in_vector(data_, i, val);
128 double const val = strtod(buf, NULL);
129 set_in_vector(data_, i, val);
138 set_in_vector(data_, i, t);
142 throw soci_error(
"Into element used with non-supported type.");
153 resize_vector<char>(data_, sz);
156 resize_vector<short>(data_, sz);
159 resize_vector<int>(data_, sz);
162 resize_vector<long long>(data_, sz);
165 resize_vector<unsigned long long>(data_, sz);
168 resize_vector<double>(data_, sz);
171 resize_vector<std::string>(data_, sz);
174 resize_vector<std::tm>(data_, sz);
177 throw soci_error(
"Into vector element used with non-supported type.");
188 sz = get_vector_size<char>(data_);
191 sz = get_vector_size<short>(data_);
194 sz = get_vector_size<int>(data_);
197 sz = get_vector_size<long long>(data_);
200 sz = get_vector_size<unsigned long long>(data_);
203 sz = get_vector_size<double>(data_);
206 sz = get_vector_size<std::string>(data_);
209 sz = get_vector_size<std::tm>(data_);
212 throw soci_error(
"Into vector element used with non-supported type.");
void resize(std::size_t sz)
void parse_std_tm(char const *buf, std::tm &t)
void post_fetch(bool gotData, indicator *ind)
void define_by_pos(int &position, void *data, details::exchange_type type)