8 #ifndef SOCI_ROW_H_INCLUDED 9 #define SOCI_ROW_H_INCLUDED 33 void set_name(std::string
const& name) { name_ = name; }
47 void uppercase_column_names(
bool forceToUpper);
49 std::size_t size()
const;
52 indicator get_indicator(std::size_t pos)
const;
53 indicator get_indicator(std::string
const& name)
const;
59 indicators_.push_back(ind);
66 T
get(std::size_t pos)
const 68 assert(holders_.size() >= pos + 1);
71 base_type
const& baseVal = holders_[pos]->get<base_type>();
79 T
get(std::size_t pos, T
const &nullValue)
const 81 assert(holders_.size() >= pos + 1);
83 if (
i_null == *indicators_[pos])
92 T
get(std::string
const &name)
const 94 std::size_t
const pos = find_column(name);
99 T
get(std::string
const &name, T
const &nullValue)
const 101 std::size_t
const pos = find_column(name);
103 if (
i_null == *indicators_[pos])
111 template <
typename T>
114 value = get<T>(currentPos_);
119 void skip(std::size_t num = 1)
const 132 void operator=(
row const &);
134 std::size_t find_column(std::string
const& name)
const;
139 std::map<std::string, std::size_t>
index_;
147 #endif // SOCI_ROW_H_INCLUDED
row const & operator>>(T &value) const
data_type get_data_type() const
std::string get_name() const
bool uppercaseColumnNames_
void skip(std::size_t num=1) const
std::map< std::string, std::size_t > index_
std::vector< details::holder * > holders_
static void from_base(base_type const &in, indicator ind, T &out)
void add_holder(T *t, indicator *ind)
void reset_get_counter() const
void set_data_type(data_type dataType)
void set_name(std::string const &name)
std::vector< column_properties > columns_
std::vector< indicator * > indicators_