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 not 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;
249 {
return col()==i.col();}
251 {
return col()!=i.col();}
253 {
return col()<i.col();}
255 {
return col()<=i.col();}
257 {
return col()>i.col();}
259 {
return col()>=i.col();}
302 using iterator_type::operator->;
303 using iterator_type::operator*;
312 { iterator_type::operator=(r);
return *
this; }
314 { iterator_type::operator--();
return *
this; }
317 { iterator_type::operator++();
return *
this; }
320 { iterator_type::operator-=(i);
return *
this; }
322 { iterator_type::operator+=(i);
return *
this; }
335 {
return rhs.const_row_iterator::operator-(*this); }
343 {
return iterator_type::operator==(rhs); }
345 {
return !operator==(rhs); }
348 {
return iterator_type::operator>(rhs); }
350 {
return iterator_type::operator>=(rhs); }
352 {
return iterator_type::operator<(rhs); }
354 {
return iterator_type::operator<=(rhs); }
401 #include "pqxx/compiler-internal-post.hxx" Iterator for fields in a row. Use as row::const_iterator.
Definition: row.hxx:207
row_difference_type difference_type
Definition: row.hxx:44
row_difference_type difference_type
Definition: row.hxx:214
bool operator<(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:347
const_row_iterator & operator++()
Definition: row.hxx:234
const_reverse_row_iterator & operator-=(difference_type i)
Definition: row.hxx:321
oid column_type(int ColNum) const
Type of given column.
Definition: row.hxx:130
const_reverse_row_iterator & operator=(const const_reverse_row_iterator &r)
Definition: row.hxx:311
bool operator<=(const const_row_iterator &i) const
Definition: row.hxx:254
const_row_iterator operator-(difference_type) const
Definition: row.hxx:372
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:250
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:69
const_row_iterator operator+(difference_type) const
Definition: row.hxx:360
pointer operator->() const
Definition: row.hxx:225
Reference to one row in a result.
Definition: row.hxx:40
bool operator==(const const_reverse_row_iterator &rhs) const noexcept
Definition: row.hxx:342
const_row_iterator & operator+=(difference_type i)
Definition: row.hxx:238
field_size_type size_type
Definition: field.hxx:52
const_row_iterator(const row &T, row_size_type C) noexcept
Definition: row.hxx:217
const_reverse_row_iterator operator++()
Definition: row.hxx:313
row_size_type size_type
Definition: row.hxx:43
Reverse iterator for a row. Use as row::const_reverse_iterator.
Definition: row.hxx:279
oid column_table(int ColNum) const
What table did this column come from?
Definition: row.hxx:145
reference operator*() const
Definition: row.hxx:226
const_reverse_row_iterator(const const_reverse_row_iterator &r)
Definition: row.hxx:290
bool operator>=(const const_row_iterator &i) const
Definition: row.hxx:258
signed int row_difference_type
Difference between row sizes.
Definition: types.hxx:27
bool operator!=(const const_reverse_row_iterator &rhs) const noexcept
Definition: row.hxx:344
Reference to a field in a result set.
Definition: field.hxx:49
size_t num() const
Definition: row.hxx:170
bool operator<=(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:349
const_reverse_row_iterator operator+(difference_type i) const
Definition: row.hxx:329
const_row_iterator & operator--()
Definition: row.hxx:236
const_reverse_row_iterator(const super &rhs) noexcept
Definition: row.hxx:293
bool operator>(const const_row_iterator &i) const
Definition: row.hxx:256
const_row_iterator(const field &F) noexcept
Definition: row.hxx:219
const_reverse_row_iterator & operator+=(difference_type i)
Definition: row.hxx:319
const_row_iterator & operator-=(difference_type i)
Definition: row.hxx:240
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
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:316
bool operator==(const const_row_iterator &i) const
Definition: row.hxx:248
size_type size() const noexcept
Definition: row.hxx:107
bool operator>=(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:353
size_type table_column(int ColNum) const
What column number in its table did this result column come from?
Definition: row.hxx:162
oid column_type(const std::string &ColName) const
Type of given column.
Definition: row.hxx:134
row_size_type num() const
Definition: field.hxx:104
oid column_type(const char ColName[]) const
Type of given column.
Definition: row.hxx:138
const_reverse_row_iterator operator-(difference_type i)
Definition: row.hxx:331
The home of all libpqxx classes, functions, templates, etc.
Definition: array.hxx:25
difference_type operator-(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:334
std::random_access_iterator_tag iterator_category
Definition: row.hxx:210
bool operator<(const const_row_iterator &i) const
Definition: row.hxx:252
result m_result
Result set of which this is one row.
Definition: row.hxx:192
bool operator>(const const_reverse_row_iterator &rhs) const
Definition: row.hxx:351
const_result_iterator operator+(result::difference_type o, const_result_iterator i)
Definition: result_iterator.hxx:212