| 228 | |
| 229 | template <typename T> |
| 230 | typename enable_if_c<std::numeric_limits<T>::is_integer>::type get_column ( |
| 231 | unsigned long idx, |
| 232 | T& item |
| 233 | ) const |
| 234 | { |
| 235 | // unsigned ints won't fit into int all the time so put those into 64bit ints. |
| 236 | if (sizeof(T) < sizeof(int) || (sizeof(T)==sizeof(int) && is_signed_type<T>::value)) |
| 237 | item = get_column_as_int(idx); |
| 238 | else |
| 239 | item = get_column_as_int64(idx); |
| 240 | } |
| 241 | |
| 242 | void get_column(unsigned long idx, std::string& item) const { item = get_column_as_text(idx); } |
| 243 | void get_column(unsigned long idx, float& item ) const { item = get_column_as_double(idx); } |