16#if !defined(PQXX_HEADER_PRE)
17# error "Include libpqxx headers as <pqxx/header>, not <pqxx/header.hxx>."
25#include "pqxx/except.hxx"
26#include "pqxx/types.hxx"
27#include "pqxx/util.hxx"
28#include "pqxx/zview.hxx"
30#include "pqxx/internal/encodings.hxx"
41class result_connection;
45class result_sql_cursor;
85 m_data{}, m_query{}, m_encoding{internal::encoding_group::MONOBYTE}
113 return not operator==(
rhs);
148 void swap(
result &)
noexcept;
157#if defined(PQXX_HAVE_MULTIDIM)
163 row at(size_type)
const;
220 return column_type(column_number(
col_name));
229 return column_table(column_number(
col_name));
238 return table_column(column_number(
col_name));
311 std::shared_ptr<std::string const> m_query;
313 internal::encoding_group m_encoding;
315 static std::string
const s_empty_string;
324 friend class pqxx::internal::gate::result_creation;
326 std::shared_ptr<internal::pq::PGresult>
const &
rhs,
327 std::shared_ptr<std::string>
const &query, internal::encoding_group
enc);
331 friend class pqxx::internal::gate::result_connection;
332 friend class pqxx::internal::gate::result_row;
333 bool operator!()
const noexcept {
return m_data.get() ==
nullptr; }
337 throw_sql_error(std::string
const &
Err, std::string
const &Query)
const;
341 friend class pqxx::internal::gate::result_sql_cursor;
The home of all libpqxx classes, functions, templates, etc.
Definition array.hxx:33
std::size_t field_size_type
Number of bytes in a field of database data.
Definition types.hxx:40
int result_size_type
Number of rows in a result set.
Definition types.hxx:28
constexpr char array_separator
Element separator between SQL array elements of this type.
Definition strconv.hxx:557
int row_size_type
Number of fields in a row of database data.
Definition types.hxx:34
int result_difference_type
Difference between result sizes.
Definition types.hxx:31
Internal items for libpqxx' own use. Do not use these yourself.
Definition composite.hxx:84
void clear_result(pq::PGresult const *) noexcept
C++ wrapper for libpq's PQclear.
Definition result.cxx:42
Definition connection.hxx:109
Reference to a field in a result set.
Definition field.hxx:35
Result set containing data returned by a query or command.
Definition result.hxx:73
const_reverse_result_iterator const_reverse_iterator
Definition result.hxx:81
result(result &&rhs) noexcept=default
row_size_type table_column(zview col_name) const
What column in its table did this column come from?
Definition result.hxx:236
result() noexcept
Definition result.hxx:84
result & operator=(result &&rhs) noexcept=default
Assign one result to another, invaliding the old one.
result_size_type size_type
Definition result.hxx:75
bool operator!=(result const &rhs) const noexcept
Compare two results for inequality.
Definition result.hxx:111
const_iterator pointer
Definition result.hxx:79
void clear() noexcept
Let go of the result's data.
Definition result.hxx:176
const_iterator iterator
Definition result.hxx:80
result_difference_type difference_type
Definition result.hxx:76
const_reverse_iterator reverse_iterator
Definition result.hxx:82
oid column_table(zview col_name) const
What table did this column come from?
Definition result.hxx:227
result & operator=(result const &rhs) noexcept=default
Assign one result to another.
const_result_iterator const_iterator
Definition result.hxx:78
result(result const &rhs) noexcept=default
auto iter() const
Iterate rows, reading them directly into a tuple of "TYPE...".
Reference to one row in a result.
Definition row.hxx:47
Marker-type wrapper: zero-terminated std::string_view.
Definition zview.hxx:38