--- /srv/reproducible-results/rbuild-debian/r-b-build.CxfGQB4s/b1/libpqxx_7.10.0-1_i386.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.CxfGQB4s/b2/libpqxx_7.10.0-1_i386.changes ├── Files │ @@ -1,5 +1,5 @@ │ │ 4247e0a5b692b266b1470bbe5849b3cf 2500240 debug optional libpqxx-7.10-dbgsym_7.10.0-1_i386.deb │ b72a62ea6837d207da1ebf16e885f46f 212976 libs optional libpqxx-7.10_7.10.0-1_i386.deb │ 97b8b4f216310339deaee8163d272d27 388068 libdevel optional libpqxx-dev_7.10.0-1_i386.deb │ - 4876ab3e02522b58fbc222c2b4a36ced 2637468 doc optional libpqxx-doc_7.10.0-1_all.deb │ + f74b059700cb707c05fe2f336d593fb6 2639504 doc optional libpqxx-doc_7.10.0-1_all.deb ├── libpqxx-doc_7.10.0-1_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2025-01-07 17:35:40.000000 debian-binary │ │ --rw-r--r-- 0 0 0 32436 2025-01-07 17:35:40.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 2604840 2025-01-07 17:35:40.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 32424 2025-01-07 17:35:40.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 2606888 2025-01-07 17:35:40.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./control │ │ │ │ @@ -1,13 +1,13 @@ │ │ │ │ Package: libpqxx-doc │ │ │ │ Source: libpqxx │ │ │ │ Version: 7.10.0-1 │ │ │ │ Architecture: all │ │ │ │ Maintainer: Debian PostgreSQL team │ │ │ │ -Installed-Size: 13547 │ │ │ │ +Installed-Size: 13597 │ │ │ │ Suggests: libpqxx-dev (>= 7.10.0-1) │ │ │ │ Section: doc │ │ │ │ Priority: optional │ │ │ │ Multi-Arch: foreign │ │ │ │ Homepage: https://github.com/jtv/libpqxx/ │ │ │ │ Description: C++ library to connect to PostgreSQL (documentation) │ │ │ │ C++ library to enable user programs to communicate with │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -57,22 +57,22 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7476 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connecting-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16227 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connecting.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 678 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connecting.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 28289 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 125398 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5809 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 29774 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator-members.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 62524 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 75445 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1037 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 734 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__coll__graph.map │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7752 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__coll__graph.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 769 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__inherit__graph.map │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8763 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__inherit__graph.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 25117 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator-members.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 31662 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 37137 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1273 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1052 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__coll__graph.map │ │ │ │ -rw-r--r-- 0 root (0) root (0) 11447 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__coll__graph.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 776 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__inherit__graph.map │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8876 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__inherit__graph.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 21335 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__row__iterator-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 25258 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__row__iterator.html │ │ │ │ @@ -322,18 +322,18 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9532 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 22538 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 643 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 10254 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range__bound-members.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 14962 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range__bound.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 618 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range__bound.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 21619 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result-members.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 62809 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 73620 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2802 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 19721 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row-members.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 51358 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 60407 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1893 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 421 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__coll__graph.map │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4514 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__coll__graph.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 753 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__inherit__graph.map │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8703 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__inherit__graph.png │ │ │ │ -rw-r--r-- 0 root (0) root (0) 658 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1sql__error__coll__graph.map │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5836 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1sql__error__coll__graph.png │ │ │ │ @@ -855,19 +855,19 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 9364 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/prepared__statement_8hxx_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 101844 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/range_8hxx_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 5685 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/resize.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8660 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-connection_8hxx_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 11425 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-creation_8hxx_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8756 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-pipeline_8hxx_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8591 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-sql__cursor_8hxx_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 63743 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result_8hxx_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 29407 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iter_8hxx_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 62185 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 67049 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result_8hxx_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 31512 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iter_8hxx_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 65381 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 19467 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/robusttransaction_8hxx_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 91997 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 98297 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7545 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_0.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4729 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_1.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6978 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_10.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 21617 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7531 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_12.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2858 2025-01-07 17:35:40.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_13.js │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1array__parser.html │ │ │ │ @@ -122,15 +122,15 @@ │ │ │ │   │ │ │ │ std::pair< juncture, std::string > get_next () │ │ │ │  Parse the next step in the array.
│ │ │ │   │ │ │ │ │ │ │ │

Detailed Description

│ │ │ │

Low-level parser for C++ arrays.

│ │ │ │ -
Deprecated:
Use pqxx::array instead.
│ │ │ │ +
Deprecated:
Use pqxx::array instead.
│ │ │ │

Clunky old API for parsing SQL arrays.

│ │ │ │
Warning
This parser will only work reliably if your client encoding is UTF-8, ASCII, or a "safe ASCII superset" (such as the EUC encodings) where a byte value in the ASCII range can only occur as an actual ASCII character, never as one byte in a multi-byte character.
│ │ │ │
│ │ │ │ The parser only supports array element types which use a comma (‘’,') as the separator between array elements. All built-in SQL types use comma, except forbox` which uses semicolon. However some custom types may not work.
│ │ │ │

The input is a C-style string containing the textual representation of an array, as returned by the database. The parser reads this representation on the fly. The string must remain in memory until parsing is done.

│ │ │ │

Parse the array by making calls to get_next until it returns a juncture of done. The juncture tells you what the parser found in that step: did the array "nest" to a deeper level, or "un-nest" back up?

│ │ │ │

Member Enumeration Documentation

│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__fieldstream.html │ │ │ │ @@ -148,15 +148,15 @@ │ │ │ │ │ │ │ │  basic_fieldstream (field const &f) │ │ │ │   │ │ │ │ │ │ │ │

Detailed Description

│ │ │ │
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
│ │ │ │ class pqxx::basic_fieldstream< CHAR, TRAITS >

Input stream that gets its data from a result field.

│ │ │ │ -
Deprecated:
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
│ │ │ │ +
Deprecated:
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
│ │ │ │

Works like any other istream to read data from a field. It supports all formatting and streaming operations of std::istream. For convenience there is a fieldstream alias, which defines a basic_fieldstream for char. This is similar to how e.g. std::ifstream relates to std::basic_ifstream.

│ │ │ │

This class has only been tested for the char type (and its default traits).

│ │ │ │

The documentation for this class was generated from the following file: │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__ilostream.html │ │ │ │ @@ -151,15 +151,15 @@ │ │ │ │  basic_ilostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512) │ │ │ │  Create a basic_ilostream.
│ │ │ │   │ │ │ │ │ │ │ │

Detailed Description

│ │ │ │
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
│ │ │ │ class pqxx::basic_ilostream< CHAR, TRAITS >

Input stream that gets its data from a large object.

│ │ │ │ -
Deprecated:
Access large objects directly using the blob class.
│ │ │ │ +
Deprecated:
Access large objects directly using the blob class.
│ │ │ │

This class worked like any other istream, but to read data from a large object. It supported all formatting and streaming operations of std::istream.

│ │ │ │

This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.

│ │ │ │

Constructor & Destructor Documentation

│ │ │ │ │ │ │ │

◆ basic_ilostream() [1/2]

│ │ │ │ │ │ │ │
│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__lostream.html │ │ │ │ @@ -151,15 +151,15 @@ │ │ │ │  basic_lostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512) │ │ │ │  Create a basic_lostream.
│ │ │ │   │ │ │ │ │ │ │ │

Detailed Description

│ │ │ │
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
│ │ │ │ class pqxx::basic_lostream< CHAR, TRAITS >

Stream that reads and writes a large object.

│ │ │ │ -
Deprecated:
Access large objects directly using the blob class.
│ │ │ │ +
Deprecated:
Access large objects directly using the blob class.
│ │ │ │

This worked like a std::iostream, but to read data from, or write data to, a large object. It supported all formatting and streaming operations of std::iostream.

│ │ │ │

This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.

│ │ │ │

Constructor & Destructor Documentation

│ │ │ │ │ │ │ │

◆ basic_lostream() [1/2]

│ │ │ │ │ │ │ │
│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__olostream.html │ │ │ │ @@ -151,15 +151,15 @@ │ │ │ │  basic_olostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512) │ │ │ │  Create a basic_olostream.
│ │ │ │   │ │ │ │ │ │ │ │

Detailed Description

│ │ │ │
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
│ │ │ │ class pqxx::basic_olostream< CHAR, TRAITS >

Output stream that writes data back to a large object.

│ │ │ │ -
Deprecated:
Access large objects directly using the blob class.
│ │ │ │ +
Deprecated:
Access large objects directly using the blob class.
│ │ │ │

This worked like any other ostream, but to write data to a large object. It supported all formatting and streaming operations of std::ostream.

│ │ │ │

This functionality was considered too fragile and complex, so it has been replaced with a single, much simpler class.

│ │ │ │

Constructor & Destructor Documentation

│ │ │ │ │ │ │ │

◆ basic_olostream() [1/2]

│ │ │ │ │ │ │ │
│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.html │ │ │ │ @@ -788,15 +788,15 @@ │ │ │ │ std::vector< pqxx::errorhandler * > pqxx::connection::get_errorhandlers │ │ │ │ ( │ │ │ │ ) │ │ │ │ const │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -
Deprecated:
Return pointers to the active errorhandlers.
│ │ │ │ +
Deprecated:
Return pointers to the active errorhandlers.
│ │ │ │

The entries are ordered from oldest to newest handler.

│ │ │ │

The pointers point to the real errorhandlers. The container it returns however is a copy of the one internal to the connection, not a reference.

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ get_notifs()

│ │ │ │ @@ -1528,15 +1528,15 @@ │ │ │ │ ) │ │ │ │ & │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Set session variable, using SQL's SET command.

│ │ │ │ -
Deprecated:
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
│ │ │ │ +
Deprecated:
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
│ │ │ │
Warning
When setting a string value, you must escape and quote it first. Use the quote() function to do that.
│ │ │ │
│ │ │ │ This executes an SQL query, so do not get or set variables while a table stream or pipeline is active on the same connection.
│ │ │ │
Parameters
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.html │ │ │ │ @@ -128,298 +128,298 @@ │ │ │ │ │ │ │ │ │ │ │ │
[legend]
│ │ │ │
varVariable to set.
valueNew value for Var. This can be any SQL expression. If it's a string, be sure that it's properly escaped and quoted.
│ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │

│ │ │ │ Public Types

│ │ │ │ -using iterator_category = std::bidirectional_iterator_tag
iterator_category = std::bidirectional_iterator_tag
 
│ │ │ │ -using value_type = row const
value_type = row const
 
│ │ │ │ -using pointer = row const *
pointer = row const *
 
│ │ │ │ -using reference = row
reference = row
 
│ │ │ │ -using size_type = result_size_type
size_type = result_size_type
 
│ │ │ │ -using difference_type = result_difference_type
difference_type = result_difference_type
 
- Public Types inherited from pqxx::row
│ │ │ │ -using size_type = row_size_type
size_type = row_size_type
 
│ │ │ │ -using difference_type = row_difference_type
difference_type = row_difference_type
 
│ │ │ │ -using const_iterator = const_row_iterator
const_iterator = const_row_iterator
 
│ │ │ │ -using iterator = const_iterator
iterator = const_iterator
 
│ │ │ │ -using reference = field
reference = field
 
│ │ │ │ -using pointer = const_row_iterator
pointer = const_row_iterator
 
│ │ │ │ -using const_reverse_iterator = const_reverse_row_iterator
const_reverse_iterator = const_reverse_row_iterator
 
│ │ │ │ -using reverse_iterator = const_reverse_iterator
reverse_iterator = const_reverse_iterator
 
│ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +pointer  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ +void  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +constexpr result::size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ +row &  │ │ │ │ │ │ │ │ │ │ │ │ +row &  │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +constexpr size_type  │ │ │ │ │ │ │ │ │ │ │ │ +constexpr result::size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +constexpr result::size_type  │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +void  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE bool  │ │ │ │ │ │ │ │ │ │ │ │

│ │ │ │ Public Member Functions

│ │ │ │ - const_result_iterator () noexcept=default
const_result_iterator () noexcept=default
 Create an iterator, but in an unusable state.
 
│ │ │ │ - const_result_iterator (const_result_iterator const &) noexcept=default
const_result_iterator (const_result_iterator const &) noexcept=default
 Copy an iterator.
 
│ │ │ │ - const_result_iterator (const_result_iterator &&) noexcept=default
const_result_iterator (const_result_iterator &&) noexcept=default
 Move an iterator.
 
│ │ │ │ - const_result_iterator (row const &t) noexcept
const_result_iterator (row const &t) noexcept
 Begin iterating a row.
 
Dereferencing operators

An iterator "points to" its own row, which is also itself. This makes it easy to address a pqxx::result as a two-dimensional container, without going through the intermediate step of dereferencing the iterator. It makes the interface similar to C pointer/array semantics.

│ │ │ │

IIRC Alex Stepanov, the inventor of the STL, once remarked that having this as standard behaviour for pointers would be useful in some algorithms. So even if this makes me look foolish, I would seem to be in distinguished company.

│ │ │ │
│ │ │ │ -pointer operator-> () const
operator-> () const
 Dereference the iterator.
 
│ │ │ │ -reference operator* () const
operator* () const
 Dereference the iterator.
 
Manipulations
│ │ │ │ -const_result_iteratoroperator= (const_result_iterator const &rhs)
operator= (const_result_iterator const &rhs)
 
│ │ │ │ -const_result_iteratoroperator= (const_result_iterator &&rhs)
operator= (const_result_iterator &&rhs)
 
│ │ │ │ -const_result_iterator operator++ (int) &
operator++ (int) &
 
│ │ │ │ const_result_iteratoroperator++ ()
 
│ │ │ │ -const_result_iterator operator-- (int) &
operator-- (int) &
 
│ │ │ │ const_result_iteratoroperator-- ()
 
│ │ │ │ -const_result_iteratoroperator+= (difference_type i)
operator+= (difference_type i)
 
│ │ │ │ -const_result_iteratoroperator-= (difference_type i)
operator-= (difference_type i)
 
│ │ │ │ -void swap (const_result_iterator &other) noexcept
swap (const_result_iterator &other) noexcept
 Interchange two iterators in an exception-safe manner.
 
Comparisons
│ │ │ │ -bool operator== (const_result_iterator const &i) const
operator== (const_result_iterator const &i) const
 
│ │ │ │ -bool operator!= (const_result_iterator const &i) const
operator!= (const_result_iterator const &i) const
 
│ │ │ │ -bool operator< (const_result_iterator const &i) const
operator< (const_result_iterator const &i) const
 
│ │ │ │ -bool operator<= (const_result_iterator const &i) const
operator<= (const_result_iterator const &i) const
 
│ │ │ │ -bool operator> (const_result_iterator const &i) const
operator> (const_result_iterator const &i) const
 
│ │ │ │ -bool operator>= (const_result_iterator const &i) const
operator>= (const_result_iterator const &i) const
 
Field access
│ │ │ │ -reference back () const noexcept
back () const noexcept
 
│ │ │ │ -reference front () const noexcept
front () const noexcept
 
│ │ │ │ -reference at (size_type) const
at (size_type) const
 
reference at (zview col_name) const
reference at (zview col_name) const
 
│ │ │ │ -constexpr result::size_type rownumber () const noexcept
rownumber () const noexcept
 Row number, assuming this is a real row and not end()/rend().
 
- Public Member Functions inherited from pqxx::row
│ │ │ │ - row (row &&) noexcept=default
row (row &&) noexcept=default
 
│ │ │ │ - row (row const &) noexcept=default
row (row const &) noexcept=default
 
│ │ │ │ -rowoperator= (row const &) noexcept=default
operator= (row const &) noexcept=default
 
│ │ │ │ -rowoperator= (row &&) noexcept=default
operator= (row &&) noexcept=default
 
│ │ │ │ -PQXX_PURE bool operator== (row const &) const noexcept
operator== (row const &) const noexcept
 
│ │ │ │ -bool operator!= (row const &rhs) const noexcept
operator!= (row const &rhs) const noexcept
 
│ │ │ │ -const_iterator begin () const noexcept
begin () const noexcept
 
│ │ │ │ -const_iterator cbegin () const noexcept
cbegin () const noexcept
 
│ │ │ │ -const_iterator end () const noexcept
end () const noexcept
 
│ │ │ │ -const_iterator cend () const noexcept
cend () const noexcept
 
│ │ │ │ -reference front () const noexcept
front () const noexcept
 
│ │ │ │ -reference back () const noexcept
back () const noexcept
 
│ │ │ │ -const_reverse_row_iterator rbegin () const noexcept
rbegin () const noexcept
 
│ │ │ │ -const_reverse_row_iterator crbegin () const noexcept
crbegin () const noexcept
 
│ │ │ │ -const_reverse_row_iterator rend () const noexcept
rend () const noexcept
 
│ │ │ │ -const_reverse_row_iterator crend () const noexcept
crend () const noexcept
 
│ │ │ │ -reference operator[] (size_type) const noexcept
operator[] (size_type) const noexcept
 
reference operator[] (zview col_name) const
reference operator[] (zview col_name) const
 
│ │ │ │ -reference at (size_type) const
at (size_type) const
 
reference at (zview col_name) const
reference at (zview col_name) const
 
│ │ │ │ -constexpr size_type size () const noexcept
size () const noexcept
 
│ │ │ │ -constexpr result::size_type rownumber () const noexcept
rownumber () const noexcept
 Row number, assuming this is a real row and not end()/rend().
 
│ │ │ │ -size_type column_number (zview col_name) const
column_number (zview col_name) const
 Number of given column (throws exception if it doesn't exist).
 
│ │ │ │ -oid column_type (size_type) const
column_type (size_type) const
 Return a column's type.
 
│ │ │ │ -oid column_type (zview col_name) const
column_type (zview col_name) const
 Return a column's type.
 
│ │ │ │ -oid column_table (size_type col_num) const
column_table (size_type col_num) const
 What table did this column come from?
 
│ │ │ │ -oid column_table (zview col_name) const
column_table (zview col_name) const
 What table did this column come from?
 
size_type table_column (size_type) const
size_type table_column (size_type) const
 What column number in its table did this result column come from?
 
│ │ │ │ -size_type table_column (zview col_name) const
table_column (zview col_name) const
 What column number in its table did this result column come from?
 
│ │ │ │ -constexpr result::size_type num () const noexcept
num () const noexcept
 
template<typename Tuple >
void to (Tuple &t) const
template<typename Tuple >
void to (Tuple &t) const
 Extract entire row's values into a tuple.
 
template<typename... TYPE>
std::tuple< TYPE... > as () const
std::tuple< TYPE... > as () const
 Extract entire row's values into a tuple.
 
│ │ │ │ -void swap (row &) noexcept
swap (row &) noexcept
 
row slice (size_type sbegin, size_type send) const
row slice (size_type sbegin, size_type send) const
 
│ │ │ │ -PQXX_PURE bool empty () const noexcept
empty () const noexcept
 Is this a row without fields? Can only happen to a slice.
 
│ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +difference_type  │ │ │ │ │ │ │ │

Arithmetic operators

│ │ │ │ -class pqxx::result
pqxx::result
 
│ │ │ │ -const_result_iterator operator+ (difference_type, const_result_iterator const &)
operator+ (difference_type, const_result_iterator const &)
 
│ │ │ │ -const_result_iterator operator+ (difference_type) const
operator+ (difference_type) const
 
│ │ │ │ -const_result_iterator operator- (difference_type) const
operator- (difference_type) const
 
│ │ │ │ -difference_type operator- (const_result_iterator const &) const
operator- (const_result_iterator const &) const
 
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +void  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ +template<typenameTuple > │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -9,234 +9,234 @@ │ │ │ │ │ [+]Inheritance diagram for pqxx::const_result_iterator: │ │ │ │ │ [Inheritance graph] │ │ │ │ │ [_l_e_g_e_n_d] │ │ │ │ │ [+]Collaboration diagram for pqxx::const_result_iterator: │ │ │ │ │ [Collaboration graph] │ │ │ │ │ [_l_e_g_e_n_d] │ │ │ │ │ PPuubblliicc TTyyppeess │ │ │ │ │ -using  iitteerraattoorr__ccaatteeggoorryy = std::bidirectional_iterator_tag │ │ │ │ │ +_u_s_i_n_g  iitteerraattoorr__ccaatteeggoorryy = std::bidirectional_iterator_tag │ │ │ │ │   │ │ │ │ │ -using  vvaalluuee__ttyyppee = _r_o_w const │ │ │ │ │ +_u_s_i_n_g  vvaalluuee__ttyyppee = _r_o_w _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ -using  ppooiinntteerr = _r_o_w const * │ │ │ │ │ +_u_s_i_n_g  ppooiinntteerr = _r_o_w _c_o_n_s_t * │ │ │ │ │   │ │ │ │ │ -using  rreeffeerreennccee = _r_o_w │ │ │ │ │ +_u_s_i_n_g  rreeffeerreennccee = _r_o_w │ │ │ │ │   │ │ │ │ │ -using  ssiizzee__ttyyppee = _r_e_s_u_l_t___s_i_z_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ssiizzee__ttyyppee = _r_e_s_u_l_t___s_i_z_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  ddiiffffeerreennccee__ttyyppee = _r_e_s_u_l_t___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ddiiffffeerreennccee__ttyyppee = _r_e_s_u_l_t___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ [-] Public Types inherited from _p_q_x_x_:_:_r_o_w │ │ │ │ │ -using  ssiizzee__ttyyppee = _r_o_w___s_i_z_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ssiizzee__ttyyppee = _r_o_w___s_i_z_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  ddiiffffeerreennccee__ttyyppee = _r_o_w___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ddiiffffeerreennccee__ttyyppee = _r_o_w___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  ccoonnsstt__iitteerraattoorr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ccoonnsstt__iitteerraattoorr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  iitteerraattoorr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  iitteerraattoorr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  rreeffeerreennccee = _f_i_e_l_d │ │ │ │ │ +_u_s_i_n_g  rreeffeerreennccee = _f_i_e_l_d │ │ │ │ │   │ │ │ │ │ -using  ppooiinntteerr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ppooiinntteerr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  ccoonnsstt__rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ccoonnsstt__rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ PPuubblliicc MMeemmbbeerr FFuunnccttiioonnss │ │ │ │ │ -   ccoonnsstt__rreessuulltt__iitteerraattoorr () noexcept=default │ │ │ │ │ +   ccoonnsstt__rreessuulltt__iitteerraattoorr () _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   Create an iterator, but in an unusable state. │ │ │ │ │   │ │ │ │ │ -   ccoonnsstt__rreessuulltt__iitteerraattoorr (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const │ │ │ │ │ - &) noexcept=default │ │ │ │ │ +   ccoonnsstt__rreessuulltt__iitteerraattoorr (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t │ │ │ │ │ + &) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   Copy an iterator. │ │ │ │ │   │ │ │ │ │   ccoonnsstt__rreessuulltt__iitteerraattoorr (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &&) │ │ │ │ │ - noexcept=default │ │ │ │ │ + _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   Move an iterator. │ │ │ │ │   │ │ │ │ │ -   ccoonnsstt__rreessuulltt__iitteerraattoorr (_r_o_w const &t) noexcept │ │ │ │ │ +   ccoonnsstt__rreessuulltt__iitteerraattoorr (_r_o_w _c_o_n_s_t &_t) _n_o_e_x_c_e_p_t │ │ │ │ │   Begin iterating a _r_o_w. │ │ │ │ │   │ │ │ │ │ Dereferencing operators │ │ │ │ │ An iterator "points to" its own row, which is also itself. This makes it easy │ │ │ │ │ to address a _p_q_x_x_:_:_r_e_s_u_l_t as a two-dimensional container, without going through │ │ │ │ │ the intermediate step of dereferencing the iterator. It makes the interface │ │ │ │ │ similar to C pointer/array semantics. │ │ │ │ │ IIRC Alex Stepanov, the inventor of the STL, once remarked that having this as │ │ │ │ │ standard behaviour for pointers would be useful in some algorithms. So even if │ │ │ │ │ this makes me look foolish, I would seem to be in distinguished company. │ │ │ │ │ - pointer  ooppeerraattoorr-->> () const │ │ │ │ │ + _p_o_i_n_t_e_r  ooppeerraattoorr-->> () _c_o_n_s_t │ │ │ │ │   Dereference the iterator. │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ooppeerraattoorr** () const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ooppeerraattoorr** () _c_o_n_s_t │ │ │ │ │   Dereference the iterator. │ │ │ │ │   │ │ │ │ │ Manipulations │ │ │ │ │ - _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &rhs) │ │ │ │ │ + _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_r_h_s) │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &&rhs) │ │ │ │ │ + _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &&_r_h_s) │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++++ (int) & │ │ │ │ │ + _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++++ (_i_n_t) & │ │ │ │ │   │ │ │ │ │ _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr++++ () │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr---- (int) & │ │ │ │ │ + _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr---- (_i_n_t) & │ │ │ │ │   │ │ │ │ │ _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr---- () │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr++== (difference_type i) │ │ │ │ │ + _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr++== (difference_type _i) │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr--== (difference_type i) │ │ │ │ │ + _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr--== (difference_type _i) │ │ │ │ │   │ │ │ │ │ - void  sswwaapp (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &other) noexcept │ │ │ │ │ + _v_o_i_d  sswwaapp (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &_o_t_h_e_r) _n_o_e_x_c_e_p_t │ │ │ │ │   Interchange two iterators in an exception-safe │ │ │ │ │ manner. │ │ │ │ │   │ │ │ │ │ Comparisons │ │ │ │ │ - bool  ooppeerraattoorr==== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &i) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr==== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_i) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr!!== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &i) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr!!== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_i) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr<< (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &i) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr<< (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_i) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr<<== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &i) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr<<== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_i) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr>> (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &i) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr>> (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_i) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr>>== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &i) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr>>== (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_i) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ Field access │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  bbaacckk () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  bbaacckk () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ffrroonntt () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ffrroonntt () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  aatt (size_type) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  aatt (size_type) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w col_name) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ -constexpr result::size_type  rroowwnnuummbbeerr () const noexcept │ │ │ │ │ +_c_o_n_s_t_e_x_p_r result::size_type  rroowwnnuummbbeerr () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Row number, assuming this is a real row and not │ │ │ │ │ end()/rend(). │ │ │ │ │   │ │ │ │ │ [-] Public Member Functions inherited from _p_q_x_x_:_:_r_o_w │ │ │ │ │ -   rrooww (_r_o_w &&) noexcept=default │ │ │ │ │ +   rrooww (_r_o_w &&) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ -   rrooww (_r_o_w const &) noexcept=default │ │ │ │ │ +   rrooww (_r_o_w _c_o_n_s_t &) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ - _r_o_w &  ooppeerraattoorr== (_r_o_w const &) noexcept=default │ │ │ │ │ + _r_o_w &  ooppeerraattoorr== (_r_o_w _c_o_n_s_t &) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ - _r_o_w &  ooppeerraattoorr== (_r_o_w &&) noexcept=default │ │ │ │ │ + _r_o_w &  ooppeerraattoorr== (_r_o_w &&) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ - PQXX_PURE bool  ooppeerraattoorr==== (_r_o_w const &) const noexcept │ │ │ │ │ + PQXX_PURE _b_o_o_l  ooppeerraattoorr==== (_r_o_w _c_o_n_s_t &) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr!!== (_r_o_w const &rhs) const noexcept │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr!!== (_r_o_w _c_o_n_s_t &_r_h_s) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  bbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  bbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  ccbbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  ccbbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  eenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  eenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  cceenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  cceenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ffrroonntt () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ffrroonntt () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  bbaacckk () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  bbaacckk () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rrbbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rrbbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrrbbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrrbbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rreenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rreenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrreenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrreenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ooppeerraattoorr[[]] (size_type) const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ooppeerraattoorr[[]] (size_type) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  _o_p_e_r_a_t_o_r_[_] (_z_v_i_e_w col_name) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  _o_p_e_r_a_t_o_r_[_] (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  aatt (size_type) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  aatt (size_type) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w col_name) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - constexpr size_type  ssiizzee () const noexcept │ │ │ │ │ + _c_o_n_s_t_e_x_p_r size_type  ssiizzee () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ -constexpr result::size_type  rroowwnnuummbbeerr () const noexcept │ │ │ │ │ +_c_o_n_s_t_e_x_p_r result::size_type  rroowwnnuummbbeerr () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Row number, assuming this is a real row and not │ │ │ │ │ end()/rend(). │ │ │ │ │   │ │ │ │ │ - size_type  ccoolluummnn__nnuummbbeerr (_z_v_i_e_w col_name) const │ │ │ │ │ + size_type  ccoolluummnn__nnuummbbeerr (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   Number of given column (throws exception if it │ │ │ │ │ doesn't exist). │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttyyppee (size_type) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttyyppee (size_type) _c_o_n_s_t │ │ │ │ │   Return a column's type. │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttyyppee (_z_v_i_e_w col_name) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttyyppee (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   Return a column's type. │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttaabbllee (size_type col_num) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttaabbllee (size_type _c_o_l___n_u_m) _c_o_n_s_t │ │ │ │ │   What table did this column come from? │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttaabbllee (_z_v_i_e_w col_name) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttaabbllee (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   What table did this column come from? │ │ │ │ │   │ │ │ │ │ - size_type  _t_a_b_l_e___c_o_l_u_m_n (size_type) const │ │ │ │ │ + size_type  _t_a_b_l_e___c_o_l_u_m_n (size_type) _c_o_n_s_t │ │ │ │ │   What column number in its table did this result │ │ │ │ │ column come from? │ │ │ │ │   │ │ │ │ │ - size_type  ttaabbllee__ccoolluummnn (_z_v_i_e_w col_name) const │ │ │ │ │ + size_type  ttaabbllee__ccoolluummnn (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   What column number in its table did this result │ │ │ │ │ column come from? │ │ │ │ │   │ │ │ │ │ -constexpr result::size_type  nnuumm () const noexcept │ │ │ │ │ +_c_o_n_s_t_e_x_p_r result::size_type  nnuumm () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ -template │ │ │ │ │ - void  _t_o (Tuple &t) const │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_u_p_l_e > │ │ │ │ │ + _v_o_i_d  _t_o (_T_u_p_l_e &_t) _c_o_n_s_t │ │ │ │ │   Extract entire row's values into a tuple. │ │ │ │ │   │ │ │ │ │ template │ │ │ │ │ - std::tuple< TYPE... >  _a_s () const │ │ │ │ │ + std::tuple< TYPE... >  _a_s () _c_o_n_s_t │ │ │ │ │   Extract entire row's values into a tuple. │ │ │ │ │   │ │ │ │ │ - void  sswwaapp (_r_o_w &) noexcept │ │ │ │ │ + _v_o_i_d  sswwaapp (_r_o_w &) _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_o_w  _s_l_i_c_e (size_type sbegin, size_type send) const │ │ │ │ │ + _r_o_w  _s_l_i_c_e (size_type _s_b_e_g_i_n, size_type _s_e_n_d) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - PQXX_PURE bool  eemmppttyy () const noexcept │ │ │ │ │ + PQXX_PURE _b_o_o_l  eemmppttyy () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Is this a row without fields? Can only happen to a │ │ │ │ │ slice. │ │ │ │ │   │ │ │ │ │ ********** AArriitthhmmeettiicc ooppeerraattoorrss ********** │ │ │ │ │ - class  ppqqxxxx::::rreessuulltt │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::rreessuulltt │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++ (difference_type, _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const │ │ │ │ │ +_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++ (difference_type, _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t │ │ │ │ │ &) │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++ (difference_type) const │ │ │ │ │ +_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++ (difference_type) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr-- (difference_type) const │ │ │ │ │ +_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr-- (difference_type) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - difference_type  ooppeerraattoorr-- (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &) const │ │ │ │ │ + difference_type  ooppeerraattoorr-- (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ AAddddiittiioonnaall IInnhheerriitteedd MMeemmbbeerrss │ │ │ │ │ [-] Protected Member Functions inherited from _p_q_x_x_:_:_r_o_w │ │ │ │ │ -   _r_o_w (_r_e_s_u_l_t r, _r_e_s_u_l_t___s_i_z_e___t_y_p_e index, size_type cols) │ │ │ │ │ - noexcept │ │ │ │ │ +   _r_o_w (_r_e_s_u_l_t _r, _r_e_s_u_l_t___s_i_z_e___t_y_p_e index, size_type _c_o_l_s) │ │ │ │ │ + _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - void  cchheecckk__ssiizzee (size_type expected) const │ │ │ │ │ + _v_o_i_d  cchheecckk__ssiizzee (size_type _e_x_p_e_c_t_e_d) _c_o_n_s_t │ │ │ │ │   Throw _u_s_a_g_e___e_r_r_o_r if row size is not expected. │ │ │ │ │   │ │ │ │ │ -template │ │ │ │ │ - TUPLE  _a_s___t_u_p_l_e () const │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_U_P_L_E > │ │ │ │ │ + _T_U_P_L_E  _a_s___t_u_p_l_e () _c_o_n_s_t │ │ │ │ │   Convert to a given tuple of values, don't check sizes. │ │ │ │ │   │ │ │ │ │ -template │ │ │ │ │ - void  ccoonnvveerrtt (Tuple &t) const │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_u_p_l_e > │ │ │ │ │ + _v_o_i_d  ccoonnvveerrtt (_T_u_p_l_e &_t) _c_o_n_s_t │ │ │ │ │   Convert entire row to tuple fields, without checking row │ │ │ │ │ size. │ │ │ │ │   │ │ │ │ │ [-] Protected Attributes inherited from _p_q_x_x_:_:_r_o_w │ │ │ │ │ _r_e_s_u_l_t  mm__rreessuulltt │ │ │ │ │   Result set of which this is one row. │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.html │ │ │ │ @@ -130,141 +130,141 @@ │ │ │ │ │ │ │ │ │ │ │ │
[legend]
│ │ │ │

│ │ │ │ Additional Inherited Members

- Protected Member Functions inherited from pqxx::row
 row (result r, result_size_type index, size_type cols) noexcept
 row (result r, result_size_type index, size_type cols) noexcept
 
│ │ │ │ -void check_size (size_type expected) const
check_size (size_type expected) const
 Throw usage_error if row size is not expected.
 
template<typename TUPLE >
TUPLE as_tuple () const
template<typename TUPLE >
TUPLE as_tuple () const
 Convert to a given tuple of values, don't check sizes.
 
│ │ │ │ -template<typename Tuple >
void convert (Tuple &t) const
void convert (Tuple &t) const
 Convert entire row to tuple fields, without checking row size.
 
- Protected Attributes inherited from pqxx::row
│ │ │ │ result m_result
 Result set of which this is one row.
 
│ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │

│ │ │ │ Public Types

│ │ │ │ -using super = const_result_iterator
super = const_result_iterator
 
│ │ │ │ -using iterator_type = const_result_iterator
iterator_type = const_result_iterator
 
│ │ │ │ -using value_type = iterator_type::value_type
value_type = iterator_type::value_type
 
│ │ │ │ -using reference = iterator_type::reference
reference = iterator_type::reference
 
│ │ │ │ -using difference_type = result_difference_type
difference_type = result_difference_type
 
│ │ │ │ -using iterator_category = std::bidirectional_iterator_tag
iterator_category = std::bidirectional_iterator_tag
 
│ │ │ │ -using pointer = row const *
pointer = row const *
 
│ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE const_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator &  │ │ │ │ │ │ │ │ │ │ │ │ +void  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +difference_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_result_iterator  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +difference_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +constexpr result::size_type  │ │ │ │ │ │ │ │ │ │ │ │

│ │ │ │ Public Member Functions

│ │ │ │ - const_reverse_result_iterator ()=default
const_reverse_result_iterator ()=default
 Create an iterator, but in an unusable state.
 
│ │ │ │ - const_reverse_result_iterator (const_reverse_result_iterator const &rhs)=default
const_reverse_result_iterator (const_reverse_result_iterator const &rhs)=default
 Copy an iterator.
 
│ │ │ │ - const_reverse_result_iterator (const_result_iterator const &rhs)
const_reverse_result_iterator (const_result_iterator const &rhs)
 Copy a reverse iterator from a regular iterator.
 
│ │ │ │ - const_reverse_result_iterator (const_result_iterator const &&rhs)
const_reverse_result_iterator (const_result_iterator const &&rhs)
 Move a regular iterator into a reverse iterator.
 
│ │ │ │ -PQXX_PURE const_result_iterator base () const noexcept
base () const noexcept
 Return the underlying "regular" iterator (as per standard library).
 
Manipulations
│ │ │ │ -const_reverse_result_iteratoroperator= (const_reverse_result_iterator const &r)
operator= (const_reverse_result_iterator const &r)
 
│ │ │ │ -const_reverse_result_iteratoroperator= (const_reverse_result_iterator &&r)
operator= (const_reverse_result_iterator &&r)
 
│ │ │ │ const_reverse_result_iteratoroperator++ ()
 
│ │ │ │ -const_reverse_result_iterator operator++ (int) &
operator++ (int) &
 
│ │ │ │ const_reverse_result_iteratoroperator-- ()
 
│ │ │ │ -const_reverse_result_iterator operator-- (int) &
operator-- (int) &
 
│ │ │ │ -const_reverse_result_iteratoroperator+= (difference_type i)
operator+= (difference_type i)
 
│ │ │ │ -const_reverse_result_iteratoroperator-= (difference_type i)
operator-= (difference_type i)
 
│ │ │ │ -void swap (const_reverse_result_iterator &other) noexcept
swap (const_reverse_result_iterator &other) noexcept
 
Arithmetic operators
│ │ │ │ -const_reverse_result_iterator operator+ (difference_type i) const
operator+ (difference_type i) const
 
│ │ │ │ -const_reverse_result_iterator operator- (difference_type i)
operator- (difference_type i)
 
│ │ │ │ -difference_type operator- (const_reverse_result_iterator const &rhs) const
operator- (const_reverse_result_iterator const &rhs) const
 
Comparisons
│ │ │ │ -bool operator== (const_reverse_result_iterator const &rhs) const noexcept
operator== (const_reverse_result_iterator const &rhs) const noexcept
 
│ │ │ │ -bool operator!= (const_reverse_result_iterator const &rhs) const noexcept
operator!= (const_reverse_result_iterator const &rhs) const noexcept
 
│ │ │ │ -bool operator< (const_reverse_result_iterator const &rhs) const
operator< (const_reverse_result_iterator const &rhs) const
 
│ │ │ │ -bool operator<= (const_reverse_result_iterator const &rhs) const
operator<= (const_reverse_result_iterator const &rhs) const
 
│ │ │ │ -bool operator> (const_reverse_result_iterator const &rhs) const
operator> (const_reverse_result_iterator const &rhs) const
 
│ │ │ │ -bool operator>= (const_reverse_result_iterator const &rhs) const
operator>= (const_reverse_result_iterator const &rhs) const
 
Dereferencing operators
│ │ │ │ -const_result_iterator operator- (difference_type) const
operator- (difference_type) const
 Dereference iterator.
 
│ │ │ │ -difference_type operator- (const_result_iterator const &) const
operator- (const_result_iterator const &) const
 Dereference iterator.
 
│ │ │ │ -reference operator* () const
operator* () const
 Dereference iterator.
 
Field access
│ │ │ │ -reference back () const noexcept
back () const noexcept
 
│ │ │ │ -reference front () const noexcept
front () const noexcept
 
│ │ │ │ -reference at (size_type) const
at (size_type) const
 
reference at (zview col_name) const
reference at (zview col_name) const
 
│ │ │ │ -constexpr result::size_type rownumber () const noexcept
rownumber () const noexcept
 Row number, assuming this is a real row and not end()/rend().
 
│ │ │ │

Detailed Description

│ │ │ │

Reverse iterator for result. Use as result::const_reverse_iterator.

│ │ │ │

Member Function Documentation

│ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -9,120 +9,120 @@ │ │ │ │ │ [+]Inheritance diagram for pqxx::const_reverse_result_iterator: │ │ │ │ │ [Inheritance graph] │ │ │ │ │ [_l_e_g_e_n_d] │ │ │ │ │ [+]Collaboration diagram for pqxx::const_reverse_result_iterator: │ │ │ │ │ [Collaboration graph] │ │ │ │ │ [_l_e_g_e_n_d] │ │ │ │ │ PPuubblliicc TTyyppeess │ │ │ │ │ -using  ssuuppeerr = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ssuuppeerr = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  iitteerraattoorr__ttyyppee = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  iitteerraattoorr__ttyyppee = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  vvaalluuee__ttyyppee = iterator_type::value_type │ │ │ │ │ +_u_s_i_n_g  vvaalluuee__ttyyppee = _i_t_e_r_a_t_o_r___t_y_p_e_:_:_v_a_l_u_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  rreeffeerreennccee = _i_t_e_r_a_t_o_r___t_y_p_e_:_:_r_e_f_e_r_e_n_c_e │ │ │ │ │ +_u_s_i_n_g  rreeffeerreennccee = _i_t_e_r_a_t_o_r___t_y_p_e_:_:_r_e_f_e_r_e_n_c_e │ │ │ │ │   │ │ │ │ │ -using  ddiiffffeerreennccee__ttyyppee = _r_e_s_u_l_t___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ddiiffffeerreennccee__ttyyppee = _r_e_s_u_l_t___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  iitteerraattoorr__ccaatteeggoorryy = std::bidirectional_iterator_tag │ │ │ │ │ +_u_s_i_n_g  iitteerraattoorr__ccaatteeggoorryy = std::bidirectional_iterator_tag │ │ │ │ │   │ │ │ │ │ -using  ppooiinntteerr = _r_o_w const * │ │ │ │ │ +_u_s_i_n_g  ppooiinntteerr = _r_o_w _c_o_n_s_t * │ │ │ │ │   │ │ │ │ │ PPuubblliicc MMeemmbbeerr FFuunnccttiioonnss │ │ │ │ │ -   ccoonnsstt__rreevveerrssee__rreessuulltt__iitteerraattoorr ()=default │ │ │ │ │ +   ccoonnsstt__rreevveerrssee__rreessuulltt__iitteerraattoorr ()=_d_e_f_a_u_l_t │ │ │ │ │   Create an iterator, but in an unusable state. │ │ │ │ │   │ │ │ │ │   ccoonnsstt__rreevveerrssee__rreessuulltt__iitteerraattoorr │ │ │ │ │ - (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r const │ │ │ │ │ - &rhs)=default │ │ │ │ │ + (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t │ │ │ │ │ + &_r_h_s)=_d_e_f_a_u_l_t │ │ │ │ │   Copy an iterator. │ │ │ │ │   │ │ │ │ │   ccoonnsstt__rreevveerrssee__rreessuulltt__iitteerraattoorr │ │ │ │ │ - (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &rhs) │ │ │ │ │ + (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &_r_h_s) │ │ │ │ │   Copy a reverse iterator from a regular │ │ │ │ │ iterator. │ │ │ │ │   │ │ │ │ │   ccoonnsstt__rreevveerrssee__rreessuulltt__iitteerraattoorr │ │ │ │ │ - (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &&rhs) │ │ │ │ │ + (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &&_r_h_s) │ │ │ │ │   Move a regular iterator into a reverse │ │ │ │ │ iterator. │ │ │ │ │   │ │ │ │ │ -PQXX_PURE _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  bbaassee () const noexcept │ │ │ │ │ +PQXX_PURE _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  bbaassee () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Return the underlying "regular" iterator (as │ │ │ │ │ per standard library). │ │ │ │ │   │ │ │ │ │ Manipulations │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r const │ │ │ │ │ - &r) │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t │ │ │ │ │ + &_r) │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &&r) │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &&_r) │ │ │ │ │   │ │ │ │ │ _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr++++ () │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++++ (int) & │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++++ (_i_n_t) & │ │ │ │ │   │ │ │ │ │ _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr---- () │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr---- (int) & │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr---- (_i_n_t) & │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr++== (difference_type i) │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr++== (difference_type _i) │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr--== (difference_type i) │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &  ooppeerraattoorr--== (difference_type _i) │ │ │ │ │   │ │ │ │ │ - void  sswwaapp (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &other) │ │ │ │ │ - noexcept │ │ │ │ │ + _v_o_i_d  sswwaapp (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r &_o_t_h_e_r) │ │ │ │ │ + _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ Arithmetic operators │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++ (difference_type i) const │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr++ (difference_type _i) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr-- (difference_type i) │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr-- (difference_type _i) │ │ │ │ │   │ │ │ │ │ - difference_type  ooppeerraattoorr-- (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r const │ │ │ │ │ - &rhs) const │ │ │ │ │ + difference_type  ooppeerraattoorr-- (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t │ │ │ │ │ + &_r_h_s) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ Comparisons │ │ │ │ │ - bool  ooppeerraattoorr==== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ - const &rhs) const noexcept │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr==== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ + _c_o_n_s_t &_r_h_s) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr!!== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ - const &rhs) const noexcept │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr!!== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ + _c_o_n_s_t &_r_h_s) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr<< (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r const │ │ │ │ │ - &rhs) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr<< (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t │ │ │ │ │ + &_r_h_s) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr<<== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ - const &rhs) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr<<== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ + _c_o_n_s_t &_r_h_s) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr>> (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r const │ │ │ │ │ - &rhs) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr>> (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t │ │ │ │ │ + &_r_h_s) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr>>== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ - const &rhs) const │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr>>== (_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ + _c_o_n_s_t &_r_h_s) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ Dereferencing operators │ │ │ │ │ - _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr-- (difference_type) const │ │ │ │ │ + _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r  ooppeerraattoorr-- (difference_type) _c_o_n_s_t │ │ │ │ │   Dereference iterator. │ │ │ │ │   │ │ │ │ │ - difference_type  ooppeerraattoorr-- (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &) │ │ │ │ │ - const │ │ │ │ │ + difference_type  ooppeerraattoorr-- (_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &) │ │ │ │ │ + _c_o_n_s_t │ │ │ │ │   Dereference iterator. │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ooppeerraattoorr** () const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ooppeerraattoorr** () _c_o_n_s_t │ │ │ │ │   Dereference iterator. │ │ │ │ │   │ │ │ │ │ Field access │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  bbaacckk () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  bbaacckk () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ffrroonntt () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ffrroonntt () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  aatt (size_type) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  aatt (size_type) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w col_name) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - constexpr result::size_type  rroowwnnuummbbeerr () const noexcept │ │ │ │ │ + _c_o_n_s_t_e_x_p_r result::size_type  rroowwnnuummbbeerr () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Row number, assuming this is a real row and │ │ │ │ │ not end()/rend(). │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ Reverse iterator for result. Use as result::const_reverse_iterator. │ │ │ │ │ ********** MMeemmbbeerr FFuunnccttiioonn DDooccuummeennttaattiioonn ********** │ │ │ │ │ ********** _?◆_? aatt(()) ********** │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1internal_1_1dynamic__params.html │ │ │ │ @@ -123,15 +123,15 @@ │ │ │ │   │ │ │ │ │ │ │ │ constexpr auto access (decltype(*std::declval< IT >()) value) const -> decltype(std::declval< ACCESSOR >()(value)) │ │ │ │   │ │ │ │ │ │ │ │

Detailed Description

│ │ │ │
template<typename IT, typename ACCESSOR = decltype(iterator_identity<IT>)>
│ │ │ │ -class pqxx::internal::dynamic_params< IT, ACCESSOR >
Deprecated:
Use params instead.
│ │ │ │ +class pqxx::internal::dynamic_params< IT, ACCESSOR >
Deprecated:
Use params instead.
│ │ │ │

Constructor & Destructor Documentation

│ │ │ │ │ │ │ │

◆ dynamic_params() [1/2]

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1params.html │ │ │ │ @@ -181,15 +181,15 @@ │ │ │ │ ( │ │ │ │ binarystring const &  │ │ │ │ value) │ │ │ │ & │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -
Deprecated:
Append binarystring parameter.
│ │ │ │ +
Deprecated:
Append binarystring parameter.
│ │ │ │

The binarystring must stay valid for as long as the params remains active.

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ append() [2/6]

│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.html │ │ │ │ @@ -100,224 +100,225 @@ │ │ │ │ │ │ │ │

Result set containing data returned by a query or command. │ │ │ │ More...

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │

│ │ │ │ Public Types

│ │ │ │ -using size_type = result_size_type
size_type = result_size_type
 
│ │ │ │ -using difference_type = result_difference_type
difference_type = result_difference_type
 
│ │ │ │ -using reference = row
reference = row
 
│ │ │ │ -using const_iterator = const_result_iterator
const_iterator = const_result_iterator
 
│ │ │ │ -using pointer = const_iterator
pointer = const_iterator
 
│ │ │ │ -using iterator = const_iterator
iterator = const_iterator
 
│ │ │ │ -using const_reverse_iterator = const_reverse_result_iterator
const_reverse_iterator = const_reverse_result_iterator
 
│ │ │ │ -using reverse_iterator = const_reverse_iterator
reverse_iterator = const_reverse_iterator
 
│ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +result &  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE size_type  │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE bool  │ │ │ │ │ │ │ │ │ │ │ │ +size_type  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +row  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +field  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │

│ │ │ │ Public Member Functions

│ │ │ │ - result (result const &rhs) noexcept=default
result (result const &rhs) noexcept=default
 
│ │ │ │ - result (result &&rhs) noexcept=default
result (result &&rhs) noexcept=default
 
resultoperator= (result const &rhs) noexcept=default
resultoperator= (result const &rhs) noexcept=default
 Assign one result to another.
 
│ │ │ │ -resultoperator= (result &&rhs) noexcept=default
operator= (result &&rhs) noexcept=default
 Assign one result to another, invaliding the old one.
 
Comparisons

You can compare results for equality. Beware: this is a very strict, dumb comparison. The smallest difference between two results (such as a string "Foo" versus a string "foo") will make them unequal.

│ │ │ │
│ │ │ │ -bool operator== (result const &) const noexcept
operator== (result const &) const noexcept
 Compare two results for equality.
 
│ │ │ │ -bool operator!= (result const &rhs) const noexcept
operator!= (result const &rhs) const noexcept
 Compare two results for inequality.
 
template<typename... TYPE>
auto iter () const
auto iter () const
 Iterate rows, reading them directly into a tuple of "TYPE...".
 
│ │ │ │ -const_reverse_iterator rbegin () const
rbegin () const
 
│ │ │ │ -const_reverse_iterator crbegin () const
crbegin () const
 
│ │ │ │ -const_reverse_iterator rend () const
rend () const
 
│ │ │ │ -const_reverse_iterator crend () const
crend () const
 
│ │ │ │ -const_iterator begin () const noexcept
begin () const noexcept
 
│ │ │ │ -const_iterator cbegin () const noexcept
cbegin () const noexcept
 
│ │ │ │ -const_iterator end () const noexcept
end () const noexcept
 
│ │ │ │ -const_iterator cend () const noexcept
cend () const noexcept
 
│ │ │ │ -reference front () const noexcept
front () const noexcept
 
│ │ │ │ -reference back () const noexcept
back () const noexcept
 
│ │ │ │ -PQXX_PURE size_type size () const noexcept
size () const noexcept
 
│ │ │ │ -PQXX_PURE bool empty () const noexcept
empty () const noexcept
 
│ │ │ │ -size_type capacity () const noexcept
capacity () const noexcept
 
void swap (result &) noexcept
void swap (result &) noexcept
 Exchange two result values in an exception-safe manner.
 
row operator[] (size_type i) const noexcept
row operator[] (size_type i) const noexcept
 Index a row by number.
 
│ │ │ │ -row at (size_type) const
at (size_type) const
 Index a row by number, but check that the row number is valid.
 
│ │ │ │ -field at (size_type, row_size_type) const
at (size_type, row_size_type) const
 Index a field by row number and column number.
 
void clear () noexcept
void clear () noexcept
 Let go of the result's data.
 
│ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE row_size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +row_size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +charconst *  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +row_size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +row_size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE std::string const &  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +result  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │

Column information

│ │ │ │ -class pqxx::internal::gate::result_pipeline
pqxx::internal::gate::result_pipeline
 
│ │ │ │ -class pqxx::field
pqxx::field
 
│ │ │ │ -class pqxx::internal::gate::result_creation
pqxx::internal::gate::result_creation
 
│ │ │ │ -class pqxx::internal::gate::result_connection
pqxx::internal::gate::result_connection
 
│ │ │ │ -class pqxx::internal::gate::result_row
pqxx::internal::gate::result_row
 
│ │ │ │ -class pqxx::internal::gate::result_sql_cursor
pqxx::internal::gate::result_sql_cursor
 
│ │ │ │ -PQXX_PURE row_size_type columns () const noexcept
columns () const noexcept
 Number of columns in result.
 
│ │ │ │ -row_size_type column_number (zview name) const
column_number (zview name) const
 Number of given column (throws exception if it doesn't exist).
 
│ │ │ │ -char const * column_name (row_size_type number) const &
column_name (row_size_type number) const &
 Name of column with this number (throws exception if it doesn't exist)
 
int column_storage (row_size_type number) const
int column_storage (row_size_type number) const
 Server-side storage size for field of column's type, in bytes.
 
int column_type_modifier (row_size_type number) const noexcept
int column_type_modifier (row_size_type number) const noexcept
 Type modifier of the column with this number.
 
│ │ │ │ -oid column_type (row_size_type col_num) const
column_type (row_size_type col_num) const
 Return column's type, as an OID from the system catalogue.
 
│ │ │ │ -oid column_type (zview col_name) const
column_type (zview col_name) const
 Return column's type, as an OID from the system catalogue.
 
│ │ │ │ -oid column_table (row_size_type col_num) const
column_table (row_size_type col_num) const
 What table did this column come from?
 
│ │ │ │ -oid column_table (zview col_name) const
column_table (zview col_name) const
 What table did this column come from?
 
│ │ │ │ -row_size_type table_column (row_size_type col_num) const
table_column (row_size_type col_num) const
 What column in its table did this column come from?
 
│ │ │ │ -row_size_type table_column (zview col_name) const
table_column (zview col_name) const
 What column in its table did this column come from?
 
│ │ │ │ -PQXX_PURE std::string const & query () const &noexcept
query () const &noexcept
 Query that produced this result, if available (empty string otherwise)
 
PQXX_PURE oid inserted_oid () const
PQXX_PURE oid inserted_oid () const
 If command was an INSERT of 1 row, return oid of the inserted row.
 
PQXX_PURE size_type affected_rows () const
PQXX_PURE size_type affected_rows () const
 If command was INSERT, UPDATE, or DELETE: number of affected rows.
 
template<typename CALLABLE >
void for_each (CALLABLE &&func) const
template<typename CALLABLE >
void for_each (CALLABLE &&func) const
 Run func on each row, passing the row's fields as parameters.
 
result expect_rows (size_type n) const
result expect_rows (size_type n) const
 Check that result contains exactly n rows.
 
row one_row () const
row one_row () const
 Check that result contains exactly 1 row, and return that row.
 
std::optional< rowopt_row () const
std::optional< rowopt_row () const
 Expect that result contains at moost one row, and return as optional.
 
│ │ │ │ -result no_rows () const
no_rows () const
 Expect that result contains no rows. Return result for convenience.
 
result expect_columns (row_size_type cols) const
result expect_columns (row_size_type cols) const
 Expect that result consists of exactly cols columns.
 
field one_field () const
field one_field () const
 Expect that result consists of exactly 1 row and 1 column.
 
│ │ │ │

Detailed Description

│ │ │ │

Result set containing data returned by a query or command.

│ │ │ │

This behaves as a container (as defined by the C++ standard library) and provides random access const iterators to iterate over its rows. You can also access a row by indexing a result R by the row's zero-based number:

│ │ │ │ -
for (result::size_type i=0; i < std::size(R); ++i) Process(R[i]);
│ │ │ │ +
for (result::size_type i=0; i < std::size(R); ++i) Process(R[i]);
│ │ │ │ +
Reverse iterator for result. Use as result::const_reverse_iterator.
Definition result_iterator.hxx:196
│ │ │ │

Result sets in libpqxx are lightweight, reference-counted wrapper objects which are relatively small and cheap to copy. Think of a result object as a "smart pointer" to an underlying result set.

│ │ │ │
Warning
The result set that a result object points to is not thread-safe. If you copy a result object, it still refers to the same underlying result set. So never copy, destroy, query, or otherwise access a result while another thread may be copying, destroying, querying, or otherwise accessing the same result set–even if it is doing so through a different result object!
│ │ │ │

Member Function Documentation

│ │ │ │ │ │ │ │

◆ affected_rows()

│ │ │ │ │ │ │ │
│ │ │ │ @@ -343,15 +344,15 @@ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
void pqxx::result::clear void pqxx::result::clear ()
│ │ │ │
│ │ │ │ @@ -369,15 +370,15 @@ │ │ │ │ │ │ │ │

◆ column_storage()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
int pqxx::result::column_storage int pqxx::result::column_storage (row_size_type number) const
│ │ │ │
│ │ │ │ @@ -393,15 +394,15 @@ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -493,23 +494,23 @@ │ │ │ │ │ │ │ │ │ │ │ │

◆ for_each()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -template<typename CALLABLE >
│ │ │ │ +template<typename CALLABLE >
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
int pqxx::result::column_type_modifier int pqxx::result::column_type_modifier (row_size_type number) const
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -519,17 +520,17 @@ │ │ │ │ │ │ │ │

Run func on each row, passing the row's fields as parameters.

│ │ │ │

Goes through the rows from first to last. You provide a callable func.

│ │ │ │

For each row in the result, for_each will call func. It converts the row's fields to the types of func's parameters, and pass them to func.

│ │ │ │

(Therefore func must have a single signature. It can't be a generic lambda, or an object of a class with multiple overloaded function call operators. Otherwise, for_each will have no way to detect a parameter list without ambiguity.)

│ │ │ │

If any of your parameter types is std::string_view, it refers to the underlying storage of this result.

│ │ │ │

If any of your parameter types is a reference type, its argument will refer to a temporary value which only lives for the duration of that single invocation to func. If the reference is an lvalue reference, it must be const.

│ │ │ │ -

For example, this queries employee names and salaries from the database and prints how much each would like to earn instead:

tx.exec("SELECT name, salary FROM employee").for_each(
│ │ │ │ -
[](std::string_view name, float salary){
│ │ │ │ -
std::cout << name << " would like " << salary * 2 << ".\n";
│ │ │ │ +

For example, this queries employee names and salaries from the database and prints how much each would like to earn instead:

tx.exec("SELECT name, salary FROM employee").for_each(
│ │ │ │ +
[](std::string_view name, float salary){
│ │ │ │ +
std::cout << name << " would like " << salary * 2 << ".\n";
│ │ │ │
})
│ │ │ │

If func throws an exception, processing stops at that point and propagates the exception.

│ │ │ │
Exceptions
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
void pqxx::result::for_each void pqxx::result::for_each (CALLABLE && CALLABLE && func) const
│ │ │ │
│ │ │ │ inline
│ │ │ │ │ │ │ │
pqxx::usage_errorif func's number of parameters does not match the number of columns in this result.
│ │ │ │ │ │ │ │ @@ -566,15 +567,15 @@ │ │ │ │
│ │ │ │ template<typename... TYPE>
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
auto pqxx::result::iter auto pqxx::result::iter () const
│ │ │ │
│ │ │ │ @@ -651,15 +652,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -734,15 +735,15 @@ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
result & pqxx::result::operator= (result const & result constrhs)
│ │ │ │
│ │ │ │ defaultnoexcept
│ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -3,198 +3,201 @@ │ │ │ │ │ Loading... │ │ │ │ │ Searching... │ │ │ │ │ No Matches │ │ │ │ │ _P_u_b_l_i_c_ _T_y_p_e_s | _P_u_b_l_i_c_ _M_e_m_b_e_r_ _F_u_n_c_t_i_o_n_s | _L_i_s_t_ _o_f_ _a_l_l_ _m_e_m_b_e_r_s │ │ │ │ │ pqxx::result Class Reference │ │ │ │ │ Result set containing data returned by a query or command. _M_o_r_e_._._. │ │ │ │ │ PPuubblliicc TTyyppeess │ │ │ │ │ -using  ssiizzee__ttyyppee = _r_e_s_u_l_t___s_i_z_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ssiizzee__ttyyppee = _r_e_s_u_l_t___s_i_z_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  ddiiffffeerreennccee__ttyyppee = _r_e_s_u_l_t___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ddiiffffeerreennccee__ttyyppee = _r_e_s_u_l_t___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  rreeffeerreennccee = _r_o_w │ │ │ │ │ +_u_s_i_n_g  rreeffeerreennccee = _r_o_w │ │ │ │ │   │ │ │ │ │ -using  ccoonnsstt__iitteerraattoorr = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ccoonnsstt__iitteerraattoorr = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  ppooiinntteerr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ppooiinntteerr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  iitteerraattoorr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  iitteerraattoorr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  ccoonnsstt__rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ccoonnsstt__rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ PPuubblliicc MMeemmbbeerr FFuunnccttiioonnss │ │ │ │ │ -   rreessuulltt (_r_e_s_u_l_t const &rhs) noexcept=default │ │ │ │ │ +   rreessuulltt (_r_e_s_u_l_t _c_o_n_s_t &_r_h_s) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ -   rreessuulltt (_r_e_s_u_l_t &&rhs) noexcept=default │ │ │ │ │ +   rreessuulltt (_r_e_s_u_l_t &&_r_h_s) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ - _r_e_s_u_l_t &  _o_p_e_r_a_t_o_r_= (_r_e_s_u_l_t const &rhs) noexcept=default │ │ │ │ │ + _r_e_s_u_l_t &  _o_p_e_r_a_t_o_r_= (_r_e_s_u_l_t _c_o_n_s_t &_r_h_s) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   Assign one result to another. │ │ │ │ │   │ │ │ │ │ - _r_e_s_u_l_t &  ooppeerraattoorr== (_r_e_s_u_l_t &&rhs) noexcept=default │ │ │ │ │ + _r_e_s_u_l_t &  ooppeerraattoorr== (_r_e_s_u_l_t &&_r_h_s) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   Assign one result to another, invaliding the old one. │ │ │ │ │   │ │ │ │ │ Comparisons │ │ │ │ │ You can compare results for equality. Beware: this is a very strict, dumb │ │ │ │ │ comparison. The smallest difference between two results (such as a string "Foo" │ │ │ │ │ versus a string "foo") will make them unequal. │ │ │ │ │ - bool  ooppeerraattoorr==== (_r_e_s_u_l_t const &) const noexcept │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr==== (_r_e_s_u_l_t _c_o_n_s_t &) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Compare two results for equality. │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr!!== (_r_e_s_u_l_t const &rhs) const noexcept │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr!!== (_r_e_s_u_l_t _c_o_n_s_t &_r_h_s) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Compare two results for inequality. │ │ │ │ │   │ │ │ │ │ template │ │ │ │ │ - auto  _i_t_e_r () const │ │ │ │ │ + _a_u_t_o  _i_t_e_r () _c_o_n_s_t │ │ │ │ │   Iterate rows, reading them directly into a tuple of │ │ │ │ │ "TYPE...". │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  rrbbeeggiinn () const │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  rrbbeeggiinn () _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  ccrrbbeeggiinn () const │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  ccrrbbeeggiinn () _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  rreenndd () const │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  rreenndd () _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ -_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  ccrreenndd () const │ │ │ │ │ +_c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r  ccrreenndd () _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  bbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  bbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  ccbbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  ccbbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  eenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  eenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  cceenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  cceenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ffrroonntt () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ffrroonntt () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  bbaacckk () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  bbaacckk () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - PQXX_PURE size_type  ssiizzee () const noexcept │ │ │ │ │ + PQXX_PURE size_type  ssiizzee () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - PQXX_PURE bool  eemmppttyy () const noexcept │ │ │ │ │ + PQXX_PURE _b_o_o_l  eemmppttyy () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - size_type  ccaappaacciittyy () const noexcept │ │ │ │ │ + size_type  ccaappaacciittyy () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - void  _s_w_a_p (_r_e_s_u_l_t &) noexcept │ │ │ │ │ + _v_o_i_d  _s_w_a_p (_r_e_s_u_l_t &) _n_o_e_x_c_e_p_t │ │ │ │ │   Exchange two result values in an exception-safe manner. │ │ │ │ │   │ │ │ │ │ - _r_o_w  _o_p_e_r_a_t_o_r_[_] (size_type i) const noexcept │ │ │ │ │ + _r_o_w  _o_p_e_r_a_t_o_r_[_] (size_type _i) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Index a row by number. │ │ │ │ │   │ │ │ │ │ - _r_o_w  aatt (size_type) const │ │ │ │ │ + _r_o_w  aatt (size_type) _c_o_n_s_t │ │ │ │ │   Index a row by number, but check that the row number is │ │ │ │ │ valid. │ │ │ │ │   │ │ │ │ │ - _f_i_e_l_d  aatt (size_type, _r_o_w___s_i_z_e___t_y_p_e) const │ │ │ │ │ + _f_i_e_l_d  aatt (size_type, _r_o_w___s_i_z_e___t_y_p_e) _c_o_n_s_t │ │ │ │ │   Index a field by row number and column number. │ │ │ │ │   │ │ │ │ │ - void  _c_l_e_a_r () noexcept │ │ │ │ │ + _v_o_i_d  _c_l_e_a_r () _n_o_e_x_c_e_p_t │ │ │ │ │   Let go of the result's data. │ │ │ │ │   │ │ │ │ │ ********** CCoolluummnn iinnffoorrmmaattiioonn ********** │ │ │ │ │ - class  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ppiippeelliinnee │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ppiippeelliinnee │ │ │ │ │   │ │ │ │ │ - class  ppqqxxxx::::ffiieelldd │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::ffiieelldd │ │ │ │ │   │ │ │ │ │ - class  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ccrreeaattiioonn │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ccrreeaattiioonn │ │ │ │ │   │ │ │ │ │ - class  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ccoonnnneeccttiioonn │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ccoonnnneeccttiioonn │ │ │ │ │   │ │ │ │ │ - class  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__rrooww │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__rrooww │ │ │ │ │   │ │ │ │ │ - class  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ssqqll__ccuurrssoorr │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::iinntteerrnnaall::::ggaattee::::rreessuulltt__ssqqll__ccuurrssoorr │ │ │ │ │   │ │ │ │ │ - PQXX_PURE _r_o_w___s_i_z_e___t_y_p_e  ccoolluummnnss () const noexcept │ │ │ │ │ + PQXX_PURE _r_o_w___s_i_z_e___t_y_p_e  ccoolluummnnss () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Number of columns in result. │ │ │ │ │   │ │ │ │ │ - _r_o_w___s_i_z_e___t_y_p_e  ccoolluummnn__nnuummbbeerr (_z_v_i_e_w name) const │ │ │ │ │ + _r_o_w___s_i_z_e___t_y_p_e  ccoolluummnn__nnuummbbeerr (_z_v_i_e_w name) _c_o_n_s_t │ │ │ │ │   Number of given column (throws exception if it │ │ │ │ │ doesn't exist). │ │ │ │ │   │ │ │ │ │ - char const *  ccoolluummnn__nnaammee (_r_o_w___s_i_z_e___t_y_p_e number) const & │ │ │ │ │ + _c_h_a_r _c_o_n_s_t *  ccoolluummnn__nnaammee (_r_o_w___s_i_z_e___t_y_p_e _n_u_m_b_e_r) _c_o_n_s_t & │ │ │ │ │   Name of column with this number (throws │ │ │ │ │ exception if it doesn't exist) │ │ │ │ │   │ │ │ │ │ - int  _c_o_l_u_m_n___s_t_o_r_a_g_e (_r_o_w___s_i_z_e___t_y_p_e number) const │ │ │ │ │ + _i_n_t  _c_o_l_u_m_n___s_t_o_r_a_g_e (_r_o_w___s_i_z_e___t_y_p_e _n_u_m_b_e_r) _c_o_n_s_t │ │ │ │ │   Server-side storage size for field of column's │ │ │ │ │ type, in bytes. │ │ │ │ │   │ │ │ │ │ - int  _c_o_l_u_m_n___t_y_p_e___m_o_d_i_f_i_e_r (_r_o_w___s_i_z_e___t_y_p_e number) │ │ │ │ │ - const noexcept │ │ │ │ │ + _i_n_t  _c_o_l_u_m_n___t_y_p_e___m_o_d_i_f_i_e_r (_r_o_w___s_i_z_e___t_y_p_e _n_u_m_b_e_r) │ │ │ │ │ + _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Type modifier of the column with this number. │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttyyppee (_r_o_w___s_i_z_e___t_y_p_e col_num) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttyyppee (_r_o_w___s_i_z_e___t_y_p_e _c_o_l___n_u_m) _c_o_n_s_t │ │ │ │ │   Return column's type, as an OID from the system │ │ │ │ │ catalogue. │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttyyppee (_z_v_i_e_w col_name) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttyyppee (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   Return column's type, as an OID from the system │ │ │ │ │ catalogue. │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttaabbllee (_r_o_w___s_i_z_e___t_y_p_e col_num) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttaabbllee (_r_o_w___s_i_z_e___t_y_p_e _c_o_l___n_u_m) _c_o_n_s_t │ │ │ │ │   What table did this column come from? │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttaabbllee (_z_v_i_e_w col_name) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttaabbllee (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   What table did this column come from? │ │ │ │ │   │ │ │ │ │ - _r_o_w___s_i_z_e___t_y_p_e  ttaabbllee__ccoolluummnn (_r_o_w___s_i_z_e___t_y_p_e col_num) const │ │ │ │ │ + _r_o_w___s_i_z_e___t_y_p_e  ttaabbllee__ccoolluummnn (_r_o_w___s_i_z_e___t_y_p_e _c_o_l___n_u_m) _c_o_n_s_t │ │ │ │ │   What column in its table did this column come │ │ │ │ │ from? │ │ │ │ │   │ │ │ │ │ - _r_o_w___s_i_z_e___t_y_p_e  ttaabbllee__ccoolluummnn (_z_v_i_e_w col_name) const │ │ │ │ │ + _r_o_w___s_i_z_e___t_y_p_e  ttaabbllee__ccoolluummnn (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   What column in its table did this column come │ │ │ │ │ from? │ │ │ │ │   │ │ │ │ │ -PQXX_PURE std::string const &  qquueerryy () const &noexcept │ │ │ │ │ +PQXX_PURE std::string _c_o_n_s_t &  qquueerryy () _c_o_n_s_t &_n_o_e_x_c_e_p_t │ │ │ │ │   Query that produced this result, if available │ │ │ │ │ (empty string otherwise) │ │ │ │ │   │ │ │ │ │ - PQXX_PURE _o_i_d  _i_n_s_e_r_t_e_d___o_i_d () const │ │ │ │ │ + PQXX_PURE _o_i_d  _i_n_s_e_r_t_e_d___o_i_d () _c_o_n_s_t │ │ │ │ │   If command was an INSERT of 1 row, return oid of │ │ │ │ │ the inserted row. │ │ │ │ │   │ │ │ │ │ - PQXX_PURE size_type  _a_f_f_e_c_t_e_d___r_o_w_s () const │ │ │ │ │ + PQXX_PURE size_type  _a_f_f_e_c_t_e_d___r_o_w_s () _c_o_n_s_t │ │ │ │ │   If command was INSERT, UPDATE, or DELETE: number │ │ │ │ │ of affected rows. │ │ │ │ │   │ │ │ │ │ -template │ │ │ │ │ - void  _f_o_r___e_a_c_h (CALLABLE &&func) const │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _C_A_L_L_A_B_L_E > │ │ │ │ │ + _v_o_i_d  _f_o_r___e_a_c_h (_C_A_L_L_A_B_L_E &&_f_u_n_c) _c_o_n_s_t │ │ │ │ │   Run func on each row, passing the row's fields │ │ │ │ │ as parameters. │ │ │ │ │   │ │ │ │ │ - _r_e_s_u_l_t  _e_x_p_e_c_t___r_o_w_s (size_type n) const │ │ │ │ │ + _r_e_s_u_l_t  _e_x_p_e_c_t___r_o_w_s (size_type _n) _c_o_n_s_t │ │ │ │ │   Check that result contains exactly n rows. │ │ │ │ │   │ │ │ │ │ - _r_o_w  _o_n_e___r_o_w () const │ │ │ │ │ + _r_o_w  _o_n_e___r_o_w () _c_o_n_s_t │ │ │ │ │   Check that result contains exactly 1 row, and │ │ │ │ │ return that row. │ │ │ │ │   │ │ │ │ │ - std::optional< _r_o_w >  _o_p_t___r_o_w () const │ │ │ │ │ + std::optional< _r_o_w >  _o_p_t___r_o_w () _c_o_n_s_t │ │ │ │ │   Expect that result contains at moost one row, │ │ │ │ │ and return as optional. │ │ │ │ │   │ │ │ │ │ - _r_e_s_u_l_t  nnoo__rroowwss () const │ │ │ │ │ + _r_e_s_u_l_t  nnoo__rroowwss () _c_o_n_s_t │ │ │ │ │   Expect that result contains no rows. Return │ │ │ │ │ result for convenience. │ │ │ │ │   │ │ │ │ │ - _r_e_s_u_l_t  _e_x_p_e_c_t___c_o_l_u_m_n_s (_r_o_w___s_i_z_e___t_y_p_e cols) const │ │ │ │ │ + _r_e_s_u_l_t  _e_x_p_e_c_t___c_o_l_u_m_n_s (_r_o_w___s_i_z_e___t_y_p_e _c_o_l_s) _c_o_n_s_t │ │ │ │ │   Expect that result consists of exactly cols │ │ │ │ │ columns. │ │ │ │ │   │ │ │ │ │ - _f_i_e_l_d  _o_n_e___f_i_e_l_d () const │ │ │ │ │ + _f_i_e_l_d  _o_n_e___f_i_e_l_d () _c_o_n_s_t │ │ │ │ │   Expect that result consists of exactly 1 row and │ │ │ │ │ 1 column. │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ Result set containing data returned by a query or command. │ │ │ │ │ This behaves as a container (as defined by the C++ standard library) and │ │ │ │ │ provides random access const iterators to iterate over its rows. You can also │ │ │ │ │ access a row by indexing a result R by the row's zero-based number: │ │ │ │ │ -for (result::size_type i=0; i < std::size(R); ++i) Process(R[i]); │ │ │ │ │ +for (result::size_type _i=0; _i < std::size(_R); ++_i) _P_r_o_c_e_s_s(_R[_i]); │ │ │ │ │ +_p_q_x_x_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ +Reverse iterator for result. Use as result::const_reverse_iterator. │ │ │ │ │ +DDeeffiinniittiioonn result_iterator.hxx:196 │ │ │ │ │ Result sets in libpqxx are lightweight, reference-counted wrapper objects which │ │ │ │ │ are relatively small and cheap to copy. Think of a result object as a "smart │ │ │ │ │ pointer" to an underlying result set. │ │ │ │ │ Warning │ │ │ │ │ The result set that a result object points to is not thread-safe. If you │ │ │ │ │ copy a result object, it still refers to the same underlying result set. │ │ │ │ │ So never copy, destroy, query, or otherwise access a result while another │ │ │ │ │ @@ -204,29 +207,29 @@ │ │ │ │ │ ********** _?◆_? aaffffeecctteedd__rroowwss(()) ********** │ │ │ │ │ pqxx::result::size_type pqxx::result::affected_rows ( ) const │ │ │ │ │ If command was INSERT, UPDATE, or DELETE: number of affected rows. │ │ │ │ │ Returns │ │ │ │ │ Number of affected rows if last command was INSERT, UPDATE, or DELETE; │ │ │ │ │ zero for all other commands. │ │ │ │ │ ********** _?◆_? cclleeaarr(()) ********** │ │ │ │ │ -void pqxx::result:: ( ) inlinenoexcept │ │ │ │ │ +_v_o_i_d pqxx::result:: ( ) inlinenoexcept │ │ │ │ │ clear │ │ │ │ │ Let go of the result's data. │ │ │ │ │ Use this if you need to deallocate the result data earlier than you can destroy │ │ │ │ │ the result object itself. │ │ │ │ │ Multiple result objects can refer to the same set of underlying data. The │ │ │ │ │ underlying data will be deallocated once all result objects that refer to it │ │ │ │ │ are cleared or destroyed. │ │ │ │ │ ********** _?◆_? ccoolluummnn__ssttoorraaggee(()) ********** │ │ │ │ │ -int pqxx::result::column_storage ( _r_o_w___s_i_z_e___t_y_p_e  nnuummbbeerr ) const │ │ │ │ │ +_i_n_t pqxx::result::column_storage ( _r_o_w___s_i_z_e___t_y_p_e  nnuummbbeerr ) const │ │ │ │ │ Server-side storage size for field of column's type, in bytes. │ │ │ │ │ Returns the size of the server's internal representation of the column's data │ │ │ │ │ type. A negative value indicates the data type is variable-length. │ │ │ │ │ ********** _?◆_? ccoolluummnn__ttyyppee__mmooddiiffiieerr(()) ********** │ │ │ │ │ -int pqxx::result::column_type_modifier ( _r_o_w___s_i_z_e___t_y_p_e  nnuummbbeerr ) const noexcept │ │ │ │ │ +_i_n_t pqxx::result::column_type_modifier ( _r_o_w___s_i_z_e___t_y_p_e  nnuummbbeerr ) const noexcept │ │ │ │ │ Type modifier of the column with this number. │ │ │ │ │ The meaning of modifier values is type-specific; they typically indicate │ │ │ │ │ precision or size limits. │ │ │ │ │ UUssee tthhiiss oonnllyy iiff yyoouu kknnooww wwhhaatt yyoouu''rree ddooiinngg.. Most applications do not need it, │ │ │ │ │ and most types do not use modifiers. │ │ │ │ │ The value -1 indicates "no information available." │ │ │ │ │ Warning │ │ │ │ │ @@ -242,16 +245,16 @@ │ │ │ │ │ _r_e_s_u_l_t pqxx::result::expect_rows ( size_type  nn ) const inline │ │ │ │ │ Check that result contains exactly n rows. │ │ │ │ │ Returns │ │ │ │ │ The result itself, for convenience. │ │ │ │ │ Exceptions │ │ │ │ │ ref _u_n_e_x_p_e_c_t_e_d___r_o_w_s if the actual count is not equal to n. │ │ │ │ │ ********** _?◆_? ffoorr__eeaacchh(()) ********** │ │ │ │ │ -template │ │ │ │ │ -void pqxx::result::for_each ( CALLABLE &&  ffuunncc ) const inline │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _C_A_L_L_A_B_L_E > │ │ │ │ │ +_v_o_i_d pqxx::result::for_each ( _C_A_L_L_A_B_L_E &&  ffuunncc ) const inline │ │ │ │ │ Run func on each row, passing the row's fields as parameters. │ │ │ │ │ Goes through the rows from first to last. You provide a callable func. │ │ │ │ │ For each row in the result, for_each will call func. It converts the row's │ │ │ │ │ fields to the types of func's parameters, and pass them to func. │ │ │ │ │ (Therefore func must have a ssiinnggllee signature. It can't be a generic lambda, or │ │ │ │ │ an object of a class with multiple overloaded function call operators. │ │ │ │ │ Otherwise, for_each will have no way to detect a parameter list without │ │ │ │ │ @@ -259,17 +262,17 @@ │ │ │ │ │ If any of your parameter types is std::string_view, it refers to the underlying │ │ │ │ │ storage of this result. │ │ │ │ │ If any of your parameter types is a reference type, its argument will refer to │ │ │ │ │ a temporary value which only lives for the duration of that single invocation │ │ │ │ │ to func. If the reference is an lvalue reference, it must be const. │ │ │ │ │ For example, this queries employee names and salaries from the database and │ │ │ │ │ prints how much each would like to earn instead: │ │ │ │ │ -tx.exec("SELECT name, salary FROM employee").for_each( │ │ │ │ │ -[](std::string_view name, float salary){ │ │ │ │ │ -std::cout << name << " would like " << salary * 2 << ".\n"; │ │ │ │ │ +_t_x.exec("SELECT name, salary FROM employee").for_each( │ │ │ │ │ +[](std::string_view name, float _s_a_l_a_r_y){ │ │ │ │ │ +std::cout << name << " would like " << _s_a_l_a_r_y * 2 << ".\n"; │ │ │ │ │ }) │ │ │ │ │ If func throws an exception, processing stops at that point and propagates the │ │ │ │ │ exception. │ │ │ │ │ Exceptions │ │ │ │ │ _p_q_x_x_:_:_u_s_a_g_e___e_r_r_o_r if func's number of parameters does not match the │ │ │ │ │ number of columns in this result. │ │ │ │ │ The parameter types must have conversions from PostgreSQL's string format │ │ │ │ │ @@ -278,15 +281,15 @@ │ │ │ │ │ _p_q_x_x_:_:_o_i_d pqxx::result::inserted_oid ( ) const │ │ │ │ │ If command was an INSERT of 1 row, return oid of the inserted row. │ │ │ │ │ Returns │ │ │ │ │ Identifier of inserted row if exactly one row was inserted, or _o_i_d___n_o_n_e │ │ │ │ │ otherwise. │ │ │ │ │ ********** _?◆_? iitteerr(()) ********** │ │ │ │ │ template │ │ │ │ │ -auto pqxx::result::iter ( ) const inline │ │ │ │ │ +_a_u_t_o pqxx::result::iter ( ) const inline │ │ │ │ │ Iterate rows, reading them directly into a tuple of "TYPE...". │ │ │ │ │ Converts the fields to values of the given respective types. │ │ │ │ │ Use this only with a ranged "for" loop. The iteration produces std:: │ │ │ │ │ tuple which you can "unpack" to a series of auto variables. │ │ │ │ │ ********** _?◆_? oonnee__ffiieelldd(()) ********** │ │ │ │ │ _p_q_x_x_:_:_f_i_e_l_d pqxx::result::one_field ( ) const │ │ │ │ │ Expect that result consists of exactly 1 row and 1 column. │ │ │ │ │ @@ -298,15 +301,15 @@ │ │ │ │ │ _p_q_x_x_:_:_r_o_w pqxx::result::one_row ( ) const │ │ │ │ │ Check that result contains exactly 1 row, and return that row. │ │ │ │ │ Returns │ │ │ │ │ _p_q_x_x_:_:_r_o_w │ │ │ │ │ Exceptions │ │ │ │ │ ref _u_n_e_x_p_e_c_t_e_d___r_o_w_s if the actual count is not equal to n. │ │ │ │ │ ********** _?◆_? ooppeerraattoorr==(()) ********** │ │ │ │ │ -_r_e_s_u_l_t & pqxx::result:: ( _r_e_s_u_l_t const &  rrhhss ) defaultnoexcept │ │ │ │ │ +_r_e_s_u_l_t & pqxx::result:: ( _r_e_s_u_l_t _c_o_n_s_t &  rrhhss ) defaultnoexcept │ │ │ │ │ operator= │ │ │ │ │ Assign one result to another. │ │ │ │ │ Copying results is cheap: it copies only smart pointers, but the actual data │ │ │ │ │ stays in the same place. │ │ │ │ │ ********** _?◆_? ooppeerraattoorr[[]](()) ********** │ │ │ │ │ _p_q_x_x_:_:_r_o_w pqxx::result::operator[] ( size_type  ii ) const noexcept │ │ │ │ │ Index a row by number. │ │ │ │ │ @@ -316,15 +319,15 @@ │ │ │ │ │ std::optional< _p_q_x_x_:_:_r_o_w > pqxx::result::opt_row ( ) const │ │ │ │ │ Expect that result contains at moost one row, and return as optional. │ │ │ │ │ Returns an empty std::optional if the result is empty, or if it has exactly one │ │ │ │ │ row, a std::optional containing the row. │ │ │ │ │ Exceptions │ │ │ │ │ ref _u_n_e_x_p_e_c_t_e_d___r_o_w_s is the row count is not 0 or 1. │ │ │ │ │ ********** _?◆_? sswwaapp(()) ********** │ │ │ │ │ -void pqxx::result:: ( _r_e_s_u_l_t &  rrhhss ) noexcept │ │ │ │ │ +_v_o_i_d pqxx::result:: ( _r_e_s_u_l_t &  rrhhss ) noexcept │ │ │ │ │ swap │ │ │ │ │ Exchange two result values in an exception-safe manner. │ │ │ │ │ If the swap fails, the two values will be exactly as they were before. │ │ │ │ │ The swap is not necessarily thread-safe. │ │ │ │ │ =============================================================================== │ │ │ │ │ The documentation for this class was generated from the following files: │ │ │ │ │ * /build/reproducible-path/libpqxx-7.10.0/include/pqxx/_r_e_s_u_l_t_._h_x_x │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html │ │ │ │ @@ -126,121 +126,121 @@ │ │ │ │ │ │ │ │ │ │ │ │
[legend]
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
void pqxx::result::swap void pqxx::result::swap (resultrhs)
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │ │ │ │ │ +using  │ │ │ │ │ │ │ │

│ │ │ │ Public Types

│ │ │ │ -using size_type = row_size_type
size_type = row_size_type
 
│ │ │ │ -using difference_type = row_difference_type
difference_type = row_difference_type
 
│ │ │ │ -using const_iterator = const_row_iterator
const_iterator = const_row_iterator
 
│ │ │ │ -using iterator = const_iterator
iterator = const_iterator
 
│ │ │ │ -using reference = field
reference = field
 
│ │ │ │ -using pointer = const_row_iterator
pointer = const_row_iterator
 
│ │ │ │ -using const_reverse_iterator = const_reverse_row_iterator
const_reverse_iterator = const_reverse_row_iterator
 
│ │ │ │ -using reverse_iterator = const_reverse_iterator
reverse_iterator = const_reverse_iterator
 
│ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ +  │ │ │ │ │ │ │ │ │ │ │ │ +row &  │ │ │ │ │ │ │ │ │ │ │ │ +row &  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE bool  │ │ │ │ │ │ │ │ │ │ │ │ +bool  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_iterator  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +const_reverse_row_iterator  │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +reference  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +constexpr size_type  │ │ │ │ │ │ │ │ │ │ │ │ +constexpr result::size_type  │ │ │ │ │ │ │ │ │ │ │ │

│ │ │ │ Public Member Functions

│ │ │ │ - row (row &&) noexcept=default
row (row &&) noexcept=default
 
│ │ │ │ - row (row const &) noexcept=default
row (row const &) noexcept=default
 
│ │ │ │ -rowoperator= (row const &) noexcept=default
operator= (row const &) noexcept=default
 
│ │ │ │ -rowoperator= (row &&) noexcept=default
operator= (row &&) noexcept=default
 
Comparison
│ │ │ │ -PQXX_PURE bool operator== (row const &) const noexcept
operator== (row const &) const noexcept
 
│ │ │ │ -bool operator!= (row const &rhs) const noexcept
operator!= (row const &rhs) const noexcept
 
│ │ │ │ -const_iterator begin () const noexcept
begin () const noexcept
 
│ │ │ │ -const_iterator cbegin () const noexcept
cbegin () const noexcept
 
│ │ │ │ -const_iterator end () const noexcept
end () const noexcept
 
│ │ │ │ -const_iterator cend () const noexcept
cend () const noexcept
 
Field access
│ │ │ │ -reference front () const noexcept
front () const noexcept
 
│ │ │ │ -reference back () const noexcept
back () const noexcept
 
│ │ │ │ -const_reverse_row_iterator rbegin () const noexcept
rbegin () const noexcept
 
│ │ │ │ -const_reverse_row_iterator crbegin () const noexcept
crbegin () const noexcept
 
│ │ │ │ -const_reverse_row_iterator rend () const noexcept
rend () const noexcept
 
│ │ │ │ -const_reverse_row_iterator crend () const noexcept
crend () const noexcept
 
│ │ │ │ -reference operator[] (size_type) const noexcept
operator[] (size_type) const noexcept
 
reference operator[] (zview col_name) const
reference operator[] (zview col_name) const
 
│ │ │ │ -reference at (size_type) const
at (size_type) const
 
reference at (zview col_name) const
reference at (zview col_name) const
 
│ │ │ │ -constexpr size_type size () const noexcept
size () const noexcept
 
│ │ │ │ -constexpr result::size_type rownumber () const noexcept
rownumber () const noexcept
 Row number, assuming this is a real row and not end()/rend().
 
│ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +class  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ @@ -250,80 +250,81 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +oid  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +size_type  │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +constexpr result::size_type  │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +void  │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +PQXX_PURE bool  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ +void  │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ +template<typenameTuple > │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │

Column information

│ │ │ │ -class const_row_iterator
const_row_iterator
 
│ │ │ │ -class result
result
 
│ │ │ │ template<typename... T>
class pqxx::internal::result_iter
class pqxx::internal::result_iter
 
│ │ │ │ -class field
field
 
│ │ │ │ result m_result
 Result set of which this is one row.
 
result::size_type m_index = 0
 Row number.
 First column in slice. This row ignores lower-numbered columns.
 
│ │ │ │ size_type m_end = 0
 End column in slice. This row only sees lower-numbered columns.
 
│ │ │ │ -size_type column_number (zview col_name) const
column_number (zview col_name) const
 Number of given column (throws exception if it doesn't exist).
 
│ │ │ │ -oid column_type (size_type) const
column_type (size_type) const
 Return a column's type.
 
│ │ │ │ -oid column_type (zview col_name) const
column_type (zview col_name) const
 Return a column's type.
 
│ │ │ │ -oid column_table (size_type col_num) const
column_table (size_type col_num) const
 What table did this column come from?
 
│ │ │ │ -oid column_table (zview col_name) const
column_table (zview col_name) const
 What table did this column come from?
 
size_type table_column (size_type) const
size_type table_column (size_type) const
 What column number in its table did this result column come from?
 
│ │ │ │ -size_type table_column (zview col_name) const
table_column (zview col_name) const
 What column number in its table did this result column come from?
 
│ │ │ │ -constexpr result::size_type num () const noexcept
num () const noexcept
 
template<typename Tuple >
void to (Tuple &t) const
template<typename Tuple >
void to (Tuple &t) const
 Extract entire row's values into a tuple.
 
template<typename... TYPE>
std::tuple< TYPE... > as () const
std::tuple< TYPE... > as () const
 Extract entire row's values into a tuple.
 
│ │ │ │ -void swap (row &) noexcept
swap (row &) noexcept
 
row slice (size_type sbegin, size_type send) const
row slice (size_type sbegin, size_type send) const
 
│ │ │ │ -PQXX_PURE bool empty () const noexcept
empty () const noexcept
 Is this a row without fields? Can only happen to a slice.
 
 row (result r, result_size_type index, size_type cols) noexcept
 row (result r, result_size_type index, size_type cols) noexcept
 
│ │ │ │ -void check_size (size_type expected) const
check_size (size_type expected) const
 Throw usage_error if row size is not expected.
 
template<typename TUPLE >
TUPLE as_tuple () const
template<typename TUPLE >
TUPLE as_tuple () const
 Convert to a given tuple of values, don't check sizes.
 
│ │ │ │ -template<typename Tuple >
void convert (Tuple &t) const
void convert (Tuple &t) const
 Convert entire row to tuple fields, without checking row size.
 
│ │ │ │

Detailed Description

│ │ │ │

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):

│ │ │ │ -
cout << row["date"].c_str() << ": " << row["name"].c_str() << endl;
│ │ │ │ +
cout << row["date"].c_str() << ": " << row["name"].c_str() << endl;
│ │ │ │ +
Reverse iterator for a row. Use as row::const_reverse_iterator.
Definition row.hxx:411
│ │ │ │
Reference to one row in a result.
Definition row.hxx:47
│ │ │ │

The row itself acts like a (non-modifyable) container, complete with its own const_iterator and const_reverse_iterator.

│ │ │ │

Constructor & Destructor Documentation

│ │ │ │ │ │ │ │

◆ row()

│ │ │ │ │ │ │ │
│ │ │ │ @@ -409,21 +410,21 @@ │ │ │ │
│ │ │ │ │ │ │ │

◆ as_tuple()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -template<typename TUPLE >
│ │ │ │ +template<typename TUPLE >
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
TUPLE pqxx::row::as_tuple TUPLE pqxx::row::as_tuple () const
│ │ │ │
│ │ │ │ @@ -497,15 +498,15 @@ │ │ │ │ ) const
│ │ │ │
│ │ │ │

Produce a slice of this row, containing the given range of columns.

│ │ │ │ -
Deprecated:
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
│ │ │ │ +
Deprecated:
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
│ │ │ │

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.

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ table_column()

│ │ │ │ │ │ │ │ @@ -536,23 +537,23 @@ │ │ │ │ │ │ │ │ │ │ │ │

◆ to()

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ -template<typename Tuple >
│ │ │ │ +template<typename Tuple >
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -9,88 +9,88 @@ │ │ │ │ │ [+]Inheritance diagram for pqxx::row: │ │ │ │ │ [Inheritance graph] │ │ │ │ │ [_l_e_g_e_n_d] │ │ │ │ │ [+]Collaboration diagram for pqxx::row: │ │ │ │ │ [Collaboration graph] │ │ │ │ │ [_l_e_g_e_n_d] │ │ │ │ │ PPuubblliicc TTyyppeess │ │ │ │ │ -using  ssiizzee__ttyyppee = _r_o_w___s_i_z_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ssiizzee__ttyyppee = _r_o_w___s_i_z_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  ddiiffffeerreennccee__ttyyppee = _r_o_w___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │ +_u_s_i_n_g  ddiiffffeerreennccee__ttyyppee = _r_o_w___d_i_f_f_e_r_e_n_c_e___t_y_p_e │ │ │ │ │   │ │ │ │ │ -using  ccoonnsstt__iitteerraattoorr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ccoonnsstt__iitteerraattoorr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  iitteerraattoorr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  iitteerraattoorr = _c_o_n_s_t___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  rreeffeerreennccee = _f_i_e_l_d │ │ │ │ │ +_u_s_i_n_g  rreeffeerreennccee = _f_i_e_l_d │ │ │ │ │   │ │ │ │ │ -using  ppooiinntteerr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ppooiinntteerr = _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  ccoonnsstt__rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  ccoonnsstt__rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ -using  rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r │ │ │ │ │ +_u_s_i_n_g  rreevveerrssee__iitteerraattoorr = _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r │ │ │ │ │   │ │ │ │ │ PPuubblliicc MMeemmbbeerr FFuunnccttiioonnss │ │ │ │ │ -   rrooww (_r_o_w &&) noexcept=default │ │ │ │ │ +   rrooww (_r_o_w &&) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ -   rrooww (_r_o_w const &) noexcept=default │ │ │ │ │ +   rrooww (_r_o_w _c_o_n_s_t &) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ - _r_o_w &  ooppeerraattoorr== (_r_o_w const &) noexcept=default │ │ │ │ │ + _r_o_w &  ooppeerraattoorr== (_r_o_w _c_o_n_s_t &) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ - _r_o_w &  ooppeerraattoorr== (_r_o_w &&) noexcept=default │ │ │ │ │ + _r_o_w &  ooppeerraattoorr== (_r_o_w &&) _n_o_e_x_c_e_p_t=_d_e_f_a_u_l_t │ │ │ │ │   │ │ │ │ │ Comparison │ │ │ │ │ - PQXX_PURE bool  ooppeerraattoorr==== (_r_o_w const &) const noexcept │ │ │ │ │ + PQXX_PURE _b_o_o_l  ooppeerraattoorr==== (_r_o_w _c_o_n_s_t &) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - bool  ooppeerraattoorr!!== (_r_o_w const &rhs) const noexcept │ │ │ │ │ + _b_o_o_l  ooppeerraattoorr!!== (_r_o_w _c_o_n_s_t &_r_h_s) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  bbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  bbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  ccbbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  ccbbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  eenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  eenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___i_t_e_r_a_t_o_r  cceenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___i_t_e_r_a_t_o_r  cceenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ Field access │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ffrroonntt () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ffrroonntt () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  bbaacckk () const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  bbaacckk () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rrbbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rrbbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrrbbeeggiinn () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrrbbeeggiinn () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rreenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  rreenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrreenndd () const noexcept │ │ │ │ │ + _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r  ccrreenndd () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  ooppeerraattoorr[[]] (size_type) const noexcept │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  ooppeerraattoorr[[]] (size_type) _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  _o_p_e_r_a_t_o_r_[_] (_z_v_i_e_w col_name) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  _o_p_e_r_a_t_o_r_[_] (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  aatt (size_type) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  aatt (size_type) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w col_name) const │ │ │ │ │ + _r_e_f_e_r_e_n_c_e  _a_t (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - constexpr size_type  ssiizzee () const noexcept │ │ │ │ │ + _c_o_n_s_t_e_x_p_r size_type  ssiizzee () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ -constexpr result::size_type  rroowwnnuummbbeerr () const noexcept │ │ │ │ │ +_c_o_n_s_t_e_x_p_r result::size_type  rroowwnnuummbbeerr () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Row number, assuming this is a real row and not │ │ │ │ │ end()/rend(). │ │ │ │ │   │ │ │ │ │ ********** CCoolluummnn iinnffoorrmmaattiioonn ********** │ │ │ │ │ - class  ccoonnsstt__rrooww__iitteerraattoorr │ │ │ │ │ + _c_l_a_s_s  ccoonnsstt__rrooww__iitteerraattoorr │ │ │ │ │   │ │ │ │ │ - class  rreessuulltt │ │ │ │ │ + _c_l_a_s_s  rreessuulltt │ │ │ │ │   │ │ │ │ │ template │ │ │ │ │ - class  ppqqxxxx::::iinntteerrnnaall::::rreessuulltt__iitteerr │ │ │ │ │ + _c_l_a_s_s  ppqqxxxx::::iinntteerrnnaall::::rreessuulltt__iitteerr │ │ │ │ │   │ │ │ │ │ - class  ffiieelldd │ │ │ │ │ + _c_l_a_s_s  ffiieelldd │ │ │ │ │   │ │ │ │ │ _r_e_s_u_l_t  mm__rreessuulltt │ │ │ │ │   Result set of which this is one row. │ │ │ │ │   │ │ │ │ │ result::size_type  _m___i_n_d_e_x = 0 │ │ │ │ │   Row number. │ │ │ │ │   │ │ │ │ │ @@ -98,78 +98,81 @@ │ │ │ │ │   First column in slice. This row ignores lower- │ │ │ │ │ numbered columns. │ │ │ │ │   │ │ │ │ │ size_type  mm__eenndd = 0 │ │ │ │ │   End column in slice. This row only sees lower- │ │ │ │ │ numbered columns. │ │ │ │ │   │ │ │ │ │ - size_type  ccoolluummnn__nnuummbbeerr (_z_v_i_e_w col_name) const │ │ │ │ │ + size_type  ccoolluummnn__nnuummbbeerr (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   Number of given column (throws exception if it │ │ │ │ │ doesn't exist). │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttyyppee (size_type) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttyyppee (size_type) _c_o_n_s_t │ │ │ │ │   Return a column's type. │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttyyppee (_z_v_i_e_w col_name) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttyyppee (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   Return a column's type. │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttaabbllee (size_type col_num) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttaabbllee (size_type _c_o_l___n_u_m) _c_o_n_s_t │ │ │ │ │   What table did this column come from? │ │ │ │ │   │ │ │ │ │ - _o_i_d  ccoolluummnn__ttaabbllee (_z_v_i_e_w col_name) const │ │ │ │ │ + _o_i_d  ccoolluummnn__ttaabbllee (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   What table did this column come from? │ │ │ │ │   │ │ │ │ │ - size_type  _t_a_b_l_e___c_o_l_u_m_n (size_type) const │ │ │ │ │ + size_type  _t_a_b_l_e___c_o_l_u_m_n (size_type) _c_o_n_s_t │ │ │ │ │   What column number in its table did this result │ │ │ │ │ column come from? │ │ │ │ │   │ │ │ │ │ - size_type  ttaabbllee__ccoolluummnn (_z_v_i_e_w col_name) const │ │ │ │ │ + size_type  ttaabbllee__ccoolluummnn (_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t │ │ │ │ │   What column number in its table did this result │ │ │ │ │ column come from? │ │ │ │ │   │ │ │ │ │ -constexpr result::size_type  nnuumm () const noexcept │ │ │ │ │ +_c_o_n_s_t_e_x_p_r result::size_type  nnuumm () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ -template │ │ │ │ │ - void  _t_o (Tuple &t) const │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_u_p_l_e > │ │ │ │ │ + _v_o_i_d  _t_o (_T_u_p_l_e &_t) _c_o_n_s_t │ │ │ │ │   Extract entire row's values into a tuple. │ │ │ │ │   │ │ │ │ │ template │ │ │ │ │ - std::tuple< TYPE... >  _a_s () const │ │ │ │ │ + std::tuple< TYPE... >  _a_s () _c_o_n_s_t │ │ │ │ │   Extract entire row's values into a tuple. │ │ │ │ │   │ │ │ │ │ - void  sswwaapp (_r_o_w &) noexcept │ │ │ │ │ + _v_o_i_d  sswwaapp (_r_o_w &) _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - _r_o_w  _s_l_i_c_e (size_type sbegin, size_type send) const │ │ │ │ │ + _r_o_w  _s_l_i_c_e (size_type _s_b_e_g_i_n, size_type _s_e_n_d) _c_o_n_s_t │ │ │ │ │   │ │ │ │ │ - PQXX_PURE bool  eemmppttyy () const noexcept │ │ │ │ │ + PQXX_PURE _b_o_o_l  eemmppttyy () _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │   Is this a row without fields? Can only happen to a │ │ │ │ │ slice. │ │ │ │ │   │ │ │ │ │ -   _r_o_w (_r_e_s_u_l_t r, _r_e_s_u_l_t___s_i_z_e___t_y_p_e index, size_type │ │ │ │ │ - cols) noexcept │ │ │ │ │ +   _r_o_w (_r_e_s_u_l_t _r, _r_e_s_u_l_t___s_i_z_e___t_y_p_e index, size_type │ │ │ │ │ + _c_o_l_s) _n_o_e_x_c_e_p_t │ │ │ │ │   │ │ │ │ │ - void  cchheecckk__ssiizzee (size_type expected) const │ │ │ │ │ + _v_o_i_d  cchheecckk__ssiizzee (size_type _e_x_p_e_c_t_e_d) _c_o_n_s_t │ │ │ │ │   Throw _u_s_a_g_e___e_r_r_o_r if row size is not expected. │ │ │ │ │   │ │ │ │ │ -template │ │ │ │ │ - TUPLE  _a_s___t_u_p_l_e () const │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_U_P_L_E > │ │ │ │ │ + _T_U_P_L_E  _a_s___t_u_p_l_e () _c_o_n_s_t │ │ │ │ │   Convert to a given tuple of values, don't check │ │ │ │ │ sizes. │ │ │ │ │   │ │ │ │ │ -template │ │ │ │ │ - void  ccoonnvveerrtt (Tuple &t) const │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_u_p_l_e > │ │ │ │ │ + _v_o_i_d  ccoonnvveerrtt (_T_u_p_l_e &_t) _c_o_n_s_t │ │ │ │ │   Convert entire row to tuple fields, without │ │ │ │ │ checking row size. │ │ │ │ │   │ │ │ │ │ ********** DDeettaaiilleedd DDeessccrriippttiioonn ********** │ │ │ │ │ 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): │ │ │ │ │ -cout << _r_o_w["date"].c_str() << ": " << _r_o_w["name"].c_str() << endl; │ │ │ │ │ +_c_o_u_t << _r_o_w["date"].c_str() << ": " << _r_o_w["name"].c_str() << _e_n_d_l; │ │ │ │ │ +_p_q_x_x_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +Reverse iterator for a row. Use as row::const_reverse_iterator. │ │ │ │ │ +DDeeffiinniittiioonn row.hxx:411 │ │ │ │ │ _p_q_x_x_:_:_r_o_w │ │ │ │ │ Reference to one row in a result. │ │ │ │ │ DDeeffiinniittiioonn row.hxx:47 │ │ │ │ │ The row itself acts like a (non-modifyable) container, complete with its own │ │ │ │ │ const_iterator and const_reverse_iterator. │ │ │ │ │ ********** CCoonnssttrruuccttoorr && DDeessttrruuccttoorr DDooccuummeennttaattiioonn ********** │ │ │ │ │ ********** _?◆_? rrooww(()) ********** │ │ │ │ │ @@ -191,16 +194,16 @@ │ │ │ │ │ Converts to the types of the tuple's respective fields. │ │ │ │ │ The types must have conversions from PostgreSQL's text format defined; see │ │ │ │ │ _S_u_p_p_o_r_t_i_n_g_ _a_d_d_i_t_i_o_n_a_l_ _d_a_t_a_ _t_y_p_e_s. │ │ │ │ │ Exceptions │ │ │ │ │ _u_s_a_g_e___e_r_r_o_r If the number of columns in the row does not match the number │ │ │ │ │ of fields in t. │ │ │ │ │ ********** _?◆_? aass__ttuuppllee(()) ********** │ │ │ │ │ -template │ │ │ │ │ -TUPLE pqxx::row::as_tuple ( ) const inlineprotected │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_U_P_L_E > │ │ │ │ │ +_T_U_P_L_E pqxx::row::as_tuple ( ) const inlineprotected │ │ │ │ │ Convert to a given tuple of values, don't check sizes. │ │ │ │ │ We need this for cases where we have a full tuple of field types, but not a │ │ │ │ │ parameter pack. │ │ │ │ │ ********** _?◆_? aatt(()) ********** │ │ │ │ │ _p_q_x_x_:_:_f_i_e_l_d pqxx::row::at ( _z_v_i_e_w  ccooll__nnaammee ) const │ │ │ │ │ Address field by name. │ │ │ │ │ Warning │ │ │ │ │ @@ -229,16 +232,16 @@ │ │ │ │ │ from a column in a table. If the column is computed in any other way, a │ │ │ │ │ logic_error will be thrown. │ │ │ │ │ Parameters │ │ │ │ │ col_num a zero-based column number in this result set │ │ │ │ │ Returns │ │ │ │ │ a zero-based column number in originating table │ │ │ │ │ ********** _?◆_? ttoo(()) ********** │ │ │ │ │ -template │ │ │ │ │ -void pqxx::row::to ( Tuple &  tt ) const inline │ │ │ │ │ +template<_t_y_p_e_n_a_m_e _T_u_p_l_e > │ │ │ │ │ +_v_o_i_d pqxx::row::to ( _T_u_p_l_e &  tt ) const inline │ │ │ │ │ Extract entire row's values into a tuple. │ │ │ │ │ Converts to the types of the tuple's respective fields. │ │ │ │ │ The types in the tuple must have conversions from PostgreSQL's text format │ │ │ │ │ defined; see _S_u_p_p_o_r_t_i_n_g_ _a_d_d_i_t_i_o_n_a_l_ _d_a_t_a_ _t_y_p_e_s. │ │ │ │ │ Exceptions │ │ │ │ │ _u_s_a_g_e___e_r_r_o_r If the number of columns in the row does not match the number │ │ │ │ │ of fields in t. │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__from.html │ │ │ │ @@ -209,15 +209,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
void pqxx::row::to void pqxx::row::to (Tuple & Tuplet) const
│ │ │ │
│ │ │ │ inline
 
static stream_from table (transaction_base &tx, table_path path, std::initializer_list< std::string_view > columns={})
 Factory: Stream data from a given table.
 
│ │ │ │

Detailed Description

│ │ │ │

Stream data from the database.

│ │ │ │ -
Deprecated:
Use transaction_base::stream.
│ │ │ │ +
Deprecated:
Use transaction_base::stream.
│ │ │ │

For larger data sets, retrieving data this way is likely to be faster than executing a query and then iterating and converting the rows fields. You will also be able to start processing before all of the data has come in.

│ │ │ │

There are also downsides. Not all kinds of query will work in a stream. But straightforward SELECT and UPDATE ... RETURNING queries should work. This function makes use of pqxx::stream_from, which in turn uses PostgreSQL's COPY command, so see the documentation for those to get the full details.

│ │ │ │

There are other downsides. If there stream encounters an error, it may leave the entire connection in an unusable state, so you'll have to give the whole thing up. Finally, opening a stream puts the connection in a special state, so you won't be able to do many other things with the connection or the transaction while the stream is open.

│ │ │ │

There are two ways of starting a stream: you stream either all rows in a table (using one of the factories, table() or raw_table()), or the results of a query (using the query() factory).

│ │ │ │

Usually you'll want the stream convenience wrapper in transaction_base, * so you don't need to deal with this class directly.

│ │ │ │
Warning
While a stream is active, you cannot execute queries, open a pipeline, etc. on the same transaction. A transaction can have at most one object of a type derived from pqxx::transaction_focus active on it at a time.
│ │ │ │

Constructor & Destructor Documentation

│ │ │ │ @@ -250,15 +250,15 @@ │ │ │ │
)
│ │ │ │
│ │ │ │ │ │ │ │

Execute query, and stream over the results.

│ │ │ │ -
Deprecated:
Use factory function query instead.
│ │ │ │ +
Deprecated:
Use factory function query instead.
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ stream_from() [2/7]

│ │ │ │ │ │ │ │
│ │ │ │ @@ -287,15 +287,15 @@ │ │ │ │
)
│ │ │ │
│ │ │ │ │ │ │ │

Stream all rows in table, all columns.

│ │ │ │ -
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ +
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ stream_from() [3/7]

│ │ │ │ │ │ │ │
│ │ │ │ @@ -346,15 +346,15 @@ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Stream given columns from all rows in table.

│ │ │ │ -
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ +
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ stream_from() [4/7]

│ │ │ │ │ │ │ │
│ │ │ │ @@ -399,15 +399,15 @@ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Stream given columns from all rows in table.

│ │ │ │ -
Deprecated:
Use factory function query instead.
│ │ │ │ +
Deprecated:
Use factory function query instead.
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ stream_from() [5/7]

│ │ │ │ │ │ │ │
│ │ │ │ @@ -436,15 +436,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ +
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ stream_from() [6/7]

│ │ │ │ │ │ │ │
│ │ │ │ @@ -481,15 +481,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ +
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ stream_from() [7/7]

│ │ │ │ │ │ │ │
│ │ │ │ @@ -524,15 +524,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ ) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ -
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ +
Deprecated:
Use factories table or raw_table instead.
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Member Function Documentation

│ │ │ │ │ │ │ │

◆ complete()

│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__to.html │ │ │ │ @@ -218,15 +218,15 @@ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Create a stream, without specifying columns.

│ │ │ │ -
Deprecated:
Use table or raw_table as a factory.
│ │ │ │ +
Deprecated:
Use table or raw_table as a factory.
│ │ │ │

Fields will be inserted in whatever order the columns have in the database.

│ │ │ │

You'll probably want to specify the columns, so that the mapping between your data fields and the table is explicit in your code, and not hidden in an "implicit contract" between your code and your schema.

│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ stream_to() [2/2]

│ │ │ │ @@ -267,15 +267,15 @@ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Create a stream, specifying column names as a container of strings.

│ │ │ │ -
Deprecated:
Use table or raw_table as a factory.
│ │ │ │ +
Deprecated:
Use table or raw_table as a factory.
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Member Function Documentation

│ │ │ │ │ │ │ │

◆ complete()

│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/deprecated.html │ │ │ │ @@ -91,89 +91,89 @@ │ │ │ │ │ │ │ │
│ │ │ │
Deprecated List
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
Class pqxx::array_parser
│ │ │ │ -
Use pqxx::array instead.
│ │ │ │ +
Use pqxx::array instead.
│ │ │ │
Class pqxx::basic_fieldstream< CHAR, TRAITS >
│ │ │ │ -
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
│ │ │ │ +
To convert a field's value string to some other type, e.g. to an int, use the field's as<...>() member function. To read a field efficiently just as a string, use its c_str() or its as<std::string_vview>().
│ │ │ │
Class pqxx::basic_ilostream< CHAR, TRAITS >
│ │ │ │ -
Access large objects directly using the blob class.
│ │ │ │ +
Access large objects directly using the blob class.
│ │ │ │
Class pqxx::basic_lostream< CHAR, TRAITS >
│ │ │ │ -
Access large objects directly using the blob class.
│ │ │ │ +
Access large objects directly using the blob class.
│ │ │ │
Class pqxx::basic_olostream< CHAR, TRAITS >
│ │ │ │ -
Access large objects directly using the blob class.
│ │ │ │ +
Access large objects directly using the blob class.
│ │ │ │
Class pqxx::binarystring
│ │ │ │ -
Use bytes and bytes_view for binary data. In C++20 or better, any contiguous_range of std::byte will do.
│ │ │ │ +
Use bytes and bytes_view for binary data. In C++20 or better, any contiguous_range of std::byte will do.
│ │ │ │
Member pqxx::blob::read (std::vector< std::byte, ALLOC > &buf)
│ │ │ │
As libpqxx moves to C++20 as its baseline language version, this will take and return std::span<std::byte>.
│ │ │ │
Member pqxx::connection::get_errorhandlers () const
│ │ │ │ -
Return pointers to the active errorhandlers.
│ │ │ │ +
Return pointers to the active errorhandlers.
│ │ │ │
Member pqxx::connection::set_variable (std::string_view var, std::string_view value) &
│ │ │ │ -
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
│ │ │ │ +
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
│ │ │ │
Member pqxx::connection_base
│ │ │ │ -
Old base class for connection. They are now the same class.
│ │ │ │ -
Member pqxx::encrypt_password (zview user, zview password)
│ │ │ │ -
Use connection::encrypt_password instead.
│ │ │ │ +
Old base class for connection. They are now the same class.
│ │ │ │
Member pqxx::encrypt_password (char const user[], char const password[])
│ │ │ │ -
Use connection::encrypt_password instead.
│ │ │ │ +
Use connection::encrypt_password instead.
│ │ │ │ +
Member pqxx::encrypt_password (zview user, zview password)
│ │ │ │ +
Use connection::encrypt_password instead.
│ │ │ │
Class pqxx::errorhandler
│ │ │ │
Base class for obsolete error-handler callbacks.
│ │ │ │
Member pqxx::fieldstream
│ │ │ │ -
Read a field using field::as<...>() or field::c_str().
│ │ │ │ +
Read a field using field::as<...>() or field::c_str().
│ │ │ │
Member pqxx::from_query
│ │ │ │ -
Use transaction_base::stream instead of stream_from.
│ │ │ │ +
Use transaction_base::stream instead of stream_from.
│ │ │ │
Struct pqxx::from_query_t
│ │ │ │ -
Use stream_from::query() instead.
│ │ │ │ +
Use stream_from::query() instead.
│ │ │ │
Member pqxx::from_table
│ │ │ │ -
Use transaction_base::stream instead of stream_from.
│ │ │ │ +
Use transaction_base::stream instead of stream_from.
│ │ │ │
Struct pqxx::from_table_t
│ │ │ │ -
Use stream_from::table() instead.
│ │ │ │ +
Use stream_from::table() instead.
│ │ │ │
Class pqxx::internal::dynamic_params< IT, ACCESSOR >
│ │ │ │ -
Use params instead.
│ │ │ │ +
Use params instead.
│ │ │ │
Class pqxx::largeobject
│ │ │ │
Use the blob class instead.
│ │ │ │
Class pqxx::largeobject_streambuf< CHAR, TRAITS >
│ │ │ │
Access large objects directly using the blob class.
│ │ │ │
Class pqxx::largeobjectaccess
│ │ │ │
Use the blob class instead.
│ │ │ │
Member pqxx::operator<< (std::basic_ostream< CHAR > &s, field const &value)
│ │ │ │ -
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
│ │ │ │ +
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
│ │ │ │
Member pqxx::params::append (binarystring const &value) &
│ │ │ │ -
Append binarystring parameter.
│ │ │ │ +
Append binarystring parameter.
│ │ │ │
Namespace pqxx::prepare
│ │ │ │ -
The new params class replaces all of this.
│ │ │ │ +
The new params class replaces all of this.
│ │ │ │
Class pqxx::quiet_errorhandler
│ │ │ │
Use a notice handler instead.
│ │ │ │
Member pqxx::row::slice (size_type sbegin, size_type send) const
│ │ │ │ -
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
│ │ │ │ +
I haven't heard of anyone caring about row slicing at all in at least the last 15 years. Yet it adds complexity, so unless anyone files a bug explaining why they really need this feature, I'm going to remove it. Even if they do, the feature may need an update.
│ │ │ │
Class pqxx::stream_from
│ │ │ │ -
Use transaction_base::stream.
│ │ │ │ -
Member pqxx::stream_from::stream_from (transaction_base &, from_query_t, std::string_view query)
│ │ │ │ -
Use factory function query instead.
│ │ │ │ -
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table)
│ │ │ │ -
Use factories table or raw_table instead.
│ │ │ │ -
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table, Iter columns_begin, Iter columns_end)
│ │ │ │ -
Use factories table or raw_table instead.
│ │ │ │ -
Member pqxx::stream_from::stream_from (transaction_base &tx, from_table_t, std::string_view table, Columns const &columns)
│ │ │ │ -
Use factory function query instead.
│ │ │ │ +
Use transaction_base::stream.
│ │ │ │
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table)
│ │ │ │ -
Use factories table or raw_table instead.
│ │ │ │ -
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table, Columns const &columns)
│ │ │ │ -
Use factories table or raw_table instead.
│ │ │ │ +
Use factories table or raw_table instead.
│ │ │ │
Member pqxx::stream_from::stream_from (transaction_base &, std::string_view table, Iter columns_begin, Iter columns_end)
│ │ │ │ -
Use factories table or raw_table instead.
│ │ │ │ +
Use factories table or raw_table instead.
│ │ │ │ +
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table, Columns const &columns)
│ │ │ │ +
Use factories table or raw_table instead.
│ │ │ │ +
Member pqxx::stream_from::stream_from (transaction_base &tx, from_table_t, std::string_view table, Columns const &columns)
│ │ │ │ +
Use factory function query instead.
│ │ │ │ +
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table, Iter columns_begin, Iter columns_end)
│ │ │ │ +
Use factories table or raw_table instead.
│ │ │ │ +
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table)
│ │ │ │ +
Use factories table or raw_table instead.
│ │ │ │ +
Member pqxx::stream_from::stream_from (transaction_base &, from_query_t, std::string_view query)
│ │ │ │ +
Use factory function query instead.
│ │ │ │
Member pqxx::stream_to::stream_to (transaction_base &tx, std::string_view table_name)
│ │ │ │ -
Use table or raw_table as a factory.
│ │ │ │ +
Use table or raw_table as a factory.
│ │ │ │
Member pqxx::stream_to::stream_to (transaction_base &, std::string_view table_name, Columns const &columns)
│ │ │ │ -
Use table or raw_table as a factory.
│ │ │ │ +
Use table or raw_table as a factory.
│ │ │ │
Member pqxx::strip_t
│ │ │ │ -
In C++20 we'll replace this with std::remove_cvref.
│ │ │ │ +
In C++20 we'll replace this with std::remove_cvref.
│ │ │ │
Member pqxx::transaction_base::set_variable (std::string_view var, std::string_view value)
│ │ │ │
To set a transaction-local variable, execute an SQL SET command. To set a session variable, use the connection's set_session_var function.
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ ├── html2text {} │ │ │ │ │ @@ -26,18 +26,18 @@ │ │ │ │ │ Return pointers to the active errorhandlers. │ │ │ │ │ Member _p_q_x_x_:_:_c_o_n_n_e_c_t_i_o_n_:_:_s_e_t___v_a_r_i_a_b_l_e (std::string_view var, std::string_view │ │ │ │ │ value) & │ │ │ │ │ To set a session variable, use _s_e_t___s_e_s_s_i_o_n___v_a_r. To set a transaction- │ │ │ │ │ local variable, execute an SQL SET command. │ │ │ │ │ Member _p_q_x_x_:_:_c_o_n_n_e_c_t_i_o_n___b_a_s_e │ │ │ │ │ Old base class for connection. They are now the same class. │ │ │ │ │ - Member _p_q_x_x_:_:_e_n_c_r_y_p_t___p_a_s_s_w_o_r_d (zview user, zview password) │ │ │ │ │ - Use _c_o_n_n_e_c_t_i_o_n_:_:_e_n_c_r_y_p_t___p_a_s_s_w_o_r_d instead. │ │ │ │ │ Member _p_q_x_x_:_:_e_n_c_r_y_p_t___p_a_s_s_w_o_r_d (char const user[], char const password[]) │ │ │ │ │ Use _c_o_n_n_e_c_t_i_o_n_:_:_e_n_c_r_y_p_t___p_a_s_s_w_o_r_d instead. │ │ │ │ │ + Member _p_q_x_x_:_:_e_n_c_r_y_p_t___p_a_s_s_w_o_r_d (zview user, zview password) │ │ │ │ │ + Use _c_o_n_n_e_c_t_i_o_n_:_:_e_n_c_r_y_p_t___p_a_s_s_w_o_r_d instead. │ │ │ │ │ Class _p_q_x_x_:_:_e_r_r_o_r_h_a_n_d_l_e_r │ │ │ │ │ Base class for obsolete error-handler callbacks. │ │ │ │ │ Member _p_q_x_x_:_:_f_i_e_l_d_s_t_r_e_a_m │ │ │ │ │ Read a field using _f_i_e_l_d_:_:_a_s<...>() or _f_i_e_l_d_:_:_c___s_t_r_(_). │ │ │ │ │ Member _p_q_x_x_:_:_f_r_o_m___q_u_e_r_y │ │ │ │ │ Use _t_r_a_n_s_a_c_t_i_o_n___b_a_s_e_:_:_s_t_r_e_a_m instead of _s_t_r_e_a_m___f_r_o_m. │ │ │ │ │ Struct _p_q_x_x_:_:_f_r_o_m___q_u_e_r_y___t │ │ │ │ │ @@ -67,35 +67,35 @@ │ │ │ │ │ Member _p_q_x_x_:_:_r_o_w_:_:_s_l_i_c_e (size_type sbegin, size_type send) const │ │ │ │ │ I haven't heard of anyone caring about row slicing at all in at least the │ │ │ │ │ last 15 years. Yet it adds complexity, so unless anyone files a bug │ │ │ │ │ explaining why they really need this feature, I'm going to remove it. │ │ │ │ │ Even if they do, the feature may need an update. │ │ │ │ │ Class _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m │ │ │ │ │ Use _t_r_a_n_s_a_c_t_i_o_n___b_a_s_e_:_:_s_t_r_e_a_m. │ │ │ │ │ - Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, _f_r_o_m___q_u_e_r_y___t, │ │ │ │ │ - std::string_view query) │ │ │ │ │ - Use factory function _q_u_e_r_y instead. │ │ │ │ │ - Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, _f_r_o_m___t_a_b_l_e___t, │ │ │ │ │ - std::string_view table) │ │ │ │ │ - Use factories _t_a_b_l_e or _r_a_w___t_a_b_l_e instead. │ │ │ │ │ - Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, _f_r_o_m___t_a_b_l_e___t, │ │ │ │ │ - std::string_view table, Iter columns_begin, Iter columns_end) │ │ │ │ │ - Use factories _t_a_b_l_e or _r_a_w___t_a_b_l_e instead. │ │ │ │ │ - Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &tx, _f_r_o_m___t_a_b_l_e___t, │ │ │ │ │ - std::string_view table, Columns const &columns) │ │ │ │ │ - Use factory function _q_u_e_r_y instead. │ │ │ │ │ Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &tx, std::string_view │ │ │ │ │ table) │ │ │ │ │ Use factories _t_a_b_l_e or _r_a_w___t_a_b_l_e instead. │ │ │ │ │ + Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, std::string_view │ │ │ │ │ + table, Iter columns_begin, Iter columns_end) │ │ │ │ │ + Use factories _t_a_b_l_e or _r_a_w___t_a_b_l_e instead. │ │ │ │ │ Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &tx, std::string_view │ │ │ │ │ table, Columns const &columns) │ │ │ │ │ Use factories _t_a_b_l_e or _r_a_w___t_a_b_l_e instead. │ │ │ │ │ - Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, std::string_view │ │ │ │ │ - table, Iter columns_begin, Iter columns_end) │ │ │ │ │ + Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &tx, _f_r_o_m___t_a_b_l_e___t, │ │ │ │ │ + std::string_view table, Columns const &columns) │ │ │ │ │ + Use factory function _q_u_e_r_y instead. │ │ │ │ │ + Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, _f_r_o_m___t_a_b_l_e___t, │ │ │ │ │ + std::string_view table, Iter columns_begin, Iter columns_end) │ │ │ │ │ + Use factories _t_a_b_l_e or _r_a_w___t_a_b_l_e instead. │ │ │ │ │ + Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, _f_r_o_m___t_a_b_l_e___t, │ │ │ │ │ + std::string_view table) │ │ │ │ │ Use factories _t_a_b_l_e or _r_a_w___t_a_b_l_e instead. │ │ │ │ │ + Member _p_q_x_x_:_:_s_t_r_e_a_m___f_r_o_m_:_:_s_t_r_e_a_m___f_r_o_m (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, _f_r_o_m___q_u_e_r_y___t, │ │ │ │ │ + std::string_view query) │ │ │ │ │ + Use factory function _q_u_e_r_y instead. │ │ │ │ │ Member _p_q_x_x_:_:_s_t_r_e_a_m___t_o_:_:_s_t_r_e_a_m___t_o (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &tx, std::string_view │ │ │ │ │ table_name) │ │ │ │ │ Use _t_a_b_l_e or _r_a_w___t_a_b_l_e as a factory. │ │ │ │ │ Member _p_q_x_x_:_:_s_t_r_e_a_m___t_o_:_:_s_t_r_e_a_m___t_o (_t_r_a_n_s_a_c_t_i_o_n___b_a_s_e &, std::string_view │ │ │ │ │ table_name, Columns const &columns) │ │ │ │ │ Use _t_a_b_l_e or _r_a_w___t_a_b_l_e as a factory. │ │ │ │ │ Member _p_q_x_x_:_:_s_t_r_i_p___t │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/group__escaping-functions.html │ │ │ │ @@ -120,15 +120,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
class pqxx::binarystring
│ │ │ │
│ │ │ │

Binary data corresponding to PostgreSQL's "BYTEA" binary-string type.

│ │ │ │ -
Deprecated:
Use bytes and bytes_view for binary data. In C++20 or better, any contiguous_range of std::byte will do.
│ │ │ │ +
Deprecated:
Use bytes and bytes_view for binary data. In C++20 or better, any contiguous_range of std::byte will do.
│ │ │ │

This class represents a binary string as stored in a field of type bytea.

│ │ │ │

Internally a binarystring is zero-terminated, but it may also contain null bytes, they're just like any other byte value. So don't assume that it's safe to treat the contents as a C-style string.

│ │ │ │

The binarystring retains its value even if the result it was obtained from is destroyed, but it cannot be copied or assigned.

│ │ │ │

To include a binarystring value in an SQL query, escape and quote it using the transaction's quote_raw function.

│ │ │ │
Warning
This class is implemented as a reference-counting smart pointer. Copying, swapping, and destroying binarystring objects that refer to the same underlying data block is not thread-safe. If you wish to pass binarystrings around between threads, make sure that each of these operations is protected against concurrency with similar operations on the same object, or other objects pointing to the same data block.
│ │ │ │
│ │ │ │ │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx.html │ │ │ │ @@ -920,15 +920,15 @@ │ │ │ │

Public Types

│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
struct pqxx::from_query_t
│ │ │ │
│ │ │ │

Marker for stream_from constructors: "stream from query.".

│ │ │ │ -
Deprecated:
Use stream_from::query() instead.
│ │ │ │ +
Deprecated:
Use stream_from::query() instead.
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ pqxx::from_table_t

│ │ │ │ │ │ │ │
│ │ │ │ @@ -936,15 +936,15 @@ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
struct pqxx::from_table_t
│ │ │ │
│ │ │ │

Marker for stream_from constructors: "stream from table.".

│ │ │ │ -
Deprecated:
Use stream_from::table() instead.
│ │ │ │ +
Deprecated:
Use stream_from::table() instead.
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ pqxx::notification

│ │ │ │ │ │ │ │
│ │ │ │ @@ -1073,30 +1073,30 @@ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
using pqxx::connection_base = typedef connection
│ │ │ │
│ │ │ │ -
Deprecated:
Old base class for connection. They are now the same class.
│ │ │ │ +
Deprecated:
Old base class for connection. They are now the same class.
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ fieldstream

│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
using pqxx::fieldstream = typedef basic_fieldstream<char>
│ │ │ │
│ │ │ │ -
Deprecated:
Read a field using field::as<...>() or field::c_str().
│ │ │ │ +
Deprecated:
Read a field using field::as<...>() or field::c_str().
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ strip_t

│ │ │ │ │ │ │ │
│ │ │ │ @@ -1107,15 +1107,15 @@ │ │ │ │ │ │ │ │ using pqxx::strip_t = typedef std::remove_cv_t<std::remove_reference_t<TYPE> > │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Remove any constness, volatile, and reference-ness from a type.

│ │ │ │ -
Deprecated:
In C++20 we'll replace this with std::remove_cvref.
│ │ │ │ +
Deprecated:
In C++20 we'll replace this with std::remove_cvref.
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ table_path

│ │ │ │ │ │ │ │
│ │ │ │ @@ -1486,15 +1486,15 @@ │ │ │ │ ) │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Encrypt a password.

│ │ │ │ -
Deprecated:
Use connection::encrypt_password instead.
│ │ │ │ +
Deprecated:
Use connection::encrypt_password instead.
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ encrypt_password() [2/2]

│ │ │ │ │ │ │ │
│ │ │ │ @@ -1525,15 +1525,15 @@ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Encrypt password.

│ │ │ │ -
Deprecated:
Use connection::encrypt_password instead.
│ │ │ │ +
Deprecated:
Use connection::encrypt_password instead.
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ from_string()

│ │ │ │ │ │ │ │
│ │ │ │ @@ -1701,15 +1701,15 @@ │ │ │ │ │ │ │ │ inline │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Write a result field to any type of stream.

│ │ │ │ -
Deprecated:
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
│ │ │ │ +
Deprecated:
The C++ streams library is not great to work with. In particular, error handling is easy to get wrong. So you're probably better off doing this by hand.
│ │ │ │

This can be convenient when writing a field to an output stream. More importantly, it lets you write a field to e.g. a stringstream which you can then use to read, format and convert the field in ways that to() does not support.

│ │ │ │

Example: parse a field into a variable of the nonstandard long long type.

│ │ │ │
extern result R;
│ │ │ │
long long L;
│ │ │ │
stringstream S;
│ │ │ │
│ │ │ │
// Write field's string into S
│ │ │ │ @@ -1985,15 +1985,15 @@ │ │ │ │ │ │ │ │ constexpr │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Pass this to a stream_from constructor to stream query results.

│ │ │ │ -
Deprecated:
Use transaction_base::stream instead of stream_from.
│ │ │ │ +
Deprecated:
Use transaction_base::stream instead of stream_from.
│ │ │ │ │ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │

◆ from_table

│ │ │ │ │ │ │ │
│ │ │ │ @@ -2010,15 +2010,15 @@ │ │ │ │ │ │ │ │ constexpr │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │

Pass this to a stream_from constructor to stream table contents.

│ │ │ │ -
Deprecated:
Use transaction_base::stream instead of stream_from.
│ │ │ │ +
Deprecated:
Use transaction_base::stream instead of stream_from.
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │

◆ has_generic_bytes_char_traits

│ │ │ │ │ │ │ │
│ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx_1_1prepare.html │ │ │ │ @@ -90,15 +90,15 @@ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │
pqxx::prepare Namespace Reference
│ │ │ │
│ │ │ │
│ │ │ │

Detailed Description

│ │ │ │ -
Deprecated:
The new params class replaces all of this.
│ │ │ │ +
Deprecated:
The new params class replaces all of this.
│ │ │ │
│ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
358
│ │ │ │
360
│ │ │ │
│ │ │ │ - │ │ │ │ + │ │ │ │
364 {
│ │ │ │ -
365 auto const actual{columns()};
│ │ │ │ -
366 if (actual != cols)
│ │ │ │ +
365 auto const actual{columns()};
│ │ │ │ +
366 if (actual != cols)
│ │ │ │
367 {
│ │ │ │
368 // TODO: See whether result contains a generated statement.
│ │ │ │ -
369 if (not m_query or m_query->empty())
│ │ │ │ +
369 if (not m_query or m_query->empty())
│ │ │ │ │ │ │ │ -
371 "Expected 1 column from query, got ", actual, ".")};
│ │ │ │ +
371 "Expected 1 column from query, got ", actual, ".")};
│ │ │ │
372 else
│ │ │ │ │ │ │ │ -
374 "Expected 1 column from query '", *m_query, "', got ", actual, ".")};
│ │ │ │ +
374 "Expected 1 column from query '", *m_query, "', got ", actual, ".")};
│ │ │ │
375 }
│ │ │ │
376 return *this;
│ │ │ │
377 }
│ │ │ │
│ │ │ │
378
│ │ │ │
380
│ │ │ │
383 field one_field() const;
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -81,30 +81,30 @@ │ │ │ │ │ 96 using _r_e_f_e_r_e_n_c_e = _r_o_w; │ │ │ │ │ 97 using _c_o_n_s_t___i_t_e_r_a_t_o_r = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r; │ │ │ │ │ 98 using _p_o_i_n_t_e_r = _c_o_n_s_t___i_t_e_r_a_t_o_r; │ │ │ │ │ 99 using _i_t_e_r_a_t_o_r = _c_o_n_s_t___i_t_e_r_a_t_o_r; │ │ │ │ │ 100 using _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r = _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r; │ │ │ │ │ 101 using _r_e_v_e_r_s_e___i_t_e_r_a_t_o_r = _c_o_n_s_t___r_e_v_e_r_s_e___i_t_e_r_a_t_o_r; │ │ │ │ │ 102 │ │ │ │ │ -103 _r_e_s_u_l_t() noexcept : │ │ │ │ │ +103 _r_e_s_u_l_t() _n_o_e_x_c_e_p_t : │ │ │ │ │ 104 m_data{}, m_query{}, m_encoding{internal::encoding_group::MONOBYTE} │ │ │ │ │ 105 {} │ │ │ │ │ 106 │ │ │ │ │ -107 _r_e_s_u_l_t(_r_e_s_u_l_t const &rhs) noexcept = default; │ │ │ │ │ -108 _r_e_s_u_l_t(_r_e_s_u_l_t &&rhs) noexcept = default; │ │ │ │ │ +107 _r_e_s_u_l_t(_r_e_s_u_l_t const &_r_h_s) noexcept = default; │ │ │ │ │ +108 _r_e_s_u_l_t(_r_e_s_u_l_t &&_r_h_s) noexcept = default; │ │ │ │ │ 109 │ │ │ │ │ 111 │ │ │ │ │ -_1_1_4 _r_e_s_u_l_t &_o_p_e_r_a_t_o_r_=(_r_e_s_u_l_t const &rhs) noexcept = default; │ │ │ │ │ +_1_1_4 _r_e_s_u_l_t &_o_p_e_r_a_t_o_r_=(_r_e_s_u_l_t const &_r_h_s) noexcept = default; │ │ │ │ │ 115 │ │ │ │ │ -_1_1_7 _r_e_s_u_l_t &_o_p_e_r_a_t_o_r_=(_r_e_s_u_l_t &&rhs) noexcept = default; │ │ │ │ │ +_1_1_7 _r_e_s_u_l_t &_o_p_e_r_a_t_o_r_=(_r_e_s_u_l_t &&_r_h_s) noexcept = default; │ │ │ │ │ 118 │ │ │ │ │ -128 [[nodiscard]] bool operator==(_r_e_s_u_l_t const &) const noexcept; │ │ │ │ │ -_1_3_0 [[nodiscard]] bool _o_p_e_r_a_t_o_r_!_=(_r_e_s_u_l_t const &rhs) const noexcept │ │ │ │ │ +128 [[_n_o_d_i_s_c_a_r_d]] bool operator==(_r_e_s_u_l_t const &) const noexcept; │ │ │ │ │ +_1_3_0 [[_n_o_d_i_s_c_a_r_d]] bool _o_p_e_r_a_t_o_r_!_=(_r_e_s_u_l_t const &_r_h_s) const noexcept │ │ │ │ │ 131 { │ │ │ │ │ -132 return not operator==(rhs); │ │ │ │ │ +132 return _n_o_t operator==(_r_h_s); │ │ │ │ │ 133 } │ │ │ │ │ 135 │ │ │ │ │ 137 │ │ │ │ │ 143 template auto iter() const; │ │ │ │ │ 144 │ │ │ │ │ 145 [[nodiscard]] const_reverse_iterator rbegin() const; │ │ │ │ │ 146 [[nodiscard]] const_reverse_iterator crbegin() const; │ │ │ │ │ @@ -135,15 +135,15 @@ │ │ │ │ │ 179#endif // PQXX_HAVE_MULTIDIM │ │ │ │ │ 180 │ │ │ │ │ 182 row at(size_type) const; │ │ │ │ │ 183 │ │ │ │ │ 185 field at(size_type, row_size_type) const; │ │ │ │ │ 186 │ │ │ │ │ 188 │ │ │ │ │ -_1_9_5 void _c_l_e_a_r() noexcept │ │ │ │ │ +_1_9_5 void _c_l_e_a_r() _n_o_e_x_c_e_p_t │ │ │ │ │ 196 { │ │ │ │ │ 197 m_data.reset(); │ │ │ │ │ 198 m_query = nullptr; │ │ │ │ │ 199 } │ │ │ │ │ 200 │ │ │ │ │ 206 [[nodiscard]] PQXX_PURE _r_o_w___s_i_z_e___t_y_p_e columns() const noexcept; │ │ │ │ │ 207 │ │ │ │ │ @@ -156,31 +156,31 @@ │ │ │ │ │ 219 │ │ │ │ │ 221 │ │ │ │ │ 231 [[nodiscard]] int column_type_modifier(_r_o_w___s_i_z_e___t_y_p_e number) const │ │ │ │ │ noexcept; │ │ │ │ │ 232 │ │ │ │ │ 234 [[nodiscard]] _o_i_d column_type(_r_o_w___s_i_z_e___t_y_p_e col_num) const; │ │ │ │ │ 235 │ │ │ │ │ -_2_3_7 [[nodiscard]] _o_i_d column_type(_z_v_i_e_w col_name) const │ │ │ │ │ +_2_3_7 [[_n_o_d_i_s_c_a_r_d]] _o_i_d column_type(_z_v_i_e_w _c_o_l___n_a_m_e) const │ │ │ │ │ 238 { │ │ │ │ │ -239 return column_type(column_number(col_name)); │ │ │ │ │ +239 return column_type(column_number(_c_o_l___n_a_m_e)); │ │ │ │ │ 240 } │ │ │ │ │ 241 │ │ │ │ │ 243 [[nodiscard]] _o_i_d column_table(_r_o_w___s_i_z_e___t_y_p_e col_num) const; │ │ │ │ │ 244 │ │ │ │ │ -_2_4_6 [[nodiscard]] _o_i_d _c_o_l_u_m_n___t_a_b_l_e(_z_v_i_e_w col_name) const │ │ │ │ │ +_2_4_6 [[_n_o_d_i_s_c_a_r_d]] _o_i_d _c_o_l_u_m_n___t_a_b_l_e(_z_v_i_e_w _c_o_l___n_a_m_e) const │ │ │ │ │ 247 { │ │ │ │ │ -248 return column_table(column_number(col_name)); │ │ │ │ │ +248 return column_table(column_number(_c_o_l___n_a_m_e)); │ │ │ │ │ 249 } │ │ │ │ │ 250 │ │ │ │ │ 252 [[nodiscard]] _r_o_w___s_i_z_e___t_y_p_e table_column(_r_o_w___s_i_z_e___t_y_p_e col_num) const; │ │ │ │ │ 253 │ │ │ │ │ -_2_5_5 [[nodiscard]] _r_o_w___s_i_z_e___t_y_p_e _t_a_b_l_e___c_o_l_u_m_n(_z_v_i_e_w col_name) const │ │ │ │ │ +_2_5_5 [[_n_o_d_i_s_c_a_r_d]] _r_o_w___s_i_z_e___t_y_p_e _t_a_b_l_e___c_o_l_u_m_n(_z_v_i_e_w _c_o_l___n_a_m_e) const │ │ │ │ │ 256 { │ │ │ │ │ -257 return table_column(column_number(col_name)); │ │ │ │ │ +257 return table_column(column_number(_c_o_l___n_a_m_e)); │ │ │ │ │ 258 } │ │ │ │ │ 260 │ │ │ │ │ 262 [[nodiscard]] PQXX_PURE std::string const &query() const & noexcept; │ │ │ │ │ 263 │ │ │ │ │ 265 │ │ │ │ │ 268 [[nodiscard]] PQXX_PURE _o_i_d inserted_oid() const; │ │ │ │ │ 269 │ │ │ │ │ @@ -188,26 +188,26 @@ │ │ │ │ │ 274 [[nodiscard]] PQXX_PURE size_type affected_rows() const; │ │ │ │ │ 275 │ │ │ │ │ 276 // C++20: Concept like std::invocable, but without specifying param types. │ │ │ │ │ 278 │ │ │ │ │ 315 template inline void for_each(CALLABLE &&func) const; │ │ │ │ │ 316 │ │ │ │ │ 318 │ │ │ │ │ -_3_2_1 _r_e_s_u_l_t expect_rows(size_type n) const │ │ │ │ │ +_3_2_1 _r_e_s_u_l_t expect_rows(size_type _n) const │ │ │ │ │ 322 { │ │ │ │ │ -323 auto const sz{size()}; │ │ │ │ │ -324 if (sz != n) │ │ │ │ │ +323 auto const _s_z{size()}; │ │ │ │ │ +324 if (_s_z != _n) │ │ │ │ │ 325 { │ │ │ │ │ 326 // TODO: See whether result contains a generated statement. │ │ │ │ │ -327 if (not m_query or m_query->empty()) │ │ │ │ │ +327 if (_n_o_t m_query _o_r m_query->empty()) │ │ │ │ │ 328 throw _u_n_e_x_p_e_c_t_e_d___r_o_w_s{_p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_c_o_n_c_a_t( │ │ │ │ │ -329 "Expected ", n, " row(s) from query, got ", sz, ".")}; │ │ │ │ │ +329 "Expected ", _n, " row(s) from query, got ", _s_z, ".")}; │ │ │ │ │ 330 else │ │ │ │ │ 331 throw _u_n_e_x_p_e_c_t_e_d___r_o_w_s{_p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_c_o_n_c_a_t( │ │ │ │ │ -332 "Expected ", n, " row(s) from query '", *m_query, "', got ", sz, │ │ │ │ │ +332 "Expected ", _n, " row(s) from query '", *m_query, "', got ", _s_z, │ │ │ │ │ 333 ".")}; │ │ │ │ │ 334 } │ │ │ │ │ 335 return *this; │ │ │ │ │ 336 } │ │ │ │ │ 337 │ │ │ │ │ 339 │ │ │ │ │ 342 _r_o_w one_row() const; │ │ │ │ │ @@ -218,26 +218,26 @@ │ │ │ │ │ _3_5_3 _r_e_s_u_l_t _n_o___r_o_w_s() const │ │ │ │ │ 354 { │ │ │ │ │ 355 expect_rows(0); │ │ │ │ │ 356 return *this; │ │ │ │ │ 357 } │ │ │ │ │ 358 │ │ │ │ │ 360 │ │ │ │ │ -_3_6_3 _r_e_s_u_l_t _e_x_p_e_c_t___c_o_l_u_m_n_s(_r_o_w___s_i_z_e___t_y_p_e cols) const │ │ │ │ │ +_3_6_3 _r_e_s_u_l_t _e_x_p_e_c_t___c_o_l_u_m_n_s(_r_o_w___s_i_z_e___t_y_p_e _c_o_l_s) const │ │ │ │ │ 364 { │ │ │ │ │ -365 auto const actual{columns()}; │ │ │ │ │ -366 if (actual != cols) │ │ │ │ │ +365 auto const _a_c_t_u_a_l{columns()}; │ │ │ │ │ +366 if (_a_c_t_u_a_l != _c_o_l_s) │ │ │ │ │ 367 { │ │ │ │ │ 368 // TODO: See whether result contains a generated statement. │ │ │ │ │ -369 if (not m_query or m_query->empty()) │ │ │ │ │ +369 if (_n_o_t m_query _o_r m_query->empty()) │ │ │ │ │ 370 throw _u_s_a_g_e___e_r_r_o_r{_p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_c_o_n_c_a_t( │ │ │ │ │ -371 "Expected 1 column from query, got ", actual, ".")}; │ │ │ │ │ +371 "Expected 1 column from query, got ", _a_c_t_u_a_l, ".")}; │ │ │ │ │ 372 else │ │ │ │ │ 373 throw _u_s_a_g_e___e_r_r_o_r{_p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_c_o_n_c_a_t( │ │ │ │ │ -374 "Expected 1 column from query '", *m_query, "', got ", actual, ".")}; │ │ │ │ │ +374 "Expected 1 column from query '", *m_query, "', got ", _a_c_t_u_a_l, ".")}; │ │ │ │ │ 375 } │ │ │ │ │ 376 return *this; │ │ │ │ │ 377 } │ │ │ │ │ 378 │ │ │ │ │ 380 │ │ │ │ │ 383 _f_i_e_l_d one_field() const; │ │ │ │ │ 384 │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/result__iter_8hxx_source.html │ │ │ │ @@ -186,43 +186,44 @@ │ │ │ │
91 pqxx::result const m_home;
│ │ │ │
92};
│ │ │ │ │ │ │ │
93} // namespace pqxx::internal
│ │ │ │
94
│ │ │ │
95
│ │ │ │
│ │ │ │ -
96template<typename... TYPE> inline auto pqxx::result::iter() const
│ │ │ │ +
96template<typename... TYPE> inline auto pqxx::result::iter() const
│ │ │ │
97{
│ │ │ │ -
98 return pqxx::internal::result_iteration<TYPE...>{*this};
│ │ │ │ +
98 return pqxx::internal::result_iteration<TYPE...>{*this};
│ │ │ │
99}
│ │ │ │
│ │ │ │
100
│ │ │ │
101
│ │ │ │
102template<typename CALLABLE>
│ │ │ │
│ │ │ │ -
103inline void pqxx::result::for_each(CALLABLE &&func) const
│ │ │ │ + │ │ │ │
104{
│ │ │ │ -
105 using args_tuple = internal::args_t<decltype(func)>;
│ │ │ │ -
106 constexpr auto sz{std::tuple_size_v<args_tuple>};
│ │ │ │ +
105 using args_tuple = internal::args_t<decltype(func)>;
│ │ │ │ +
106 constexpr auto sz{std::tuple_size_v<args_tuple>};
│ │ │ │
107 static_assert(
│ │ │ │ -
108 sz > 0,
│ │ │ │ +
108 sz > 0,
│ │ │ │
109 "Callback for for_each must take parameters, one for each column in the "
│ │ │ │
110 "result.");
│ │ │ │
111
│ │ │ │ -
112 auto const cols{this->columns()};
│ │ │ │ -
113 if (sz != cols)
│ │ │ │ +
112 auto const cols{this->columns()};
│ │ │ │ +
113 if (sz != cols)
│ │ │ │ │ │ │ │ -
115 "Callback to for_each takes ", sz, "parameter", (sz == 1) ? "" : "s",
│ │ │ │ -
116 ", but result set has ", cols, "field", (cols == 1) ? "" : "s", ".")};
│ │ │ │ +
115 "Callback to for_each takes ", sz, "parameter", (sz == 1) ? "" : "s",
│ │ │ │ +
116 ", but result set has ", cols, "field", (cols == 1) ? "" : "s", ".")};
│ │ │ │
117
│ │ │ │ - │ │ │ │ -
119 for (auto const r : *this) std::apply(func, r.as_tuple<pass_tuple>());
│ │ │ │ + │ │ │ │ +
119 for (auto const r : *this) std::apply(func, r.as_tuple<pass_tuple>());
│ │ │ │
120}
│ │ │ │
│ │ │ │
121#endif
│ │ │ │ +
Reverse iterator for result. Use as result::const_reverse_iterator.
Definition result_iterator.hxx:196
│ │ │ │
Iterator for looped unpacking of a result.
Definition result_iter.hxx:27
│ │ │ │
result_iter()=default
Construct an "end" iterator.
│ │ │ │
bool operator==(result_iter const &rhs) const
Comparison only works for comparing to end().
Definition result_iter.hxx:53
│ │ │ │
Definition result_iter.hxx:72
│ │ │ │
Result set containing data returned by a query or command.
Definition result.hxx:92
│ │ │ │
void for_each(CALLABLE &&func) const
Run func on each row, passing the row's fields as parameters.
Definition result_iter.hxx:103
│ │ │ │
result expect_columns(row_size_type cols) const
Expect that result consists of exactly cols columns.
Definition result.hxx:363
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -85,40 +85,43 @@ │ │ │ │ │ 89 │ │ │ │ │ 90private: │ │ │ │ │ 91 _p_q_x_x_:_:_r_e_s_u_l_t const m_home; │ │ │ │ │ 92}; │ │ │ │ │ 93} // namespace pqxx::internal │ │ │ │ │ 94 │ │ │ │ │ 95 │ │ │ │ │ -_9_6template inline auto _p_q_x_x_:_:_r_e_s_u_l_t_:_:_i_t_e_r() const │ │ │ │ │ +_9_6template inline auto _p_q_x_x_:_:_r_e_s_u_l_t_:_:_i_t_e_r() const │ │ │ │ │ 97{ │ │ │ │ │ -98 return _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_r_e_s_u_l_t___i_t_e_r_a_t_i_o_n{*this}; │ │ │ │ │ +98 return _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_r_e_s_u_l_t___i_t_e_r_a_t_i_o_n<_T_Y_P_E...>{*this}; │ │ │ │ │ 99} │ │ │ │ │ 100 │ │ │ │ │ 101 │ │ │ │ │ 102template │ │ │ │ │ -_1_0_3inline void _p_q_x_x_:_:_r_e_s_u_l_t_:_:_f_o_r___e_a_c_h(CALLABLE &&func) const │ │ │ │ │ +_1_0_3inline void _p_q_x_x_:_:_r_e_s_u_l_t_:_:_f_o_r___e_a_c_h(_C_A_L_L_A_B_L_E &&_f_u_n_c) const │ │ │ │ │ 104{ │ │ │ │ │ -105 using args_tuple = _i_n_t_e_r_n_a_l_:_:_a_r_g_s___t; │ │ │ │ │ -106 constexpr auto sz{std::tuple_size_v}; │ │ │ │ │ +105 using _a_r_g_s___t_u_p_l_e = _i_n_t_e_r_n_a_l_:_:_a_r_g_s___t; │ │ │ │ │ +106 constexpr auto _s_z{std::tuple_size_v}; │ │ │ │ │ 107 static_assert( │ │ │ │ │ -108 sz > 0, │ │ │ │ │ +108 _s_z > 0, │ │ │ │ │ 109 "Callback for for_each must take parameters, one for each column in the " │ │ │ │ │ 110 "result."); │ │ │ │ │ 111 │ │ │ │ │ -112 auto const cols{this->columns()}; │ │ │ │ │ -113 if (sz != cols) │ │ │ │ │ +112 auto const _c_o_l_s{this->columns()}; │ │ │ │ │ +113 if (_s_z != _c_o_l_s) │ │ │ │ │ 114 throw _u_s_a_g_e___e_r_r_o_r{_i_n_t_e_r_n_a_l_:_:_c_o_n_c_a_t( │ │ │ │ │ -115 "Callback to for_each takes ", sz, "parameter", (sz == 1) ? "" : "s", │ │ │ │ │ -116 ", but result set has ", cols, "field", (cols == 1) ? "" : "s", ".")}; │ │ │ │ │ +115 "Callback to for_each takes ", _s_z, "parameter", (_s_z == 1) ? "" : "s", │ │ │ │ │ +116 ", but result set has ", _c_o_l_s, "field", (_c_o_l_s == 1) ? "" : "s", ".")}; │ │ │ │ │ 117 │ │ │ │ │ -118 using pass_tuple = _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_s_t_r_i_p___t_y_p_e_s___t_<_a_r_g_s___t_u_p_l_e_>; │ │ │ │ │ -119 for (auto const r : *this) std::apply(func, r.as_tuple()); │ │ │ │ │ +118 using _p_a_s_s___t_u_p_l_e = _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_s_t_r_i_p___t_y_p_e_s___t_<_a_r_g_s___t_u_p_l_e_>; │ │ │ │ │ +119 for (auto const _r : *this) std::apply(_f_u_n_c, _r.as_tuple<_p_a_s_s___t_u_p_l_e>()); │ │ │ │ │ 120} │ │ │ │ │ 121#endif │ │ │ │ │ +_p_q_x_x_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ +Reverse iterator for result. Use as result::const_reverse_iterator. │ │ │ │ │ +DDeeffiinniittiioonn result_iterator.hxx:196 │ │ │ │ │ _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_r_e_s_u_l_t___i_t_e_r │ │ │ │ │ Iterator for looped unpacking of a result. │ │ │ │ │ DDeeffiinniittiioonn result_iter.hxx:27 │ │ │ │ │ _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_r_e_s_u_l_t___i_t_e_r_:_:_r_e_s_u_l_t___i_t_e_r │ │ │ │ │ result_iter()=default │ │ │ │ │ Construct an "end" iterator. │ │ │ │ │ _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_r_e_s_u_l_t___i_t_e_r_:_:_o_p_e_r_a_t_o_r_=_= │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html │ │ │ │ @@ -127,32 +127,32 @@ │ │ │ │
28
│ │ │ │
│ │ │ │
32class PQXX_LIBEXPORT const_result_iterator : public row
│ │ │ │
33{
│ │ │ │
34public:
│ │ │ │
35 // TODO: Change operator[] so this becomes a proper random_access_iterator.
│ │ │ │
36 using iterator_category = std::bidirectional_iterator_tag;
│ │ │ │ -
37 using value_type = row const;
│ │ │ │ -
38 using pointer = row const *;
│ │ │ │ +
37 using value_type = row const;
│ │ │ │ +
38 using pointer = row const *;
│ │ │ │
39 using reference = row;
│ │ │ │
40 using size_type = result_size_type;
│ │ │ │
41 using difference_type = result_difference_type;
│ │ │ │
42
│ │ │ │
43#include "pqxx/internal/ignore-deprecated-pre.hxx"
│ │ │ │ -
45 const_result_iterator() noexcept = default;
│ │ │ │ -
47 const_result_iterator(const_result_iterator const &) noexcept = default;
│ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │
50
│ │ │ │ -
52 const_result_iterator(row const &t) noexcept : row{t} {}
│ │ │ │ + │ │ │ │
53#include "pqxx/internal/ignore-deprecated-post.hxx"
│ │ │ │
54
│ │ │ │ -
70 [[nodiscard]] pointer operator->() const { return this; }
│ │ │ │ +
70 [[nodiscard]] pointer operator->() const { return this; }
│ │ │ │
71
│ │ │ │
72#include "pqxx/internal/ignore-deprecated-pre.hxx"
│ │ │ │ -
74 [[nodiscard]] reference operator*() const { return *this; }
│ │ │ │ +
74 [[nodiscard]] reference operator*() const { return *this; }
│ │ │ │
75#include "pqxx/internal/ignore-deprecated-post.hxx"
│ │ │ │
77
│ │ │ │
82 using row::back;
│ │ │ │
83 using row::front;
│ │ │ │
84 // TODO: Replace with standard operator[]: i[n] == *(i + n).
│ │ │ │
85 using row::operator[];
│ │ │ │
86 using row::at;
│ │ │ │ @@ -195,18 +195,18 @@ │ │ │ │
128 const_result_iterator &operator-=(difference_type i)
│ │ │ │
129 {
│ │ │ │
130 m_index -= i;
│ │ │ │
131 return *this;
│ │ │ │
132 }
│ │ │ │
133
│ │ │ │
│ │ │ │ -
135 void swap(const_result_iterator &other) noexcept
│ │ │ │ + │ │ │ │
136 {
│ │ │ │
137#include "pqxx/internal/ignore-deprecated-pre.hxx"
│ │ │ │ -
138 row::swap(other);
│ │ │ │ +
138 row::swap(other);
│ │ │ │
139#include "pqxx/internal/ignore-deprecated-post.hxx"
│ │ │ │
140 }
│ │ │ │
│ │ │ │
142
│ │ │ │
147 [[nodiscard]] bool operator==(const_result_iterator const &i) const
│ │ │ │
148 {
│ │ │ │
149 return m_index == i.m_index;
│ │ │ │ @@ -232,54 +232,54 @@ │ │ │ │
169 return m_index >= i.m_index;
│ │ │ │
170 }
│ │ │ │
172
│ │ │ │
177 [[nodiscard]] inline const_result_iterator operator+(difference_type) const;
│ │ │ │
178 friend const_result_iterator
│ │ │ │
179 operator+(difference_type, const_result_iterator const &);
│ │ │ │
│ │ │ │ -
180 [[nodiscard]] inline const_result_iterator operator-(difference_type) const;
│ │ │ │ -
181 [[nodiscard]] inline difference_type
│ │ │ │ +
180 [[nodiscard]] inline const_result_iterator operator-(difference_type) const;
│ │ │ │ +
181 [[nodiscard]] inline difference_type
│ │ │ │
│ │ │ │
182 operator-(const_result_iterator const &) const;
│ │ │ │
184
│ │ │ │
185private:
│ │ │ │
186 friend class pqxx::result;
│ │ │ │ - │ │ │ │ -
188 row{*r, i, r->columns()}
│ │ │ │ + │ │ │ │ +
188 row{*r, i, r->columns()}
│ │ │ │
189 {}
│ │ │ │
190};
│ │ │ │
191
│ │ │ │
192
│ │ │ │
│ │ │ │ │ │ │ │
195 : private const_result_iterator
│ │ │ │
196{
│ │ │ │
197public:
│ │ │ │ │ │ │ │ │ │ │ │
200 using iterator_type::difference_type;
│ │ │ │
201 using iterator_type::iterator_category;
│ │ │ │ -
202 using iterator_type::pointer;
│ │ │ │ -
203 using value_type = iterator_type::value_type;
│ │ │ │ + │ │ │ │ + │ │ │ │ │ │ │ │
205
│ │ │ │ │ │ │ │ - │ │ │ │ + │ │ │ │
210 default;
│ │ │ │
│ │ │ │ - │ │ │ │ - │ │ │ │ + │ │ │ │ + │ │ │ │
214 {
│ │ │ │
215 super::operator--();
│ │ │ │
216 }
│ │ │ │
│ │ │ │
217
│ │ │ │
│ │ │ │ - │ │ │ │ -
220 const_result_iterator{std::move(rhs)}
│ │ │ │ + │ │ │ │ +
220 const_result_iterator{std::move(rhs)}
│ │ │ │
221 {
│ │ │ │
222 super::operator--();
│ │ │ │
223 }
│ │ │ │
│ │ │ │
224
│ │ │ │
226 [[nodiscard]] PQXX_PURE const_result_iterator base() const noexcept;
│ │ │ │
227
│ │ │ │ @@ -431,14 +431,15 @@ │ │ │ │
const_result_iterator() noexcept=default
Create an iterator, but in an unusable state.
│ │ │ │
reference operator*() const
Dereference the iterator.
Definition result_iterator.hxx:74
│ │ │ │
Reverse iterator for result. Use as result::const_reverse_iterator.
Definition result_iterator.hxx:196
│ │ │ │
const_reverse_result_iterator(const_reverse_result_iterator const &rhs)=default
Copy an iterator.
│ │ │ │
const_reverse_result_iterator(const_result_iterator const &rhs)
Copy a reverse iterator from a regular iterator.
Definition result_iterator.hxx:212
│ │ │ │
const_reverse_result_iterator(const_result_iterator const &&rhs)
Move a regular iterator into a reverse iterator.
Definition result_iterator.hxx:219
│ │ │ │
const_reverse_result_iterator()=default
Create an iterator, but in an unusable state.
│ │ │ │ +
Reverse iterator for a row. Use as row::const_reverse_iterator.
Definition row.hxx:411
│ │ │ │
Result set containing data returned by a query or command.
Definition result.hxx:92
│ │ │ │
Reference to one row in a result.
Definition row.hxx:47
│ │ │ │
result m_result
Result set of which this is one row.
Definition row.hxx:249
│ │ │ │
result::size_type m_index
Row number.
Definition row.hxx:256
│ │ │ │
The home of all libpqxx classes, functions, templates, etc.
Definition array.cxx:27
│ │ │ │
int result_difference_type
Difference between result sizes.
Definition types.hxx:31
│ │ │ │
int result_size_type
Number of rows in a result set.
Definition types.hxx:28
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -33,32 +33,32 @@ │ │ │ │ │ 26{ │ │ │ │ │ 28 │ │ │ │ │ _3_2class PQXX_LIBEXPORT _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r : public _r_o_w │ │ │ │ │ 33{ │ │ │ │ │ 34public: │ │ │ │ │ 35 // TODO: Change operator[] so this becomes a proper random_access_iterator. │ │ │ │ │ 36 using iterator_category = std::bidirectional_iterator_tag; │ │ │ │ │ -37 using value_type = _r_o_w const; │ │ │ │ │ -38 using pointer = _r_o_w const *; │ │ │ │ │ +37 using _v_a_l_u_e___t_y_p_e = _r_o_w const; │ │ │ │ │ +38 using _p_o_i_n_t_e_r = _r_o_w const *; │ │ │ │ │ 39 using _r_e_f_e_r_e_n_c_e = _r_o_w; │ │ │ │ │ 40 using size_type = _r_e_s_u_l_t___s_i_z_e___t_y_p_e; │ │ │ │ │ 41 using difference_type = _r_e_s_u_l_t___d_i_f_f_e_r_e_n_c_e___t_y_p_e; │ │ │ │ │ 42 │ │ │ │ │ 43#include "pqxx/internal/ignore-deprecated-pre.hxx" │ │ │ │ │ -_4_5 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r() noexcept = default; │ │ │ │ │ -_4_7 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &) noexcept = default; │ │ │ │ │ -_4_9 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &&) noexcept = default; │ │ │ │ │ +_4_5 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r() _n_o_e_x_c_e_p_t = _d_e_f_a_u_l_t; │ │ │ │ │ +_4_7 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r _c_o_n_s_t &) _n_o_e_x_c_e_p_t = _d_e_f_a_u_l_t; │ │ │ │ │ +_4_9 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &&) _n_o_e_x_c_e_p_t = _d_e_f_a_u_l_t; │ │ │ │ │ 50 │ │ │ │ │ -_5_2 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_r_o_w const &t) noexcept : _r_o_w{t} {} │ │ │ │ │ +_5_2 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_r_o_w _c_o_n_s_t &_t) _n_o_e_x_c_e_p_t : _r_o_w{_t} {} │ │ │ │ │ 53#include "pqxx/internal/ignore-deprecated-post.hxx" │ │ │ │ │ 54 │ │ │ │ │ -_7_0 [[nodiscard]] pointer _o_p_e_r_a_t_o_r_-_>() const { return this; } │ │ │ │ │ +_7_0 [[_n_o_d_i_s_c_a_r_d]] _p_o_i_n_t_e_r _o_p_e_r_a_t_o_r_-_>() const { return this; } │ │ │ │ │ 71 │ │ │ │ │ 72#include "pqxx/internal/ignore-deprecated-pre.hxx" │ │ │ │ │ -_7_4 [[nodiscard]] _r_e_f_e_r_e_n_c_e _o_p_e_r_a_t_o_r_*() const { return *this; } │ │ │ │ │ +_7_4 [[_n_o_d_i_s_c_a_r_d]] _r_e_f_e_r_e_n_c_e _o_p_e_r_a_t_o_r_*() const { return *this; } │ │ │ │ │ 75#include "pqxx/internal/ignore-deprecated-post.hxx" │ │ │ │ │ 77 │ │ │ │ │ 82 using row::back; │ │ │ │ │ 83 using row::front; │ │ │ │ │ 84 // TODO: Replace with standard operator[]: i[n] == *(i + n). │ │ │ │ │ 85 using row::operator[]; │ │ │ │ │ 86 using row::at; │ │ │ │ │ @@ -100,18 +100,18 @@ │ │ │ │ │ 127 } │ │ │ │ │ 128 const_result_iterator &operator-=(difference_type i) │ │ │ │ │ 129 { │ │ │ │ │ 130 m_index -= i; │ │ │ │ │ 131 return *this; │ │ │ │ │ 132 } │ │ │ │ │ 133 │ │ │ │ │ -_1_3_5 void _s_w_a_p(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &other) noexcept │ │ │ │ │ +_1_3_5 void _s_w_a_p(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r &_o_t_h_e_r) noexcept │ │ │ │ │ 136 { │ │ │ │ │ 137#include "pqxx/internal/ignore-deprecated-pre.hxx" │ │ │ │ │ -138 row::swap(other); │ │ │ │ │ +138 row::swap(_o_t_h_e_r); │ │ │ │ │ 139#include "pqxx/internal/ignore-deprecated-post.hxx" │ │ │ │ │ 140 } │ │ │ │ │ 142 │ │ │ │ │ 147 [[nodiscard]] bool operator==(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &i) const │ │ │ │ │ 148 { │ │ │ │ │ 149 return m_index == i._m___i_n_d_e_x; │ │ │ │ │ 150 } │ │ │ │ │ @@ -136,50 +136,50 @@ │ │ │ │ │ 169 return m_index >= i.m_index; │ │ │ │ │ 170 } │ │ │ │ │ 172 │ │ │ │ │ 177 [[nodiscard]] inline const_result_iterator operator+(difference_type) │ │ │ │ │ const; │ │ │ │ │ 178 friend const_result_iterator │ │ │ │ │ 179 operator+(difference_type, const_result_iterator const &); │ │ │ │ │ -_1_8_0 [[nodiscard]] inline _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r operator-(difference_type) │ │ │ │ │ +_1_8_0 [[_n_o_d_i_s_c_a_r_d]] inline _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r operator-(difference_type) │ │ │ │ │ const; │ │ │ │ │ -181 [[nodiscard]] inline difference_type │ │ │ │ │ +181 [[_n_o_d_i_s_c_a_r_d]] inline difference_type │ │ │ │ │ _1_8_2 operator-(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &) const; │ │ │ │ │ 184 │ │ │ │ │ 185private: │ │ │ │ │ 186 friend class _p_q_x_x_:_:_r_e_s_u_l_t; │ │ │ │ │ -187 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_p_q_x_x_:_:_r_e_s_u_l_t const *r, _r_e_s_u_l_t___s_i_z_e___t_y_p_e i) noexcept : │ │ │ │ │ -188 _r_o_w{*r, i, r->columns()} │ │ │ │ │ +187 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_p_q_x_x_:_:_r_e_s_u_l_t const *_r, _r_e_s_u_l_t___s_i_z_e___t_y_p_e _i) _n_o_e_x_c_e_p_t : │ │ │ │ │ +188 _r_o_w{*_r, _i, _r->columns()} │ │ │ │ │ 189 {} │ │ │ │ │ 190}; │ │ │ │ │ 191 │ │ │ │ │ 192 │ │ │ │ │ _1_9_4class PQXX_LIBEXPORT _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ 195 : private _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ 196{ │ │ │ │ │ 197public: │ │ │ │ │ 198 using _s_u_p_e_r = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r; │ │ │ │ │ 199 using _i_t_e_r_a_t_o_r___t_y_p_e = _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r; │ │ │ │ │ 200 using iterator_type::difference_type; │ │ │ │ │ 201 using iterator_type::iterator_category; │ │ │ │ │ -202 using iterator_type::pointer; │ │ │ │ │ -203 using value_type = iterator_type::value_type; │ │ │ │ │ +202 using _i_t_e_r_a_t_o_r___t_y_p_e_:_:_p_o_i_n_t_e_r; │ │ │ │ │ +203 using _v_a_l_u_e___t_y_p_e = _i_t_e_r_a_t_o_r___t_y_p_e_:_:_v_a_l_u_e___t_y_p_e; │ │ │ │ │ 204 using _r_e_f_e_r_e_n_c_e = _i_t_e_r_a_t_o_r___t_y_p_e_:_:_r_e_f_e_r_e_n_c_e; │ │ │ │ │ 205 │ │ │ │ │ _2_0_7 _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r() = default; │ │ │ │ │ -_2_0_9 _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &rhs) = │ │ │ │ │ +_2_0_9 _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &_r_h_s) = │ │ │ │ │ 210 default; │ │ │ │ │ -_2_1_2 explicit _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &rhs) : │ │ │ │ │ -213 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r{rhs} │ │ │ │ │ +_2_1_2 explicit _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &_r_h_s) : │ │ │ │ │ +213 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r{_r_h_s} │ │ │ │ │ 214 { │ │ │ │ │ 215 super::operator--(); │ │ │ │ │ 216 } │ │ │ │ │ 217 │ │ │ │ │ -_2_1_9 explicit _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &&rhs) : │ │ │ │ │ -220 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r{std::move(rhs)} │ │ │ │ │ +_2_1_9 explicit _c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r(_c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r const &&_r_h_s) : │ │ │ │ │ +220 _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r{std::move(_r_h_s)} │ │ │ │ │ 221 { │ │ │ │ │ 222 super::operator--(); │ │ │ │ │ 223 } │ │ │ │ │ 224 │ │ │ │ │ 226 [[nodiscard]] PQXX_PURE _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r base() const noexcept; │ │ │ │ │ 227 │ │ │ │ │ 233 using _c_o_n_s_t___r_e_s_u_l_t___i_t_e_r_a_t_o_r::operator->; │ │ │ │ │ @@ -355,14 +355,17 @@ │ │ │ │ │ _p_q_x_x_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ const_reverse_result_iterator(const_result_iterator const &&rhs) │ │ │ │ │ Move a regular iterator into a reverse iterator. │ │ │ │ │ DDeeffiinniittiioonn result_iterator.hxx:219 │ │ │ │ │ _p_q_x_x_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_e_s_u_l_t___i_t_e_r_a_t_o_r │ │ │ │ │ const_reverse_result_iterator()=default │ │ │ │ │ Create an iterator, but in an unusable state. │ │ │ │ │ +_p_q_x_x_:_:_c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r │ │ │ │ │ +Reverse iterator for a row. Use as row::const_reverse_iterator. │ │ │ │ │ +DDeeffiinniittiioonn row.hxx:411 │ │ │ │ │ _p_q_x_x_:_:_r_e_s_u_l_t │ │ │ │ │ Result set containing data returned by a query or command. │ │ │ │ │ DDeeffiinniittiioonn result.hxx:92 │ │ │ │ │ _p_q_x_x_:_:_r_o_w │ │ │ │ │ Reference to one row in a result. │ │ │ │ │ DDeeffiinniittiioonn row.hxx:47 │ │ │ │ │ _p_q_x_x_:_:_r_o_w_:_:_m___r_e_s_u_l_t │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html │ │ │ │ @@ -149,104 +149,104 @@ │ │ │ │
59
│ │ │ │
60 row() noexcept = default;
│ │ │ │
61 row(row &&) noexcept = default;
│ │ │ │
62 row(row const &) noexcept = default;
│ │ │ │
63 row &operator=(row const &) noexcept = default;
│ │ │ │
64 row &operator=(row &&) noexcept = default;
│ │ │ │
65
│ │ │ │ -
70 [[nodiscard]] PQXX_PURE bool operator==(row const &) const noexcept;
│ │ │ │ -
71 [[nodiscard]] bool operator!=(row const &rhs) const noexcept
│ │ │ │ +
70 [[nodiscard]] PQXX_PURE bool operator==(row const &) const noexcept;
│ │ │ │ +
71 [[nodiscard]] bool operator!=(row const &rhs) const noexcept
│ │ │ │
72 {
│ │ │ │ -
73 return not operator==(rhs);
│ │ │ │ +
73 return not operator==(rhs);
│ │ │ │
74 }
│ │ │ │
76
│ │ │ │ -
77 [[nodiscard]] const_iterator begin() const noexcept;
│ │ │ │ -
78 [[nodiscard]] const_iterator cbegin() const noexcept;
│ │ │ │ -
79 [[nodiscard]] const_iterator end() const noexcept;
│ │ │ │ -
80 [[nodiscard]] const_iterator cend() const noexcept;
│ │ │ │ +
77 [[nodiscard]] const_iterator begin() const noexcept;
│ │ │ │ +
78 [[nodiscard]] const_iterator cbegin() const noexcept;
│ │ │ │ +
79 [[nodiscard]] const_iterator end() const noexcept;
│ │ │ │ +
80 [[nodiscard]] const_iterator cend() const noexcept;
│ │ │ │
81
│ │ │ │ -
86 [[nodiscard]] reference front() const noexcept;
│ │ │ │ +
86 [[nodiscard]] reference front() const noexcept;
│ │ │ │
│ │ │ │ -
87 [[nodiscard]] reference back() const noexcept;
│ │ │ │ + │ │ │ │
88
│ │ │ │ -
89 [[nodiscard]] const_reverse_row_iterator rbegin() const noexcept;
│ │ │ │ -
90 [[nodiscard]] const_reverse_row_iterator crbegin() const noexcept;
│ │ │ │ -
91 [[nodiscard]] const_reverse_row_iterator rend() const noexcept;
│ │ │ │ -
92 [[nodiscard]] const_reverse_row_iterator crend() const noexcept;
│ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │ + │ │ │ │
93
│ │ │ │ -
94 [[nodiscard]] reference operator[](size_type) const noexcept;
│ │ │ │ -
98 [[nodiscard]] reference operator[](zview col_name) const;
│ │ │ │ +
94 [[nodiscard]] reference operator[](size_type) const noexcept;
│ │ │ │ +
98 [[nodiscard]] reference operator[](zview col_name) const;
│ │ │ │
99
│ │ │ │ -
100 reference at(size_type) const;
│ │ │ │ -
104 reference at(zview col_name) const;
│ │ │ │ +
100 reference at(size_type) const;
│ │ │ │ + │ │ │ │
105
│ │ │ │ -
106 [[nodiscard]] constexpr size_type size() const noexcept
│ │ │ │ +
106 [[nodiscard]] constexpr size_type size() const noexcept
│ │ │ │
107 {
│ │ │ │
108 return m_end - m_begin;
│ │ │ │
109 }
│ │ │ │
110
│ │ │ │
│ │ │ │ -
112 [[nodiscard]] constexpr result::size_type rownumber() const noexcept
│ │ │ │ +
112 [[nodiscard]] constexpr result::size_type rownumber() const noexcept
│ │ │ │
113 {
│ │ │ │
114 return m_index;
│ │ │ │
115 }
│ │ │ │
│ │ │ │
│ │ │ │
116
│ │ │ │
122 [[nodiscard]] size_type column_number(zview col_name) const;
│ │ │ │
123
│ │ │ │
125 [[nodiscard]] oid column_type(size_type) const;
│ │ │ │
126
│ │ │ │
│ │ │ │ -
128 [[nodiscard]] oid column_type(zview col_name) const
│ │ │ │ + │ │ │ │
129 {
│ │ │ │ -
130 return column_type(column_number(col_name));
│ │ │ │ +
130 return column_type(column_number(col_name));
│ │ │ │
131 }
│ │ │ │
│ │ │ │
132
│ │ │ │
134 [[nodiscard]] oid column_table(size_type col_num) const;
│ │ │ │
135
│ │ │ │
│ │ │ │ -
137 [[nodiscard]] oid column_table(zview col_name) const
│ │ │ │ + │ │ │ │
138 {
│ │ │ │ -
139 return column_table(column_number(col_name));
│ │ │ │ +
139 return column_table(column_number(col_name));
│ │ │ │
140 }
│ │ │ │
│ │ │ │
141
│ │ │ │
143
│ │ │ │
150 [[nodiscard]] size_type table_column(size_type) const;
│ │ │ │
151
│ │ │ │
│ │ │ │ -
153 [[nodiscard]] size_type table_column(zview col_name) const
│ │ │ │ + │ │ │ │
154 {
│ │ │ │ -
155 return table_column(column_number(col_name));
│ │ │ │ +
155 return table_column(column_number(col_name));
│ │ │ │
156 }
│ │ │ │
│ │ │ │
158
│ │ │ │
159 [[nodiscard]] constexpr result::size_type num() const noexcept
│ │ │ │
160 {
│ │ │ │
161 return rownumber();
│ │ │ │
162 }
│ │ │ │
163
│ │ │ │
165
│ │ │ │
│ │ │ │ -
173 template<typename Tuple> void to(Tuple &t) const
│ │ │ │ +
173 template<typename Tuple> void to(Tuple &t) const
│ │ │ │
174 {
│ │ │ │
175 check_size(std::tuple_size_v<Tuple>);
│ │ │ │ -
176 convert(t);
│ │ │ │ +
176 convert(t);
│ │ │ │
177 }
│ │ │ │
│ │ │ │
178
│ │ │ │
180
│ │ │ │
│ │ │ │ -
188 template<typename... TYPE> std::tuple<TYPE...> as() const
│ │ │ │ +
188 template<typename... TYPE> std::tuple<TYPE...> as() const
│ │ │ │
189 {
│ │ │ │ -
190 check_size(sizeof...(TYPE));
│ │ │ │ -
191 using seq = std::make_index_sequence<sizeof...(TYPE)>;
│ │ │ │ -
192 return get_tuple<std::tuple<TYPE...>>(seq{});
│ │ │ │ +
190 check_size(sizeof...(TYPE));
│ │ │ │ +
191 using seq = std::make_index_sequence<sizeof...(TYPE)>;
│ │ │ │ +
192 return get_tuple<std::tuple<TYPE...>>(seq{});
│ │ │ │
193 }
│ │ │ │
│ │ │ │
194
│ │ │ │
195 [[deprecated("Swap iterators, not rows.")]] void swap(row &) noexcept;
│ │ │ │
196
│ │ │ │
208 [[deprecated("Row slicing is going away. File a bug if you need it.")]] row
│ │ │ │
209 slice(size_type sbegin, size_type send) const;
│ │ │ │ @@ -256,37 +256,37 @@ │ │ │ │
214
│ │ │ │
215protected:
│ │ │ │
216 friend class const_row_iterator;
│ │ │ │
217 friend class result;
│ │ │ │
218 row(result r, result_size_type index, size_type cols) noexcept;
│ │ │ │
219
│ │ │ │
│ │ │ │ -
221 void check_size(size_type expected) const
│ │ │ │ +
221 void check_size(size_type expected) const
│ │ │ │
222 {
│ │ │ │ -
223 if (size() != expected)
│ │ │ │ +
223 if (size() != expected)
│ │ │ │
224 throw usage_error{internal::concat(
│ │ │ │ -
225 "Tried to extract ", expected, " field(s) from a row of ", size(),
│ │ │ │ +
225 "Tried to extract ", expected, " field(s) from a row of ", size(),
│ │ │ │
226 ".")};
│ │ │ │
227 }
│ │ │ │
│ │ │ │
228
│ │ │ │
230
│ │ │ │
│ │ │ │ -
233 template<typename TUPLE> TUPLE as_tuple() const
│ │ │ │ +
233 template<typename TUPLE> TUPLE as_tuple() const
│ │ │ │
234 {
│ │ │ │ -
235 using seq = std::make_index_sequence<std::tuple_size_v<TUPLE>>;
│ │ │ │ -
236 return get_tuple<TUPLE>(seq{});
│ │ │ │ +
235 using seq = std::make_index_sequence<std::tuple_size_v<TUPLE>>;
│ │ │ │ +
236 return get_tuple<TUPLE>(seq{});
│ │ │ │
237 }
│ │ │ │
│ │ │ │
238
│ │ │ │
239 template<typename... T> friend class pqxx::internal::result_iter;
│ │ │ │
│ │ │ │ -
241 template<typename Tuple> void convert(Tuple &t) const
│ │ │ │ +
241 template<typename Tuple> void convert(Tuple &t) const
│ │ │ │
242 {
│ │ │ │ -
243 extract_fields(t, std::make_index_sequence<std::tuple_size_v<Tuple>>{});
│ │ │ │ +
243 extract_fields(t, std::make_index_sequence<std::tuple_size_v<Tuple>>{});
│ │ │ │
244 }
│ │ │ │
│ │ │ │
245
│ │ │ │
246 friend class field;
│ │ │ │
247
│ │ │ │ │ │ │ │
250
│ │ │ │ @@ -294,18 +294,18 @@ │ │ │ │
256 result::size_type m_index = 0;
│ │ │ │
257
│ │ │ │
258 // TODO: Remove m_begin and (if possible) m_end when we remove slice().
│ │ │ │
260 size_type m_begin = 0;
│ │ │ │
262 size_type m_end = 0;
│ │ │ │
263
│ │ │ │
264private:
│ │ │ │ -
265 template<typename Tuple, std::size_t... indexes>
│ │ │ │ -
266 void extract_fields(Tuple &t, std::index_sequence<indexes...>) const
│ │ │ │ +
265 template<typename Tuple, std::size_t... indexes>
│ │ │ │ +
266 void extract_fields(Tuple &t, std::index_sequence<indexes...>) const
│ │ │ │
267 {
│ │ │ │ -
268 (extract_value<Tuple, indexes>(t), ...);
│ │ │ │ + │ │ │ │
269 }
│ │ │ │
270
│ │ │ │
271 template<typename Tuple, std::size_t index>
│ │ │ │
272 void extract_value(Tuple &t) const;
│ │ │ │
273
│ │ │ │
275 template<typename TUPLE, std::size_t... indexes>
│ │ │ │
276 auto get_tuple(std::index_sequence<indexes...>) const
│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -54,91 +54,91 @@ │ │ │ │ │ 59 │ │ │ │ │ 60 _r_o_w() noexcept = default; │ │ │ │ │ 61 _r_o_w(_r_o_w &&) noexcept = default; │ │ │ │ │ 62 _r_o_w(_r_o_w const &) noexcept = default; │ │ │ │ │ 63 _r_o_w &operator=(_r_o_w const &) noexcept = default; │ │ │ │ │ 64 _r_o_w &operator=(_r_o_w &&) noexcept = default; │ │ │ │ │ 65 │ │ │ │ │ -70 [[nodiscard]] PQXX_PURE bool operator==(_r_o_w const &) const noexcept; │ │ │ │ │ -71 [[nodiscard]] bool operator!=(_r_o_w const &rhs) const noexcept │ │ │ │ │ +70 [[_n_o_d_i_s_c_a_r_d]] PQXX_PURE bool operator==(_r_o_w const &) const noexcept; │ │ │ │ │ +71 [[_n_o_d_i_s_c_a_r_d]] bool operator!=(_r_o_w const &_r_h_s) const noexcept │ │ │ │ │ 72 { │ │ │ │ │ -73 return not operator==(rhs); │ │ │ │ │ +73 return _n_o_t operator==(_r_h_s); │ │ │ │ │ 74 } │ │ │ │ │ 76 │ │ │ │ │ -77 [[nodiscard]] _c_o_n_s_t___i_t_e_r_a_t_o_r begin() const noexcept; │ │ │ │ │ -78 [[nodiscard]] _c_o_n_s_t___i_t_e_r_a_t_o_r cbegin() const noexcept; │ │ │ │ │ -79 [[nodiscard]] _c_o_n_s_t___i_t_e_r_a_t_o_r end() const noexcept; │ │ │ │ │ -80 [[nodiscard]] _c_o_n_s_t___i_t_e_r_a_t_o_r cend() const noexcept; │ │ │ │ │ +77 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___i_t_e_r_a_t_o_r begin() const noexcept; │ │ │ │ │ +78 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___i_t_e_r_a_t_o_r cbegin() const noexcept; │ │ │ │ │ +79 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___i_t_e_r_a_t_o_r end() const noexcept; │ │ │ │ │ +80 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___i_t_e_r_a_t_o_r cend() const noexcept; │ │ │ │ │ 81 │ │ │ │ │ -86 [[nodiscard]] _r_e_f_e_r_e_n_c_e front() const noexcept; │ │ │ │ │ -_8_7 [[nodiscard]] _r_e_f_e_r_e_n_c_e back() const noexcept; │ │ │ │ │ +86 [[_n_o_d_i_s_c_a_r_d]] _r_e_f_e_r_e_n_c_e front() const noexcept; │ │ │ │ │ +_8_7 [[_n_o_d_i_s_c_a_r_d]] _r_e_f_e_r_e_n_c_e back() _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ 88 │ │ │ │ │ -89 [[nodiscard]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r rbegin() const noexcept; │ │ │ │ │ -90 [[nodiscard]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r crbegin() const noexcept; │ │ │ │ │ -91 [[nodiscard]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r rend() const noexcept; │ │ │ │ │ -92 [[nodiscard]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r crend() const noexcept; │ │ │ │ │ +89 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r rbegin() _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ +90 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r crbegin() _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ +91 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r rend() _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ +92 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t___r_e_v_e_r_s_e___r_o_w___i_t_e_r_a_t_o_r crend() _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ 93 │ │ │ │ │ -94 [[nodiscard]] _r_e_f_e_r_e_n_c_e operator[](size_type) const noexcept; │ │ │ │ │ -98 [[nodiscard]] _r_e_f_e_r_e_n_c_e operator[](_z_v_i_e_w col_name) const; │ │ │ │ │ +94 [[_n_o_d_i_s_c_a_r_d]] _r_e_f_e_r_e_n_c_e operator[](size_type) _c_o_n_s_t _n_o_e_x_c_e_p_t; │ │ │ │ │ +98 [[_n_o_d_i_s_c_a_r_d]] _r_e_f_e_r_e_n_c_e operator[](_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t; │ │ │ │ │ 99 │ │ │ │ │ -100 _r_e_f_e_r_e_n_c_e at(size_type) const; │ │ │ │ │ -104 _r_e_f_e_r_e_n_c_e at(_z_v_i_e_w col_name) const; │ │ │ │ │ +100 _r_e_f_e_r_e_n_c_e at(size_type) _c_o_n_s_t; │ │ │ │ │ +104 _r_e_f_e_r_e_n_c_e at(_z_v_i_e_w _c_o_l___n_a_m_e) _c_o_n_s_t; │ │ │ │ │ 105 │ │ │ │ │ -106 [[nodiscard]] constexpr size_type size() const noexcept │ │ │ │ │ +106 [[_n_o_d_i_s_c_a_r_d]] _c_o_n_s_t_e_x_p_r size_type size() _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │ 107 { │ │ │ │ │ 108 return m_end - m_begin; │ │ │ │ │ 109 } │ │ │ │ │ 110 │ │ │ │ │ -_1_1_2 [[nodiscard]] constexpr result::size_type _r_o_w_n_u_m_b_e_r() const noexcept │ │ │ │ │ +_1_1_2 [[_n_o_d_i_s_c_a_r_d]] constexpr result::size_type _r_o_w_n_u_m_b_e_r() _c_o_n_s_t _n_o_e_x_c_e_p_t │ │ │ │ │ 113 { │ │ │ │ │ 114 return m_index; │ │ │ │ │ 115 } │ │ │ │ │ 116 │ │ │ │ │ 122 [[nodiscard]] size_type column_number(_z_v_i_e_w col_name) const; │ │ │ │ │ 123 │ │ │ │ │ 125 [[nodiscard]] _o_i_d column_type(size_type) const; │ │ │ │ │ 126 │ │ │ │ │ -_1_2_8 [[nodiscard]] _o_i_d _c_o_l_u_m_n___t_y_p_e(_z_v_i_e_w col_name) const │ │ │ │ │ +_1_2_8 [[_n_o_d_i_s_c_a_r_d]] _o_i_d _c_o_l_u_m_n___t_y_p_e(_z_v_i_e_w _c_o_l___n_a_m_e) const │ │ │ │ │ 129 { │ │ │ │ │ -130 return column_type(column_number(col_name)); │ │ │ │ │ +130 return column_type(column_number(_c_o_l___n_a_m_e)); │ │ │ │ │ 131 } │ │ │ │ │ 132 │ │ │ │ │ 134 [[nodiscard]] _o_i_d column_table(size_type col_num) const; │ │ │ │ │ 135 │ │ │ │ │ -_1_3_7 [[nodiscard]] _o_i_d _c_o_l_u_m_n___t_a_b_l_e(_z_v_i_e_w col_name) const │ │ │ │ │ +_1_3_7 [[_n_o_d_i_s_c_a_r_d]] _o_i_d _c_o_l_u_m_n___t_a_b_l_e(_z_v_i_e_w _c_o_l___n_a_m_e) const │ │ │ │ │ 138 { │ │ │ │ │ -139 return column_table(column_number(col_name)); │ │ │ │ │ +139 return column_table(column_number(_c_o_l___n_a_m_e)); │ │ │ │ │ 140 } │ │ │ │ │ 141 │ │ │ │ │ 143 │ │ │ │ │ 150 [[nodiscard]] size_type table_column(size_type) const; │ │ │ │ │ 151 │ │ │ │ │ -_1_5_3 [[nodiscard]] size_type _t_a_b_l_e___c_o_l_u_m_n(_z_v_i_e_w col_name) const │ │ │ │ │ +_1_5_3 [[_n_o_d_i_s_c_a_r_d]] size_type _t_a_b_l_e___c_o_l_u_m_n(_z_v_i_e_w _c_o_l___n_a_m_e) const │ │ │ │ │ 154 { │ │ │ │ │ -155 return table_column(column_number(col_name)); │ │ │ │ │ +155 return table_column(column_number(_c_o_l___n_a_m_e)); │ │ │ │ │ 156 } │ │ │ │ │ 158 │ │ │ │ │ 159 [[nodiscard]] constexpr result::size_type num() const noexcept │ │ │ │ │ 160 { │ │ │ │ │ 161 return rownumber(); │ │ │ │ │ 162 } │ │ │ │ │ 163 │ │ │ │ │ 165 │ │ │ │ │ -_1_7_3 template void _t_o(Tuple &t) const │ │ │ │ │ +_1_7_3 template void _t_o(_T_u_p_l_e &_t) const │ │ │ │ │ 174 { │ │ │ │ │ 175 check_size(std::tuple_size_v); │ │ │ │ │ -176 convert(t); │ │ │ │ │ +176 convert(_t); │ │ │ │ │ 177 } │ │ │ │ │ 178 │ │ │ │ │ 180 │ │ │ │ │ -_1_8_8 template std::tuple _a_s() const │ │ │ │ │ +_1_8_8 template std::tuple<_T_Y_P_E...> _a_s() const │ │ │ │ │ 189 { │ │ │ │ │ -190 check_size(sizeof...(TYPE)); │ │ │ │ │ -191 using seq = std::make_index_sequence; │ │ │ │ │ -192 return get_tuple>(seq{}); │ │ │ │ │ +190 check_size(sizeof...(_T_Y_P_E)); │ │ │ │ │ +191 using _s_e_q = std::make_index_sequence; │ │ │ │ │ +192 return get_tuple>(_s_e_q{}); │ │ │ │ │ 193 } │ │ │ │ │ 194 │ │ │ │ │ 195 [[deprecated("Swap iterators, not rows.")]] void swap(_r_o_w &) noexcept; │ │ │ │ │ 196 │ │ │ │ │ 208 [[deprecated("Row slicing is going away. File a bug if you need it.")]] _r_o_w │ │ │ │ │ 209 slice(size_type sbegin, size_type send) const; │ │ │ │ │ 210 │ │ │ │ │ @@ -146,51 +146,51 @@ │ │ │ │ │ 213 empty() const noexcept; │ │ │ │ │ 214 │ │ │ │ │ 215protected: │ │ │ │ │ 216 friend class _c_o_n_s_t___r_o_w___i_t_e_r_a_t_o_r; │ │ │ │ │ 217 friend class _r_e_s_u_l_t; │ │ │ │ │ 218 _r_o_w(_r_e_s_u_l_t r, _r_e_s_u_l_t___s_i_z_e___t_y_p_e index, size_type cols) noexcept; │ │ │ │ │ 219 │ │ │ │ │ -_2_2_1 void check_size(size_type expected) const │ │ │ │ │ +_2_2_1 void check_size(size_type _e_x_p_e_c_t_e_d) const │ │ │ │ │ 222 { │ │ │ │ │ -223 if (size() != expected) │ │ │ │ │ +223 if (size() != _e_x_p_e_c_t_e_d) │ │ │ │ │ 224 throw _u_s_a_g_e___e_r_r_o_r{internal::concat( │ │ │ │ │ -225 "Tried to extract ", expected, " field(s) from a row of ", size(), │ │ │ │ │ +225 "Tried to extract ", _e_x_p_e_c_t_e_d, " field(s) from a row of ", size(), │ │ │ │ │ 226 ".")}; │ │ │ │ │ 227 } │ │ │ │ │ 228 │ │ │ │ │ 230 │ │ │ │ │ -_2_3_3 template TUPLE _a_s___t_u_p_l_e() const │ │ │ │ │ +_2_3_3 template _T_U_P_L_E _a_s___t_u_p_l_e() const │ │ │ │ │ 234 { │ │ │ │ │ -235 using seq = std::make_index_sequence>; │ │ │ │ │ -236 return get_tuple(seq{}); │ │ │ │ │ +235 using _s_e_q = std::make_index_sequence>; │ │ │ │ │ +236 return _g_e_t___t_u_p_l_e_<_T_U_P_L_E_>(_s_e_q{}); │ │ │ │ │ 237 } │ │ │ │ │ 238 │ │ │ │ │ 239 template friend class _p_q_x_x_:_:_i_n_t_e_r_n_a_l_:_:_r_e_s_u_l_t___i_t_e_r; │ │ │ │ │ -_2_4_1 template void _c_o_n_v_e_r_t(Tuple &t) const │ │ │ │ │ +_2_4_1 template void _c_o_n_v_e_r_t(_T_u_p_l_e &_t) const │ │ │ │ │ 242 { │ │ │ │ │ -243 extract_fields(t, std::make_index_sequence>{}); │ │ │ │ │ +243 extract_fields(_t, std::make_index_sequence>{}); │ │ │ │ │ 244 } │ │ │ │ │ 245 │ │ │ │ │ 246 friend class _f_i_e_l_d; │ │ │ │ │ 247 │ │ │ │ │ _2_4_9 _r_e_s_u_l_t _m___r_e_s_u_l_t; │ │ │ │ │ 250 │ │ │ │ │ 252 │ │ │ │ │ _2_5_6 result::size_type m_index = 0; │ │ │ │ │ 257 │ │ │ │ │ 258 // TODO: Remove m_begin and (if possible) m_end when we remove slice(). │ │ │ │ │ _2_6_0 size_type m_begin = 0; │ │ │ │ │ _2_6_2 size_type m_end = 0; │ │ │ │ │ 263 │ │ │ │ │ 264private: │ │ │ │ │ -265 template │ │ │ │ │ -266 void extract_fields(Tuple &t, std::index_sequence) const │ │ │ │ │ +265 template │ │ │ │ │ +266 void extract_fields(_T_u_p_l_e &_t, std::index_sequence) const │ │ │ │ │ 267 { │ │ │ │ │ -268 (extract_value(t), ...); │ │ │ │ │ +268 (_e_x_t_r_a_c_t___v_a_l_u_e_<_T_u_p_l_e_,_ _i_n_d_e_x_e_s_>(_t), ...); │ │ │ │ │ 269 } │ │ │ │ │ 270 │ │ │ │ │ 271 template │ │ │ │ │ 272 void extract_value(Tuple &t) const; │ │ │ │ │ 273 │ │ │ │ │ 275 template │ │ │ │ │ 276 auto get_tuple(std::index_sequence) const │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js │ │ │ │ ├── js-beautify {} │ │ │ │ │ @@ -150,17 +150,17 @@ │ │ │ │ │ ['string_5ftraits_3c_20unsigned_20long_20long_20_3e_104', ['string_traits< unsigned long long >', ['../structpqxx_1_1string__traits_3_01unsigned_01long_01long_01_4.html', 1, 'pqxx']]], │ │ │ │ │ ['string_5ftraits_3c_20unsigned_20short_20_3e_105', ['string_traits< unsigned short >', ['../structpqxx_1_1string__traits_3_01unsigned_01short_01_4.html', 1, 'pqxx']]], │ │ │ │ │ ['string_5ftraits_3c_20zview_20_3e_106', ['string_traits< zview >', ['../structpqxx_1_1string__traits_3_01zview_01_4.html', 1, 'pqxx']]], │ │ │ │ │ ['string_5fvalue_107', ['string_value', ['../classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea863a85b49df560a48bb166fcbf59f8b4', 1, 'pqxx::array_parser']]], │ │ │ │ │ ['strip_5ft_108', ['strip_t', ['../namespacepqxx.html#a316a1521470224aad07d24109ff0043d', 1, 'pqxx']]], │ │ │ │ │ ['strip_5ftypes_109', ['strip_types', ['../namespacepqxx_1_1internal.html#a9b4647a83a27f2d3adc9add80c55dec3', 1, 'pqxx::internal']]], │ │ │ │ │ ['strip_5ftypes_5ft_110', ['strip_types_t', ['../namespacepqxx_1_1internal.html#a8e0a910c85d42eaa8d5948fae092cf16', 1, 'pqxx::internal']]], │ │ │ │ │ - ['subtransaction_111', ['subtransaction', ['../group__transactions.html#abec3848ca61ae755fab531e791ce89d8', 1, 'pqxx::subtransaction::subtransaction(dbtransaction &t, std::string_view tname=""sv)'], │ │ │ │ │ + ['subtransaction_111', ['subtransaction', ['../group__transactions.html#classpqxx_1_1subtransaction', 1, 'pqxx::subtransaction'], │ │ │ │ │ ['../group__transactions.html#aa351325206ada1be7f3db4fa69145c4d', 1, 'pqxx::subtransaction::subtransaction(subtransaction &t, std::string_view name=""sv)'], │ │ │ │ │ - ['../group__transactions.html#classpqxx_1_1subtransaction', 1, 'pqxx::subtransaction'] │ │ │ │ │ + ['../group__transactions.html#abec3848ca61ae755fab531e791ce89d8', 1, 'pqxx::subtransaction::subtransaction(dbtransaction &t, std::string_view tname=""sv)'] │ │ │ │ │ ]], │ │ │ │ │ ['super_112', ['super', ['../classpqxx_1_1internal_1_1callgate.html#afb620090453fc901f4fa147ee60bde36', 1, 'pqxx::internal::callgate']]], │ │ │ │ │ ['supporting_20a_20new_20type_113', ['Supporting a new type', ['../datatypes.html#autotoc_md5', 1, '']]], │ │ │ │ │ ['supporting_20additional_20data_20types_114', ['Supporting additional data types', ['../datatypes.html', 1, '']]], │ │ │ │ │ ['swap_115', ['swap', ['../group__escaping-functions.html#ad6e5000885dd6f0b7bdf1f5d7f365dd9', 1, 'pqxx::binarystring::swap()'], │ │ │ │ │ ['../classpqxx_1_1result.html#ad1d929a8c555ef0e4e84d4dbcf56c05e', 1, 'pqxx::result::swap()'], │ │ │ │ │ ['../classpqxx_1_1const__result__iterator.html#a3a7cd99d4e801fca6a538dbad3c7bba6', 1, 'pqxx::const_result_iterator::swap()'] │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_5.js │ │ │ │ ├── js-beautify {} │ │ │ │ │ @@ -1,16 +1,16 @@ │ │ │ │ │ var searchData = [ │ │ │ │ │ - ['failure_0', ['failure', ['../group__exception.html#a8a293a30efcb6277fb33ef0df2f884df', 1, 'pqxx::failure::failure()'], │ │ │ │ │ - ['../group__exception.html#structpqxx_1_1failure', 1, 'pqxx::failure'] │ │ │ │ │ + ['failure_0', ['failure', ['../group__exception.html#structpqxx_1_1failure', 1, 'pqxx::failure'], │ │ │ │ │ + ['../group__exception.html#a8a293a30efcb6277fb33ef0df2f884df', 1, 'pqxx::failure::failure()'] │ │ │ │ │ ]], │ │ │ │ │ ['feature_5fnot_5fsupported_1', ['feature_not_supported', ['../group__exception.html#structpqxx_1_1feature__not__supported', 1, 'pqxx']]], │ │ │ │ │ ['features_2', ['Performance features', ['../performance.html', 1, '']]], │ │ │ │ │ - ['field_3', ['field', ['../classpqxx_1_1field.html', 1, 'pqxx::field'], │ │ │ │ │ + ['field_3', ['field', ['../classpqxx_1_1field.html#ad11b276da1bb8acc674cb2f8aac11a24', 1, 'pqxx::field::field(row const &r, row_size_type c) noexcept'], │ │ │ │ │ ['../classpqxx_1_1field.html#aceb8e342f34a054d2b2310c59cbf0e52', 1, 'pqxx::field::field() noexcept=default'], │ │ │ │ │ - ['../classpqxx_1_1field.html#ad11b276da1bb8acc674cb2f8aac11a24', 1, 'pqxx::field::field(row const &r, row_size_type c) noexcept'] │ │ │ │ │ + ['../classpqxx_1_1field.html', 1, 'pqxx::field'] │ │ │ │ │ ]], │ │ │ │ │ ['field_5fsize_5ftype_4', ['field_size_type', ['../namespacepqxx.html#a5c52b0064b3395b98c6b9a0d3398db98', 1, 'pqxx']]], │ │ │ │ │ ['field_5fstreambuf_5', ['field_streambuf', ['../classpqxx_1_1field__streambuf.html', 1, 'pqxx']]], │ │ │ │ │ ['field_5fstreambuf_3c_20char_2c_20std_3a_3achar_5ftraits_3c_20char_20_3e_20_3e_6', ['field_streambuf< char, std::char_traits< char > >', ['../classpqxx_1_1field__streambuf.html', 1, 'pqxx']]], │ │ │ │ │ ['fieldstream_7', ['fieldstream', ['../namespacepqxx.html#ac3b4a1e80160ee2d6fd623ad043e5416', 1, 'pqxx']]], │ │ │ │ │ ['find_5fchar_8', ['find_char', ['../namespacepqxx_1_1internal.html#ac7f47e680c4aba12c395e1a854966a8e', 1, 'pqxx::internal']]], │ │ │ │ │ ['find_5fs_5fascii_5fchar_9', ['find_s_ascii_char', ['../namespacepqxx_1_1internal.html#a47911290f09c40ca080108ea376ffca9', 1, 'pqxx::internal']]], │ │ │ │ │ @@ -43,18 +43,18 @@ │ │ │ │ │ ['../classpqxx_1_1blob.html#acd468aa64cdd17c3dec34cb059721842', 1, 'pqxx::blob::from_file(dbtransaction &, char const path[], oid)'] │ │ │ │ │ ]], │ │ │ │ │ ['from_5fquery_33', ['from_query', ['../namespacepqxx.html#a31fff381823ee2bc5af1f47139b3b48c', 1, 'pqxx']]], │ │ │ │ │ ['from_5fquery_5ft_34', ['from_query_t', ['../namespacepqxx.html#structpqxx_1_1from__query__t', 1, 'pqxx']]], │ │ │ │ │ ['from_5fstring_35', ['from_string', ['../structpqxx_1_1string__traits.html#a09bce703d8e0234e84605038189381e8', 1, 'pqxx::string_traits::from_string()'], │ │ │ │ │ ['../structpqxx_1_1string__traits_3_01zview_01_4.html#a3b78a0d0dfbd5bf56c18d02e8a2ae184', 1, 'pqxx::string_traits< zview >::from_string()'], │ │ │ │ │ ['../structpqxx_1_1string__traits_3_01std_1_1string__view_01_4.html#a98acdd0a20f834be7670763ae0f93bcb', 1, 'pqxx::string_traits< std::string_view >::from_string()'], │ │ │ │ │ - ['../namespacepqxx.html#ae3697fd4a0fc1fcdb40937e16e1ec878', 1, 'pqxx::from_string()'], │ │ │ │ │ ['../structpqxx_1_1string__traits_3_01char_0fN_0e_4.html#a45384953864d4858e8fa8549e4eeabf7', 1, 'pqxx::string_traits< char[N]>::from_string()'], │ │ │ │ │ ['../structpqxx_1_1string__traits_3_01char_01_5_01_4.html#af0ea80b9d8301a1a3211a1a5891521ea', 1, 'pqxx::string_traits< char * >::from_string()'], │ │ │ │ │ - ['../structpqxx_1_1string__traits_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html#a2672f0ae1c9d445d7c63929d8278b727', 1, 'pqxx::string_traits< std::variant< T... > >::from_string()'] │ │ │ │ │ + ['../structpqxx_1_1string__traits_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html#a2672f0ae1c9d445d7c63929d8278b727', 1, 'pqxx::string_traits< std::variant< T... > >::from_string()'], │ │ │ │ │ + ['../namespacepqxx.html#ae3697fd4a0fc1fcdb40937e16e1ec878', 1, 'pqxx::from_string()'] │ │ │ │ │ ]], │ │ │ │ │ ['from_5fstring_20tt_36', ['<tt>from_string</tt>', ['../datatypes.html#autotoc_md10', 1, '']]], │ │ │ │ │ ['from_5fstring_3c_20std_3a_3anullptr_5ft_20_3e_37', ['from_string< std::nullptr_t >', ['../namespacepqxx.html#ac676a8d392370a92f0a2ef0f0bbf2043', 1, 'pqxx']]], │ │ │ │ │ ['from_5ftable_38', ['from_table', ['../namespacepqxx.html#a66648ed503eb162846c41247daa32660', 1, 'pqxx']]], │ │ │ │ │ ['from_5ftable_5ft_39', ['from_table_t', ['../namespacepqxx.html#structpqxx_1_1from__table__t', 1, 'pqxx']]], │ │ │ │ │ ['front_40', ['front', ['../classpqxx_1_1array.html#af0f6cbf8e3621dc46e59b9563ed436b1', 1, 'pqxx::array']]], │ │ │ │ │ ['functions_41', ['functions', ['../group__escaping-functions.html', 1, 'String-escaping functions'], │ │ │ ├── ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_c.js │ │ │ │ ├── js-beautify {} │ │ │ │ │ @@ -1,10 +1,10 @@ │ │ │ │ │ var searchData = [ │ │ │ │ │ - ['name_0', ['name', ['../classpqxx_1_1cursor__base.html#a580405381178880d7804180c0c396fe5', 1, 'pqxx::cursor_base::name()'], │ │ │ │ │ - ['../classpqxx_1_1stateless__cursor.html#a0be6e4435c96296ab1f91f4769235dae', 1, 'pqxx::stateless_cursor::name()'], │ │ │ │ │ + ['name_0', ['name', ['../classpqxx_1_1stateless__cursor.html#a0be6e4435c96296ab1f91f4769235dae', 1, 'pqxx::stateless_cursor::name()'], │ │ │ │ │ + ['../classpqxx_1_1cursor__base.html#a580405381178880d7804180c0c396fe5', 1, 'pqxx::cursor_base::name()'], │ │ │ │ │ ['../classpqxx_1_1field.html#accb1b29590adaf1c265279fc410b2e59', 1, 'pqxx::field::name()'], │ │ │ │ │ ['../group__transactions.html#ae59455e1e8da50f0cb5901c1f72ff66e', 1, 'pqxx::transaction_base::name()'], │ │ │ │ │ ['../classpqxx_1_1transaction__focus.html#a4ccffff2688e9e7757acc385be1d781c', 1, 'pqxx::transaction_focus::name()'] │ │ │ │ │ ]], │ │ │ │ │ ['name_5fencoding_1', ['name_encoding', ['../namespacepqxx_1_1internal.html#a51e0c4e1a45c85a3b625dc3d764684f5', 1, 'pqxx::internal']]], │ │ │ │ │ ['new_20type_2', ['Supporting a new type', ['../datatypes.html#autotoc_md5', 1, '']]], │ │ │ │ │ ['next_3', ['next', ['../classpqxx_1_1cursor__base.html#a8084649c4f6be54a3c688908c1b9edf9', 1, 'pqxx::cursor_base::next()'], │ │ │ │ │ @@ -32,17 +32,17 @@ │ │ │ │ │ ['not_5feof_21', ['not_eof', ['../structpqxx_1_1byte__char__traits.html#a7c89d44e821a11f8336b70dc7891d7ac', 1, 'pqxx::byte_char_traits']]], │ │ │ │ │ ['not_5fnull_5fviolation_22', ['not_null_violation', ['../group__exception.html#structpqxx_1_1not__null__violation', 1, 'pqxx']]], │ │ │ │ │ ['note_23', ['Performance note', ['../prepared.html#autotoc_md23', 1, '']]], │ │ │ │ │ ['nothing_24', ['nothing', ['../namespacepqxx.html#adabe80e8385e85d663acc6e44332070da867e5843857acbeb150fcaf025825a6f', 1, 'pqxx']]], │ │ │ │ │ ['notice_5fwaiters_25', ['notice_waiters', ['../structpqxx_1_1internal_1_1notice__waiters.html', 1, 'pqxx::internal']]], │ │ │ │ │ ['notification_26', ['notification', ['../namespacepqxx.html#structpqxx_1_1notification', 1, 'pqxx']]], │ │ │ │ │ ['notification_5fhandler_27', ['notification_handler', ['../classpqxx_1_1connection.html#a5c68dd44c2a9e64eb2022623659ebc09', 1, 'pqxx::connection']]], │ │ │ │ │ - ['notification_5freceiver_28', ['notification_receiver', ['../classpqxx_1_1notification__receiver.html#a4779f6b712bf7a1d5ab3253b8d274db9', 1, 'pqxx::notification_receiver::notification_receiver(connection &cx, std::string_view channel)'], │ │ │ │ │ - ['../classpqxx_1_1notification__receiver.html#a44ffe1ed8ec8020f4106ef8427e09d17', 1, 'pqxx::notification_receiver::notification_receiver(notification_receiver const &)=delete'], │ │ │ │ │ - ['../classpqxx_1_1notification__receiver.html', 1, 'pqxx::notification_receiver'] │ │ │ │ │ + ['notification_5freceiver_28', ['notification_receiver', ['../classpqxx_1_1notification__receiver.html', 1, 'pqxx::notification_receiver'], │ │ │ │ │ + ['../classpqxx_1_1notification__receiver.html#a4779f6b712bf7a1d5ab3253b8d274db9', 1, 'pqxx::notification_receiver::notification_receiver(connection &cx, std::string_view channel)'], │ │ │ │ │ + ['../classpqxx_1_1notification__receiver.html#a44ffe1ed8ec8020f4106ef8427e09d17', 1, 'pqxx::notification_receiver::notification_receiver(notification_receiver const &)=delete'] │ │ │ │ │ ]], │ │ │ │ │ ['notifications_20and_20receivers_29', ['Notifications and Receivers', ['../group__notification.html', 1, '']]], │ │ │ │ │ ['notify_30', ['notify', ['../group__transactions.html#aff9f3e6d1e0479d8c6774db391bf9b8a', 1, 'pqxx::transaction_base']]], │ │ │ │ │ ['null_31', ['null', ['../structpqxx_1_1nullness_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html#a62b23c197cb393e146d9720ed4aed004', 1, 'pqxx::nullness< std::variant< T... > >::null()'], │ │ │ │ │ ['../structpqxx_1_1nullness.html#a475f5e490aabd4934aa63a621ecfd0ab', 1, 'pqxx::nullness::null()'] │ │ │ │ │ ]], │ │ │ │ │ ['null_20values_32', ['Interlude: null values', ['../streams.html#autotoc_md25', 1, '']]],