libpqxx
7.3.1
|
Reference to one row in a result. More...
#include <row.hxx>
Public Types | |
using | size_type = row_size_type |
using | difference_type = row_difference_type |
using | const_iterator = const_row_iterator |
using | iterator = const_iterator |
using | reference = field |
using | pointer = const_row_iterator |
using | const_reverse_iterator = const_reverse_row_iterator |
using | reverse_iterator = const_reverse_iterator |
Public Member Functions | |
row ()=default | |
row (row &&)=default | |
row (row const &)=default | |
row & | operator= (row const &)=default |
row & | operator= (row &&)=default |
const_iterator | begin () const noexcept |
const_iterator | cbegin () const noexcept |
const_iterator | end () const noexcept |
const_iterator | cend () const noexcept |
result::size_type | num () const |
row | slice (size_type sbegin, size_type send) const |
PQXX_PURE bool | empty () const noexcept |
template<typename Tuple > | |
void | to (Tuple &t) const |
Extract entire row's values into a tuple. More... | |
template<typename... TYPE> | |
std::tuple< TYPE... > | as () const |
Comparison | |
PQXX_PURE bool | operator== (row const &) const noexcept |
bool | operator!= (row const &rhs) const noexcept |
Field access | |
reference | front () const noexcept |
reference | back () const noexcept |
const_reverse_row_iterator | rbegin () const |
const_reverse_row_iterator | crbegin () const |
const_reverse_row_iterator | rend () const |
const_reverse_row_iterator | crend () const |
reference | operator[] (size_type) const noexcept |
reference | operator[] (zview col_name) const |
reference | at (size_type) const |
reference | at (zview col_name) const |
size_type | size () const noexcept |
void | swap (row &) noexcept |
result::size_type | rownumber () const noexcept |
Row number, assuming this is a real row and not end()/rend(). More... | |
Column information | |
size_type | column_number (zview col_name) const |
Number of given column (throws exception if it doesn't exist). More... | |
oid | column_type (size_type) const |
Return a column's type. More... | |
oid | column_type (zview col_name) const |
Return a column's type. More... | |
oid | column_table (size_type col_num) const |
What table did this column come from? More... | |
oid | column_table (zview col_name) const |
What table did this column come from? More... | |
size_type | table_column (size_type) const |
What column number in its table did this result column come from? More... | |
size_type | table_column (zview col_name) const |
What column number in its table did this result column come from? More... | |
Protected Member Functions | |
row (result const &r, result_size_type i) noexcept | |
void | check_size (size_type expected) const |
Throw usage_error if row size is not expected . More... | |
template<typename Tuple > | |
void | convert (Tuple &t) const |
Convert entire row to tuple fields, without checking row size. More... | |
Protected Attributes | |
result | m_result |
Result set of which this is one row. More... | |
result::size_type | m_index = 0 |
Row number. More... | |
size_type | m_begin = 0 |
First column in slice. This row ignores lower-numbered columns. More... | |
size_type | m_end = 0 |
End column in slice. This row only sees lower-numbered columns. More... | |
Friends | |
class | const_row_iterator |
class | result |
template<typename... T> | |
class | pqxx::internal::result_iter |
class | field |
Reference to one row in a result.
A row represents one row (also called a row) in a query result set. It also acts as a container mapping column numbers or names to field values (see below):
The row itself acts like a (non-modifyable) container, complete with its own const_iterator and const_reverse_iterator.
using pqxx::row::iterator = const_iterator |
using pqxx::row::pointer = const_row_iterator |
using pqxx::row::reference = field |
using pqxx::row::size_type = row_size_type |
|
default |
|
default |
|
default |
|
protectednoexcept |
Implementation of the pqxx::result class and support classes.
pqxx::result represents the set of result rows from a database query.
Copyright (c) 2000-2021, Jeroen T. Vermeulen.
See COPYING for copyright license. If you did not receive a file called COPYING with this source code, please notify the distributor of this mistake, or contact the author.
std::tuple<TYPE...> pqxx::row::as | ( | ) | const |
pqxx::field pqxx::row::at | ( | size_type | i | ) | const |
References operator[](), and size().
Referenced by pqxx::const_reverse_result_iterator::const_reverse_result_iterator(), pqxx::connection::get_variable(), pqxx::const_result_iterator::operator*(), and operator[]().
pqxx::field pqxx::row::at | ( | zview | col_name | ) | const |
Address field by name.
References column_number(), and m_begin.
|
noexcept |
References m_end.
Referenced by pqxx::const_reverse_result_iterator::const_reverse_result_iterator(), and pqxx::const_result_iterator::operator*().
|
noexcept |
|
noexcept |
References begin().
|
noexcept |
References end().
|
protected |
Throw usage_error
if row size is not expected
.
pqxx::row::size_type pqxx::row::column_number | ( | zview | col_name | ) | const |
Number of given column (throws exception if it doesn't exist).
References pqxx::result::column_name(), pqxx::result::column_number(), m_begin, m_end, and m_result.
Referenced by at().
pqxx::oid pqxx::row::column_table | ( | size_type | col_num | ) | const |
What table did this column come from?
References pqxx::result::column_table(), m_begin, and m_result.
oid pqxx::row::column_table | ( | zview | col_name | ) | const |
What table did this column come from?
pqxx::oid pqxx::row::column_type | ( | size_type | col_num | ) | const |
Return a column's type.
References pqxx::result::column_type(), m_begin, and m_result.
oid pqxx::row::column_type | ( | zview | col_name | ) | const |
Return a column's type.
|
protected |
Convert entire row to tuple fields, without checking row size.
pqxx::row::const_reverse_iterator pqxx::row::crbegin | ( | ) | const |
References rbegin().
pqxx::row::const_reverse_iterator pqxx::row::crend | ( | ) | const |
References rend().
|
noexcept |
|
noexcept |
result::size_type pqxx::row::num | ( | ) | const |
Referenced by pqxx::const_result_iterator::operator-().
|
noexcept |
Referenced by pqxx::const_result_iterator::operator=().
|
noexcept |
pqxx::row::reference pqxx::row::operator[] | ( | zview | col_name | ) | const |
Address field by name.
References at().
pqxx::row::const_reverse_iterator pqxx::row::rbegin | ( | ) | const |
pqxx::row::const_reverse_iterator pqxx::row::rend | ( | ) | const |
|
noexcept |
Row number, assuming this is a real row and not end()/rend().
Referenced by pqxx::const_reverse_result_iterator::const_reverse_result_iterator(), and pqxx::const_result_iterator::operator*().
|
noexcept |
Referenced by at(), operator==(), and slice().
Produce a slice of this row, containing the given range of columns.
The slice runs from the range's starting column to the range's end column, exclusive. It looks just like a normal result row, except slices can be empty.
|
noexcept |
References m_begin, m_end, m_index, m_result, and pqxx::result::swap().
Referenced by pqxx::const_result_iterator::swap().
pqxx::row::size_type pqxx::row::table_column | ( | size_type | col_num | ) | const |
What column number in its table did this result column come from?
A meaningful answer can be given only if the column in question comes directly from a column in a table. If the column is computed in any other way, a logic_error will be thrown.
col_num | a zero-based column number in this result set |
References m_begin, m_result, and pqxx::result::table_column().
What column number in its table did this result column come from?
void pqxx::row::to | ( | Tuple & | t | ) | const |
Extract entire row's values into a tuple.
Converts to the types of the tuple's respective fields.
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
First column in slice. This row ignores lower-numbered columns.
Referenced by at(), begin(), column_number(), column_table(), column_type(), empty(), front(), operator[](), slice(), swap(), and table_column().
|
protected |
End column in slice. This row only sees lower-numbered columns.
Referenced by back(), column_number(), empty(), end(), and swap().
|
protected |
Row number.
You'd expect this to be unsigned, but due to the way reverse iterators are related to regular iterators, it must be allowed to underflow to -1.
Referenced by pqxx::const_result_iterator::operator!=(), pqxx::const_result_iterator::operator<(), pqxx::const_result_iterator::operator<=(), pqxx::const_result_iterator::operator==(), pqxx::const_result_iterator::operator>(), pqxx::const_result_iterator::operator>=(), and swap().
|
protected |
Result set of which this is one row.
Referenced by column_number(), column_table(), column_type(), swap(), and table_column().