22 #include "pqxx/compiler-public.hxx" 23 #include "pqxx/compiler-internal-pre.hxx" 25 #include "pqxx/except" 34 class const_tuple_iterator;
35 class const_reverse_tuple_iterator;
73 bool PQXX_PURE operator==(
const tuple &)
const throw ();
75 {
return !operator==(rhs); }
78 const_iterator begin()
const throw ();
79 const_iterator end()
const throw ();
85 reference front()
const throw ();
86 reference back()
const throw ();
91 reference operator[](size_type)
const throw ();
92 reference operator[](
int)
const throw ();
93 reference operator[](
const char[])
const;
94 reference operator[](
const PGSTD::string &)
const;
97 reference at(
const char[])
const;
98 reference at(
const PGSTD::string &)
const;
101 size_type
size()
const throw ()
102 {
return m_End-m_Begin; }
104 void swap(
tuple &)
throw ();
112 size_type column_number(
const PGSTD::string &ColName)
const 114 {
return column_number(ColName.c_str()); }
117 size_type column_number(
const char[])
const;
120 oid column_type(size_type)
const;
124 {
return column_type(size_type(ColNum)); }
128 {
return column_type(column_number(ColName)); }
132 {
return column_type(column_number(ColName)); }
135 oid column_table(size_type ColNum)
const;
139 {
return column_table(size_type(ColNum)); }
142 {
return column_table(column_number(ColName)); }
155 size_type table_column(size_type)
const;
159 {
return table_column(size_type(ColNum)); }
163 {
return table_column(column_number(ColName)); }
166 size_t num()
const {
return rownumber(); }
180 tuple slice(size_type Begin, size_type End)
const;
183 bool PQXX_PURE empty()
const throw ();
200 public PGSTD::iterator<PGSTD::random_access_iterator_tag,
205 typedef PGSTD::iterator<PGSTD::random_access_iterator_tag,
236 { m_col = size_type(difference_type(m_col) + i);
return *
this; }
238 { m_col = size_type(difference_type(m_col) - i);
return *
this; }
246 {
return col()==i.col();}
248 {
return col()!=i.col();}
250 {
return col()<i.col();}
252 {
return col()<=i.col();}
254 {
return col()>i.col();}
256 {
return col()>=i.col();}
281 using iterator_type::iterator_category;
283 using iterator_type::pointer;
285 using iterator_type::value_type;
289 typedef field value_type;
290 typedef const field &reference;
299 iterator_type PQXX_PURE base()
const throw ();
305 using iterator_type::operator->;
306 using iterator_type::operator*;
315 { iterator_type::operator=(r);
return *
this; }
317 { iterator_type::operator--();
return *
this; }
320 { iterator_type::operator++();
return *
this; }
323 { iterator_type::operator-=(i);
return *
this; }
325 { iterator_type::operator+=(i);
return *
this; }
338 {
return rhs.const_tuple_iterator::operator-(*this); }
347 {
return iterator_type::operator==(rhs); }
350 {
return !operator==(rhs); }
353 {
return iterator_type::operator>(rhs); }
355 {
return iterator_type::operator>=(rhs); }
357 {
return iterator_type::operator<(rhs); }
359 {
return iterator_type::operator<=(rhs); }
368 tuple(home(), idx()),
369 size_type(difference_type(col()) + o));
380 tuple(home(), idx()),
381 size_type(difference_type(col()) - o));
386 {
return difference_type(num() - i.
num()); }
406 #include "pqxx/compiler-internal-post.hxx" bool operator>=(const const_tuple_iterator &i) const
Definition: tuple.hxx:255
tuple::size_type size_type
Definition: tuple.hxx:210
bool operator<=(const const_tuple_iterator &i) const
Definition: tuple.hxx:251
const_tuple_iterator operator-(difference_type) const
Definition: tuple.hxx:377
bool operator<(const const_tuple_iterator &i) const
Definition: tuple.hxx:249
tuple_size_type size_type
Definition: tuple.hxx:55
bool operator<(const const_reverse_tuple_iterator &rhs) const
Definition: tuple.hxx:352
Reference to a field in a result set.
Definition: field.hxx:43
Iterator for fields in a tuple. Use as tuple::const_iterator.
Definition: tuple.hxx:199
field reference
Definition: tuple.hxx:59
tuple::difference_type difference_type
Definition: tuple.hxx:211
const result * m_Home
Definition: tuple.hxx:187
unsigned int tuple_size_type
Definition: field.hxx:34
bool operator!=(const const_reverse_tuple_iterator &rhs) const
Definition: tuple.hxx:349
Something is out of range, similar to std::out_of_range.
Definition: except.hxx:203
~tuple()
Definition: tuple.hxx:67
const_tuple_iterator & operator-=(difference_type i)
Definition: tuple.hxx:237
Result set containing data returned by a query or command.
Definition: result.hxx:81
const_tuple_iterator super
Definition: tuple.hxx:279
const_tuple_iterator & operator--()
Definition: tuple.hxx:233
oid column_table(const std::string &ColName) const
What table did this column come from?
Definition: tuple.hxx:141
const_reverse_iterator reverse_iterator
Definition: tuple.hxx:62
const_tuple_iterator iterator_type
Definition: tuple.hxx:280
tuple_size_type num() const
Definition: field.hxx:98
bool operator<=(const const_reverse_tuple_iterator &rhs) const
Definition: tuple.hxx:354
const_reverse_tuple_iterator & operator+=(difference_type i)
Definition: tuple.hxx:322
bool operator==(const const_reverse_tuple_iterator &rhs) const
Definition: tuple.hxx:346
const_tuple_iterator(const tuple &T, tuple::size_type C)
Definition: tuple.hxx:214
const_reverse_tuple_iterator(const super &rhs)
Definition: tuple.hxx:296
Reference to one row in a result.
Definition: tuple.hxx:52
bool operator>(const const_tuple_iterator &i) const
Definition: tuple.hxx:253
bool operator>=(const const_reverse_tuple_iterator &rhs) const
Definition: tuple.hxx:358
size_type size() const
Definition: tuple.hxx:101
const_iterator iterator
Definition: tuple.hxx:58
const_reverse_tuple_iterator & operator=(const const_reverse_tuple_iterator &r)
Definition: tuple.hxx:314
const_reverse_tuple_iterator(const const_reverse_tuple_iterator &r)
Definition: tuple.hxx:293
tuple_difference_type difference_type
Definition: tuple.hxx:56
const_reverse_tuple_iterator & operator--()
Definition: tuple.hxx:319
Reverse iterator for a tuple. Use as tuple::const_reverse_iterator.
Definition: tuple.hxx:276
const_reverse_tuple_iterator operator++()
Definition: tuple.hxx:316
bool operator!=(const const_tuple_iterator &i) const
Definition: tuple.hxx:247
const_tuple_iterator const_iterator
Definition: tuple.hxx:57
const_tuple_iterator pointer
Definition: tuple.hxx:60
size_t rownumber() const
Definition: tuple.hxx:106
size_type table_column(const std::string &ColName) const
What column number in its table did this result column come from?
Definition: tuple.hxx:162
The home of all libpqxx classes, functions, templates, etc.
Definition: basic_connection.hxx:35
oid column_type(const std::string &ColName) const
Type of given column.
Definition: tuple.hxx:127
const_reverse_tuple_iterator operator+(difference_type i) const
Definition: tuple.hxx:332
oid column_type(int ColNum) const
Type of given column.
Definition: tuple.hxx:123
signed int tuple_difference_type
Definition: field.hxx:37
const_tuple_iterator & operator+=(difference_type i)
Definition: tuple.hxx:235
size_type m_Begin
Definition: tuple.hxx:189
const_tuple_iterator(const field &F)
Definition: tuple.hxx:216
difference_type operator-(const const_reverse_tuple_iterator &rhs) const
Definition: tuple.hxx:337
oid column_type(const char ColName[]) const
Type of given column.
Definition: tuple.hxx:131
const_reverse_tuple_iterator const_reverse_iterator
Definition: tuple.hxx:61
size_t m_Index
Definition: tuple.hxx:188
bool operator==(const const_tuple_iterator &i) const
Definition: tuple.hxx:245
const_reverse_tuple_iterator operator-(difference_type i)
Definition: tuple.hxx:334
oid column_table(int ColNum) const
What table did this column come from?
Definition: tuple.hxx:138
size_t num() const
Definition: tuple.hxx:166
reference operator*() const
Definition: tuple.hxx:223
pointer operator->() const
Definition: tuple.hxx:222
const_reverse_tuple_iterator & operator-=(difference_type i)
Definition: tuple.hxx:324
const_result_iterator operator+(result::difference_type o, const_result_iterator i)
Definition: result.hxx:479
bool operator>(const const_reverse_tuple_iterator &rhs) const
Definition: tuple.hxx:356
bool operator!=(const tuple &rhs) const
Definition: tuple.hxx:74
size_type m_End
Definition: tuple.hxx:190
const_tuple_iterator & operator++()
Definition: tuple.hxx:231
size_type table_column(int ColNum) const
What column number in its table did this result column come from?
Definition: tuple.hxx:158
const_tuple_iterator operator+(difference_type) const
Definition: tuple.hxx:365
field reference
Definition: tuple.hxx:212