16 #include "pqxx/compiler-public.hxx" 17 #include "pqxx/compiler-internal-pre.hxx" 19 #include "pqxx/except.hxx" 20 #include "pqxx/field.hxx" 21 #include "pqxx/result.hxx" 40 class PQXX_LIBEXPORT
row 57 ~
row() noexcept =default;
63 PQXX_PURE
bool operator==(const
row &) const noexcept;
64 bool operator!=(const
row &rhs) const noexcept
65 {
return !operator==(rhs); }
94 reference operator[](
const std::string &)
const;
108 {
return m_end-m_begin; }
110 void swap(
row &) noexcept;
113 size_t rownumber() const noexcept {
return size_t(m_index); }
119 size_type column_number(
const std::string &ColName)
const 121 {
return column_number(ColName.c_str()); }
124 size_type column_number(
const char[])
const;
131 {
return column_type(
size_type(ColNum)); }
135 {
return column_type(column_number(ColName)); }
139 {
return column_type(column_number(ColName)); }
142 oid column_table(
size_type ColNum)
const;
146 {
return column_table(
size_type(ColNum)); }
149 {
return column_table(column_number(ColName)); }
163 {
return table_column(
size_type(ColNum)); }
167 {
return table_column(column_number(ColName)); }
170 size_t num()
const {
return rownumber(); }
187 PQXX_PURE
bool empty()
const noexcept;
208 public std::iterator<
209 std::random_access_iterator_tag,
215 using it = std::iterator<
216 std::random_access_iterator_tag,
258 {
return col()==i.col();}
260 {
return col()!=i.col();}
262 {
return col()<i.col();}
264 {
return col()<=i.col();}
266 {
return col()>i.col();}
268 {
return col()>=i.col();}
293 using iterator_type::iterator_category;
295 using iterator_type::pointer;
311 using iterator_type::operator->;
312 using iterator_type::operator*;
321 { iterator_type::operator=(r);
return *
this; }
323 { iterator_type::operator--();
return *
this; }
326 { iterator_type::operator++();
return *
this; }
329 { iterator_type::operator-=(i);
return *
this; }
331 { iterator_type::operator+=(i);
return *
this; }
344 {
return rhs.const_row_iterator::operator-(*this); }
352 {
return iterator_type::operator==(rhs); }
354 {
return !operator==(rhs); }
357 {
return iterator_type::operator>(rhs); }
359 {
return iterator_type::operator>=(rhs); }
361 {
return iterator_type::operator<(rhs); }
363 {
return iterator_type::operator<=(rhs); }
410 #include "pqxx/compiler-internal-post.hxx" oid column_type(const std::string &ColName) const
Type of given column.
Definition: row.hxx:134
bool operator==(const const_row_iterator &i) const
Definition: row.hxx:257
oid column_type(const char ColName[]) const
Type of given column.
Definition: row.hxx:138
unsigned int row_size_type
Number of fields in a row of database data.
Definition: types.hxx:24
Result set containing data returned by a query or command.
Definition: result.hxx:65
const_row_iterator & operator++()
Definition: row.hxx:243
const_reverse_row_iterator & operator-=(difference_type i)
Definition: row.hxx:330
const_reverse_row_iterator(const const_reverse_row_iterator &r)
Definition: row.hxx:299
const_row_iterator operator-(difference_type) const
Definition: row.hxx:381
bool operator<(const const_row_iterator &i) const
Definition: row.hxx:261
const_reverse_row_iterator operator++()
Definition: row.hxx:322
Reference to one row in a result.
Definition: row.hxx:40
bool operator>(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:360
row_size_type size_type
Definition: row.hxx:43
row_difference_type difference_type
Definition: row.hxx:44
const_row_iterator(const row &T, row_size_type C) noexcept
Definition: row.hxx:226
row_difference_type difference_type
Definition: row.hxx:223
Reverse iterator for a row. Use as row::const_reverse_iterator.
Definition: row.hxx:288
reference operator*() const
Definition: row.hxx:235
difference_type operator-(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:343
const_row_iterator(const field &F) noexcept
Definition: row.hxx:228
const_row_iterator operator+(difference_type) const
Definition: row.hxx:369
oid column_type(int ColNum) const
Type of given column.
Definition: row.hxx:130
size_t num() const
Definition: row.hxx:170
field_size_type size_type
Definition: field.hxx:52
row_size_type num() const
Definition: field.hxx:104
pointer operator->() const
Definition: row.hxx:234
The home of all libpqxx classes, functions, templates, etc.
Definition: array.hxx:22
const_row_iterator & operator--()
Definition: row.hxx:245
oid column_table(const std::string &ColName) const
What table did this column come from?
Definition: row.hxx:148
const_reverse_row_iterator & operator--()
Definition: row.hxx:325
bool operator!=(const const_reverse_row_iterator &rhs) const noexcept
Definition: row.hxx:353
bool operator<(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:356
size_type size() const noexcept
Definition: row.hxx:107
bool operator>=(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:362
size_type table_column(int ColNum) const
What column number in its table did this result column come from?
Definition: row.hxx:162
signed int row_difference_type
Difference between row sizes.
Definition: types.hxx:27
const_row_iterator & operator-=(difference_type i)
Definition: row.hxx:249
Iterator for fields in a row. Use as row::const_iterator.
Definition: row.hxx:207
const_reverse_row_iterator operator-(difference_type i)
Definition: row.hxx:340
const_row_iterator & operator+=(difference_type i)
Definition: row.hxx:247
const_reverse_row_iterator operator+(difference_type i) const
Definition: row.hxx:338
oid column_table(int ColNum) const
What table did this column come from?
Definition: row.hxx:145
Reference to a field in a result set.
Definition: field.hxx:49
const_reverse_row_iterator & operator+=(difference_type i)
Definition: row.hxx:328
result m_result
Result set of which this is one row.
Definition: row.hxx:192
bool operator!=(const const_row_iterator &i) const
Definition: row.hxx:259
size_t rownumber() const noexcept
Row number, assuming this is a real row and not end()/rend().
Definition: row.hxx:113
bool operator<=(const const_row_iterator &i) const
Definition: row.hxx:263
const_result_iterator operator+(result::difference_type o, const_result_iterator i)
Definition: result_iterator.hxx:217
const_reverse_row_iterator(const super &rhs) noexcept
Definition: row.hxx:302
bool operator>=(const const_row_iterator &i) const
Definition: row.hxx:267
bool operator>(const const_row_iterator &i) const
Definition: row.hxx:265
bool operator==(const const_reverse_row_iterator &rhs) const noexcept
Definition: row.hxx:351
const_reverse_row_iterator & operator=(const const_reverse_row_iterator &r)
Definition: row.hxx:320
size_type table_column(const std::string &ColName) const
What column number in its table did this result column come from?
Definition: row.hxx:166
iterator_type::value_type value_type
Definition: row.hxx:296
bool operator<=(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:358