{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.f7v5hbWd/b1/libpqxx_7.9.1-2_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.f7v5hbWd/b2/libpqxx_7.9.1-2_i386.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,5 +1,5 @@\n \n dde861e4704ea97fb81a2c8667125e3a 2270440 debug optional libpqxx-7.9-dbgsym_7.9.1-2_i386.deb\n d27ba071ce85217e6852692e09519a82 206540 libs optional libpqxx-7.9_7.9.1-2_i386.deb\n 1f2d4cf4f99f35130189d09c4451e839 375668 libdevel optional libpqxx-dev_7.9.1-2_i386.deb\n- 0aae110a995372e74682fd019450c1a5 2603020 doc optional libpqxx-doc_7.9.1-2_all.deb\n+ 9a743f559247eb3677a51a978984aaba 2604700 doc optional libpqxx-doc_7.9.1-2_all.deb\n"}, {"source1": "libpqxx-doc_7.9.1-2_all.deb", "source2": "libpqxx-doc_7.9.1-2_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-07-10 18:27:49.000000 debian-binary\n--rw-r--r-- 0 0 0 31976 2024-07-10 18:27:49.000000 control.tar.xz\n--rw-r--r-- 0 0 0 2570852 2024-07-10 18:27:49.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 32020 2024-07-10 18:27:49.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 2572488 2024-07-10 18:27:49.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: libpqxx-doc\n Source: libpqxx\n Version: 7.9.1-2\n Architecture: all\n Maintainer: Debian PostgreSQL team \n-Installed-Size: 13312\n+Installed-Size: 13361\n Suggests: libpqxx-dev (>= 7.9.1-2)\n Section: doc\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://github.com/jtv/libpqxx/\n Description: C++ library to connect to PostgreSQL (documentation)\n C++ library to enable user programs to communicate with\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -57,22 +57,22 @@\n -rw-r--r-- 0 root (0) root (0) 7476 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connecting-members.html\n -rw-r--r-- 0 root (0) root (0) 16230 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connecting.html\n -rw-r--r-- 0 root (0) root (0) 678 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connecting.js\n -rw-r--r-- 0 root (0) root (0) 27344 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection-members.html\n -rw-r--r-- 0 root (0) root (0) 113472 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.html\n -rw-r--r-- 0 root (0) root (0) 5513 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.js\n -rw-r--r-- 0 root (0) root (0) 29785 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator-members.html\n--rw-r--r-- 0 root (0) root (0) 62527 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.html\n+-rw-r--r-- 0 root (0) root (0) 75521 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.html\n -rw-r--r-- 0 root (0) root (0) 1037 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.js\n -rw-r--r-- 0 root (0) root (0) 734 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__coll__graph.map\n -rw-r--r-- 0 root (0) root (0) 7752 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__coll__graph.png\n -rw-r--r-- 0 root (0) root (0) 769 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__inherit__graph.map\n -rw-r--r-- 0 root (0) root (0) 8763 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator__inherit__graph.png\n -rw-r--r-- 0 root (0) root (0) 25117 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator-members.html\n--rw-r--r-- 0 root (0) root (0) 31660 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.html\n+-rw-r--r-- 0 root (0) root (0) 37135 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.html\n -rw-r--r-- 0 root (0) root (0) 1273 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.js\n -rw-r--r-- 0 root (0) root (0) 1052 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__coll__graph.map\n -rw-r--r-- 0 root (0) root (0) 11447 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__coll__graph.png\n -rw-r--r-- 0 root (0) root (0) 776 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__inherit__graph.map\n -rw-r--r-- 0 root (0) root (0) 8876 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator__inherit__graph.png\n -rw-r--r-- 0 root (0) root (0) 20910 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__row__iterator-members.html\n -rw-r--r-- 0 root (0) root (0) 24738 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__row__iterator.html\n@@ -316,18 +316,18 @@\n -rw-r--r-- 0 root (0) root (0) 9532 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range-members.html\n -rw-r--r-- 0 root (0) root (0) 22537 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range.html\n -rw-r--r-- 0 root (0) root (0) 643 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range.js\n -rw-r--r-- 0 root (0) root (0) 10254 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range__bound-members.html\n -rw-r--r-- 0 root (0) root (0) 14961 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range__bound.html\n -rw-r--r-- 0 root (0) root (0) 618 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1range__bound.js\n -rw-r--r-- 0 root (0) root (0) 19948 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result-members.html\n--rw-r--r-- 0 root (0) root (0) 52421 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.html\n+-rw-r--r-- 0 root (0) root (0) 62624 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.html\n -rw-r--r-- 0 root (0) root (0) 2267 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.js\n -rw-r--r-- 0 root (0) root (0) 19732 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row-members.html\n--rw-r--r-- 0 root (0) root (0) 51379 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html\n+-rw-r--r-- 0 root (0) root (0) 60574 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html\n -rw-r--r-- 0 root (0) root (0) 1893 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.js\n -rw-r--r-- 0 root (0) root (0) 421 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__coll__graph.map\n -rw-r--r-- 0 root (0) root (0) 4514 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__coll__graph.png\n -rw-r--r-- 0 root (0) root (0) 753 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__inherit__graph.map\n -rw-r--r-- 0 root (0) root (0) 8703 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row__inherit__graph.png\n -rw-r--r-- 0 root (0) root (0) 658 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1sql__error__coll__graph.map\n -rw-r--r-- 0 root (0) root (0) 5836 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1sql__error__coll__graph.png\n@@ -385,15 +385,15 @@\n -rw-r--r-- 0 root (0) root (0) 9688 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/connection-sql__cursor_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 8828 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/connection-stream__from_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 8758 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/connection-stream__to_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 14179 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/connection-transaction_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 128127 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/connection_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 257528 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/conversions_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 59526 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/cursor_8hxx_source.html\n--rw-r--r-- 0 root (0) root (0) 36027 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/datatypes.html\n+-rw-r--r-- 0 root (0) root (0) 36021 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/datatypes.html\n -rw-r--r-- 0 root (0) root (0) 13979 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/dbtransaction_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 19448 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/deprecated.html\n -rw-r--r-- 0 root (0) root (0) 5220 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/dir_09456df80b5baeba1147d2b9ef5f002c.html\n -rw-r--r-- 0 root (0) root (0) 397 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/dir_09456df80b5baeba1147d2b9ef5f002c_dep.map\n -rw-r--r-- 0 root (0) root (0) 1838 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/dir_09456df80b5baeba1147d2b9ef5f002c_dep.png\n -rw-r--r-- 0 root (0) root (0) 11099 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/dir_3abbb4e2076021b5d2239498be5fcb30.html\n -rw-r--r-- 0 root (0) root (0) 1544 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/dir_3abbb4e2076021b5d2239498be5fcb30.js\n@@ -416,15 +416,15 @@\n -rw-r--r-- 0 root (0) root (0) 45631 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/doxygen.css\n -rw-r--r-- 0 root (0) root (0) 15461 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/doxygen.svg\n -rw-r--r-- 0 root (0) root (0) 7704 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/dynsections.js\n -rw-r--r-- 0 root (0) root (0) 11900 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/encoding__group_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 137794 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/encodings_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 8272 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/errorhandler-connection_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 17748 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/errorhandler_8hxx_source.html\n--rw-r--r-- 0 root (0) root (0) 9567 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/escaping.html\n+-rw-r--r-- 0 root (0) root (0) 9569 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/escaping.html\n -rw-r--r-- 0 root (0) root (0) 144139 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/except_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 81786 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/field_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 25190 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/files.html\n -rw-r--r-- 0 root (0) root (0) 223 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/files_dup.js\n -rw-r--r-- 0 root (0) root (0) 1996 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/folderclosed.svg\n -rw-r--r-- 0 root (0) root (0) 1996 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/folderclosedd.svg\n -rw-r--r-- 0 root (0) root (0) 3269 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/folderopen.svg\n@@ -821,67 +821,67 @@\n -rw-r--r-- 0 root (0) root (0) 111 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/nav_hd.png\n -rw-r--r-- 0 root (0) root (0) 2167 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtree.css\n -rw-r--r-- 0 root (0) root (0) 15935 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtree.js\n -rw-r--r-- 0 root (0) root (0) 5932 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreedata.js\n -rw-r--r-- 0 root (0) root (0) 19176 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex0.js\n -rw-r--r-- 0 root (0) root (0) 21143 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex1.js\n -rw-r--r-- 0 root (0) root (0) 19444 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex2.js\n--rw-r--r-- 0 root (0) root (0) 15188 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex3.js\n+-rw-r--r-- 0 root (0) root (0) 15184 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex3.js\n -rw-r--r-- 0 root (0) root (0) 18077 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex4.js\n--rw-r--r-- 0 root (0) root (0) 17719 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex5.js\n+-rw-r--r-- 0 root (0) root (0) 17723 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex5.js\n -rw-r--r-- 0 root (0) root (0) 271 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex6.js\n -rw-r--r-- 0 root (0) root (0) 13252 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/nontransaction_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 15955 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/notification_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 122 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/open.png\n -rw-r--r-- 0 root (0) root (0) 6420 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/pages.html\n--rw-r--r-- 0 root (0) root (0) 10844 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/parameters.html\n+-rw-r--r-- 0 root (0) root (0) 10846 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/parameters.html\n -rw-r--r-- 0 root (0) root (0) 53070 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/params_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 5810 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/performance.html\n -rw-r--r-- 0 root (0) root (0) 29854 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/pipeline_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 696 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/plus.svg\n -rw-r--r-- 0 root (0) root (0) 696 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/plusd.svg\n -rw-r--r-- 0 root (0) root (0) 8892 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/pqxx-source_8hxx_source.html\n--rw-r--r-- 0 root (0) root (0) 13309 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/prepared.html\n+-rw-r--r-- 0 root (0) root (0) 13311 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/prepared.html\n -rw-r--r-- 0 root (0) root (0) 4859 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/prepared__statement_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 101843 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/range_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 5685 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/resize.js\n -rw-r--r-- 0 root (0) root (0) 8659 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-connection_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 10652 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-creation_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 8755 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-pipeline_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 8590 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result-sql__cursor_8hxx_source.html\n--rw-r--r-- 0 root (0) root (0) 47760 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result_8hxx_source.html\n--rw-r--r-- 0 root (0) root (0) 30983 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iter_8hxx_source.html\n--rw-r--r-- 0 root (0) root (0) 61623 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html\n+-rw-r--r-- 0 root (0) root (0) 49500 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result_8hxx_source.html\n+-rw-r--r-- 0 root (0) root (0) 33088 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iter_8hxx_source.html\n+-rw-r--r-- 0 root (0) root (0) 64819 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html\n -rw-r--r-- 0 root (0) root (0) 19458 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/robusttransaction_8hxx_source.html\n--rw-r--r-- 0 root (0) root (0) 90886 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html\n+-rw-r--r-- 0 root (0) root (0) 95674 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/\n -rw-r--r-- 0 root (0) root (0) 7418 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_0.js\n -rw-r--r-- 0 root (0) root (0) 4742 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_1.js\n -rw-r--r-- 0 root (0) root (0) 6978 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_10.js\n--rw-r--r-- 0 root (0) root (0) 21004 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js\n--rw-r--r-- 0 root (0) root (0) 7440 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_12.js\n--rw-r--r-- 0 root (0) root (0) 2857 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_13.js\n+-rw-r--r-- 0 root (0) root (0) 21001 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js\n+-rw-r--r-- 0 root (0) root (0) 7434 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_12.js\n+-rw-r--r-- 0 root (0) root (0) 2858 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_13.js\n -rw-r--r-- 0 root (0) root (0) 906 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_14.js\n -rw-r--r-- 0 root (0) root (0) 1394 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_15.js\n--rw-r--r-- 0 root (0) root (0) 95 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_16.js\n+-rw-r--r-- 0 root (0) root (0) 94 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_16.js\n -rw-r--r-- 0 root (0) root (0) 1207 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_17.js\n -rw-r--r-- 0 root (0) root (0) 319 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_18.js\n--rw-r--r-- 0 root (0) root (0) 15181 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_2.js\n--rw-r--r-- 0 root (0) root (0) 4706 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_3.js\n--rw-r--r-- 0 root (0) root (0) 8727 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_4.js\n--rw-r--r-- 0 root (0) root (0) 6995 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_5.js\n--rw-r--r-- 0 root (0) root (0) 5454 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_6.js\n+-rw-r--r-- 0 root (0) root (0) 15180 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_2.js\n+-rw-r--r-- 0 root (0) root (0) 4707 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_3.js\n+-rw-r--r-- 0 root (0) root (0) 8728 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_4.js\n+-rw-r--r-- 0 root (0) root (0) 6996 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_5.js\n+-rw-r--r-- 0 root (0) root (0) 5455 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_6.js\n -rw-r--r-- 0 root (0) root (0) 1038 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_7.js\n--rw-r--r-- 0 root (0) root (0) 5821 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_8.js\n+-rw-r--r-- 0 root (0) root (0) 5822 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_8.js\n -rw-r--r-- 0 root (0) root (0) 147 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_9.js\n--rw-r--r-- 0 root (0) root (0) 2860 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_a.js\n+-rw-r--r-- 0 root (0) root (0) 2861 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_a.js\n -rw-r--r-- 0 root (0) root (0) 1297 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_b.js\n--rw-r--r-- 0 root (0) root (0) 8996 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_c.js\n+-rw-r--r-- 0 root (0) root (0) 8994 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_c.js\n -rw-r--r-- 0 root (0) root (0) 8813 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_d.js\n--rw-r--r-- 0 root (0) root (0) 6245 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_e.js\n+-rw-r--r-- 0 root (0) root (0) 6249 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_e.js\n -rw-r--r-- 0 root (0) root (0) 4374 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/all_f.js\n -rw-r--r-- 0 root (0) root (0) 875 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/classes_0.js\n -rw-r--r-- 0 root (0) root (0) 1086 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/classes_1.js\n -rw-r--r-- 0 root (0) root (0) 975 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/classes_10.js\n -rw-r--r-- 0 root (0) root (0) 835 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/classes_11.js\n -rw-r--r-- 0 root (0) root (0) 157 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/classes_12.js\n -rw-r--r-- 0 root (0) root (0) 85 2024-07-10 18:27:49.000000 ./usr/share/doc/libpqxx-doc/doxygen-html/search/classes_13.js\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/accessing-results.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/accessing-results.html", "unified_diff": "@@ -93,38 +93,38 @@\n
Accessing results and result rows
\n \n
\n

A query produces a result set consisting of rows, and each row consists of fields. There are several ways to receive this data.

\n

The fields are \"untyped.\" That is to say, libpqxx has no opinion on what their types are. The database sends the data in a very flexible textual format. When you read a field, you specify what type you want it to be, and libpqxx converts the text format to that type for you.

\n

If a value does not conform to the format for the type you specify, the conversion fails. For example, if you have strings that all happen to contain numbers, you can read them as int. But if any of the values is empty, or it's null (for a type that doesn't support null), or it's some string that does not look like an integer, or it's too large, you can't convert it to int.

\n

So usually, reading result data from the database means not just retrieving the data; it also means converting it to some target type.

\n-

\n+

\n Querying rows of data

\n

The simplest way to query rows of data is to call one of a transaction's \"query\" functions, passing as template arguments the types of columns you want to get back (e.g. int, std::string, double, and so on) and as a regular argument the query itself.

\n

You can then iterate over the result to go over the rows of data:

\n
for (auto [id, value] :
\n
tx.query<int, std::string>("SELECT id, name FROM item"))
\n
{
\n
std::cout << id << '\\t' << value << '\\n';
\n
}
\n

The \"query\" functions execute your query, load the complete result data from the database, and then as you iterate, convert each row it received to a tuple of C++ types that you indicated.

\n

There are different query functions for querying any number of rows (query()); querying just one row of data as a std::tuple and throwing an error if there's more than one row (query1()); or querying

\n-

\n+

\n Streaming rows

\n

There's another way to go through the rows coming out of a query. It's usually easier and faster if there are a lot of rows, but there are drawbacks.

\n

One, you start getting rows before all the data has come in from the database. That speeds things up, but what happens if you lose your network connection while transferring the data? Your application may already have processed some of the data before finding out that the rest isn't coming. If that is a problem for your application, streaming may not be the right choice.

\n

Two, streaming only works for some types of query. The stream() function wraps your query in a PostgreSQL COPY command, and COPY only supports a few commands: SELECT, VALUES, or an INSERT, UPDATE, or DELETE with a RETURNING clause. See the COPY documentation here: [ https://www.postgresql.org/docs/current/sql-copy.html ](https://www.postgresql.org/docs/current/sql-copy.html).

\n

Three, when you convert a field to a \"view\" type (such as std::string_view or pqxx::bytes_view), the view points to underlying data which only stays valid until you iterate to the next row or exit the loop. So if you want to use that data for longer than a single iteration of the streaming loop, you'll have to store it somewhere yourself.

\n

Now for the good news. Streaming does make it very easy to query data and loop over it, and often faster than with the \"query\" or \"exec\" functions:

\n
for (auto [id, name, x, y] :
\n
tx.stream<int, std::string_view, float, float>(
\n
"SELECT id, name, x, y FROM point"))
\n
process(id + 1, "point-" + name, x * 10.0, y * 10.0);
\n

The conversion to C++ types (here int, std::string_view, and two floats) is built into the function. You never even see row objects, field objects, iterators, or conversion methods. You just put in your query and you receive your data.

\n-

\n+

\n Results with metadata

\n

Sometimes you want more from a query result than just rows of data. You may need to know right away how many rows of result data you received, or how many rows your UPDATE statement has affected, or the names of the columns, etc.

\n

For that, use the transaction's \"exec\" query execution functions. Apart from a few exceptions, these return a pqxx::result object. A result is a container of pqxx::row objects, so you can iterate them as normal, or index them like you would index an array. Each row in turn is a container of pqxx::field, Each field holds a value, but doesn't know its type. You specify the type when you read the value.

\n

For example, your code might do:

\n
pqxx::result r = tx.exec("SELECT * FROM mytable");
\n
for (auto const &row: r)
\n
{
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/binary.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/binary.html", "unified_diff": "@@ -103,15 +103,15 @@\n
std::string hi{"Hello binary world"};
\n
my_blob.write(pqxx::binary_cast(hi);
\n
bytes_view binary_cast(TYPE const &data)
Cast binary data to a type that libpqxx will recognise as binary.
Definition util.hxx:409
\n

The other takes a pointer and a size:

\n
char const greeting[] = "Hello binary world";
\n
char const *hi = greeting;
\n
my_blob.write(pqxx::binary_cast(hi, sizeof(greeting)));
\n-

\n+

\n Caveats

\n

There are some restrictions on binary_cast that you must be aware of.

\n

First, your data must of a type that gives us bytes. So: char, unsigned char, signed char, int8_t, uint8_t, or of course std::byte. You can't feed in a vector of double, or anything like that.

\n

Second, the data must be laid out as a contiguous block in memory. If there's no std::data() implementation for your type, it's not suitable.

\n

Third, binary_cast only constructs something like a std::string_view. It does not make a copy of your actual data. So, make sure that your data remains alive and in the same place while you're using it.

\n
\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__ilostream.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__ilostream.html", "unified_diff": "@@ -151,15 +151,15 @@\n  basic_ilostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512)\n  Create a basic_ilostream.
\n  \n \n

Detailed Description

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

Input stream that gets its data from a large object.

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

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.

\n

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

\n

Constructor & Destructor Documentation

\n \n

◆ basic_ilostream() [1/2]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__lostream.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__lostream.html", "unified_diff": "@@ -151,15 +151,15 @@\n  basic_lostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512)\n  Create a basic_lostream.
\n  \n \n

Detailed Description

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

Stream that reads and writes a large object.

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

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.

\n

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

\n

Constructor & Destructor Documentation

\n \n

◆ basic_lostream() [1/2]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__olostream.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1basic__olostream.html", "unified_diff": "@@ -151,15 +151,15 @@\n  basic_olostream (dbtransaction &t, oid o, largeobject::size_type buf_size=512)\n  Create a basic_olostream.
\n  \n \n

Detailed Description

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

Output stream that writes data back to a large object.

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

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

\n

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

\n

Constructor & Destructor Documentation

\n \n

◆ basic_olostream() [1/2]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1connection.html", "unified_diff": "@@ -1408,15 +1408,15 @@\n )\n &\n \n \n
\n \n

Set session variable, using SQL's SET command.

\n-
Deprecated:
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n+
Deprecated:
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n
Warning
When setting a string value, you must escape and quote it first. Use the quote() function to do that.
\n
\n This executes an SQL query, so do not get or set variables while a table stream or pipeline is active on the same connection.
\n
Parameters
\n \n \n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__result__iterator.html", "unified_diff": "@@ -128,298 +128,298 @@\n \"\"\n \n
[legend]
\n
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.
\n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n

\n Public Types

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

\n Public Member Functions

\n- const_result_iterator () noexcept=default
const_result_iterator () noexcept=default
 Create an iterator, but in an unusable state.
 
\n- const_result_iterator (const_result_iterator const &) noexcept=default
const_result_iterator (const_result_iterator const &) noexcept=default
 Copy an iterator.
 
\n- const_result_iterator (const_result_iterator &&) noexcept=default
const_result_iterator (const_result_iterator &&) noexcept=default
 Move an iterator.
 
\n- 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 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.

\n

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.

\n
\n-pointer operator-> () const
operator-> () const
 Dereference the iterator.
 
\n-reference operator* () const
operator* () const
 Dereference the iterator.
 
Manipulations
\n-const_result_iteratoroperator= (const_result_iterator const &rhs)
operator= (const_result_iterator const &rhs)
 
\n-const_result_iteratoroperator= (const_result_iterator &&rhs)
operator= (const_result_iterator &&rhs)
 
\n-const_result_iterator operator++ (int) &
operator++ (int) &
 
\n const_result_iteratoroperator++ ()
 
\n-const_result_iterator operator-- (int) &
operator-- (int) &
 
\n const_result_iteratoroperator-- ()
 
\n-const_result_iteratoroperator+= (difference_type i)
operator+= (difference_type i)
 
\n-const_result_iteratoroperator-= (difference_type i)
operator-= (difference_type i)
 
\n-void swap (const_result_iterator &other) noexcept
swap (const_result_iterator &other) noexcept
 Interchange two iterators in an exception-safe manner.
 
Comparisons
\n-bool operator== (const_result_iterator const &i) const
operator== (const_result_iterator const &i) const
 
\n-bool operator!= (const_result_iterator const &i) const
operator!= (const_result_iterator const &i) const
 
\n-bool operator< (const_result_iterator const &i) const
operator< (const_result_iterator const &i) const
 
\n-bool operator<= (const_result_iterator const &i) const
operator<= (const_result_iterator const &i) const
 
\n-bool operator> (const_result_iterator const &i) const
operator> (const_result_iterator const &i) const
 
\n-bool operator>= (const_result_iterator const &i) const
operator>= (const_result_iterator const &i) const
 
Field access
\n-reference back () const noexcept
back () const noexcept
 
\n-reference front () const noexcept
front () const noexcept
 
\n-reference at (size_type) const
at (size_type) const
 
reference at (zview col_name) const
reference at (zview col_name) const
 
\n-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
\n- row (row &&) noexcept=default
row (row &&) noexcept=default
 
\n- row (row const &) noexcept=default
row (row const &) noexcept=default
 
\n-rowoperator= (row const &) noexcept=default
operator= (row const &) noexcept=default
 
\n-rowoperator= (row &&) noexcept=default
operator= (row &&) noexcept=default
 
\n-PQXX_PURE bool operator== (row const &) const noexcept
operator== (row const &) const noexcept
 
\n-bool operator!= (row const &rhs) const noexcept
operator!= (row const &rhs) const noexcept
 
\n-const_iterator begin () const noexcept
begin () const noexcept
 
\n-const_iterator cbegin () const noexcept
cbegin () const noexcept
 
\n-const_iterator end () const noexcept
end () const noexcept
 
\n-const_iterator cend () const noexcept
cend () const noexcept
 
\n-reference front () const noexcept
front () const noexcept
 
\n-reference back () const noexcept
back () const noexcept
 
\n-const_reverse_row_iterator rbegin () const noexcept
rbegin () const noexcept
 
\n-const_reverse_row_iterator crbegin () const noexcept
crbegin () const noexcept
 
\n-const_reverse_row_iterator rend () const noexcept
rend () const noexcept
 
\n-const_reverse_row_iterator crend () const noexcept
crend () const noexcept
 
\n-reference operator[] (size_type) const noexcept
operator[] (size_type) const noexcept
 
reference operator[] (zview col_name) const
reference operator[] (zview col_name) const
 
\n-reference at (size_type) const
at (size_type) const
 
reference at (zview col_name) const
reference at (zview col_name) const
 
\n-constexpr size_type size () const noexcept
size () const noexcept
 
\n-constexpr result::size_type rownumber () const noexcept
rownumber () const noexcept
 Row number, assuming this is a real row and not end()/rend().
 
\n-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).
 
\n-oid column_type (size_type) const
column_type (size_type) const
 Return a column's type.
 
\n-oid column_type (zview col_name) const
column_type (zview col_name) const
 Return a column's type.
 
\n-oid column_table (size_type col_num) const
column_table (size_type col_num) const
 What table did this column come from?
 
\n-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?
 
\n-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?
 
\n-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.
 
\n-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
 
\n-PQXX_PURE bool empty () const noexcept
empty () const noexcept
 Is this a row without fields? Can only happen to a slice.
 
\n \n \n+class \n \n \n+const_result_iterator \n \n \n+const_result_iterator \n \n \n+const_result_iterator \n \n \n+difference_type \n \n

Arithmetic operators

\n-class pqxx::result
pqxx::result
 
\n-const_result_iterator operator+ (difference_type, const_result_iterator const &)
operator+ (difference_type, const_result_iterator const &)
 
\n-const_result_iterator operator+ (difference_type) const
operator+ (difference_type) const
 
\n-const_result_iterator operator- (difference_type) const
operator- (difference_type) const
 
\n-difference_type operator- (const_result_iterator const &) const
operator- (const_result_iterator const &) const
 
\n \n \n-\n+\n \n \n+void \n \n \n-\n-\n+\n+\n \n \n \n-\n+template<typenameTuple > \n+\n \n \n \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -9,234 +9,234 @@\n [+]Inheritance diagram for pqxx::const_result_iterator:\n [Inheritance graph]\n [_\bl_\be_\bg_\be_\bn_\bd]\n [+]Collaboration diagram for pqxx::const_result_iterator:\n [Collaboration graph]\n [_\bl_\be_\bg_\be_\bn_\bd]\n P\bPu\bub\bbl\bli\bic\bc T\bTy\byp\bpe\bes\bs\n-using\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br_\b_c\bca\bat\bte\beg\bgo\bor\bry\by = std::random_access_iterator_tag\n+_\bu_\bs_\bi_\bn_\bg\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br_\b_c\bca\bat\bte\beg\bgo\bor\bry\by = std::random_access_iterator_tag\n \u00a0\n-using\u00a0 v\bva\bal\blu\bue\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw const\n+_\bu_\bs_\bi_\bn_\bg\u00a0 v\bva\bal\blu\bue\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt\n \u00a0\n-using\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\br_\bo_\bw const *\n+_\bu_\bs_\bi_\bn_\bg\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt *\n \u00a0\n-using\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\br_\bo_\bw\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\br_\bo_\bw\n \u00a0\n-using\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n \u00a0\n [-]\u00a0Public Types inherited from _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw\n-using\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 c\bco\bon\bns\bst\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 c\bco\bon\bns\bst\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\bf_\bi_\be_\bl_\bd\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\bf_\bi_\be_\bl_\bd\n \u00a0\n-using\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n P\bPu\bub\bbl\bli\bic\bc M\bMe\bem\bmb\bbe\ber\br F\bFu\bun\bnc\bct\bti\bio\bon\bns\bs\n- \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br () noexcept=default\n+ \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br () _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0 Create an iterator, but in an unusable state.\n \u00a0\n- \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const\n- &) noexcept=default\n+ \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt\n+ &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0 Copy an iterator.\n \u00a0\n \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &&)\n- noexcept=default\n+ _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0 Move an iterator.\n \u00a0\n- \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br (_\br_\bo_\bw const &t) noexcept\n+ \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &_\bt) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Begin iterating a _\br_\bo_\bw.\n \u00a0\n Dereferencing operators\n An iterator \"points to\" its own row, which is also itself. This makes it easy\n to address a _\br_\be_\bs_\bu_\bl_\bt as a two-dimensional container, without going through the\n intermediate step of dereferencing the iterator. It makes the interface similar\n to C pointer/array semantics.\n IIRC Alex Stepanov, the inventor of the STL, once remarked that having this as\n standard behaviour for pointers would be useful in some algorithms. So even if\n this makes me look foolish, I would seem to be in distinguished company.\n- pointer\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b->\b> () const\n+ _\bp_\bo_\bi_\bn_\bt_\be_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b->\b> () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Dereference the iterator.\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br*\b* () const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br*\b* () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Dereference the iterator.\n \u00a0\n Manipulations\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &rhs)\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs)\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &&rhs)\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &&_\br_\bh_\bs)\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b++\b+ (int) &\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b++\b+ (_\bi_\bn_\bt) &\n \u00a0\n _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b++\b+ ()\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b--\b- (int) &\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b--\b- (_\bi_\bn_\bt) &\n \u00a0\n _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b--\b- ()\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+=\b= (difference_type i)\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+=\b= (difference_type _\bi)\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b-=\b= (difference_type i)\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b-=\b= (difference_type _\bi)\n \u00a0\n- void\u00a0 s\bsw\bwa\bap\bp (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &other) noexcept\n+ _\bv_\bo_\bi_\bd\u00a0 s\bsw\bwa\bap\bp (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &_\bo_\bt_\bh_\be_\br) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Interchange two iterators in an exception-safe\n manner.\n \u00a0\n Comparisons\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &i) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\bi) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &i) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\bi) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b< (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &i) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b< (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\bi) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b<=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &i) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b<=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\bi) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b> (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &i) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b> (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\bi) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b>=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &i) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b>=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\bi) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n Field access\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n-constexpr result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () const noexcept\n+_\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Row number, assuming this is a real row and not\n end()/rend().\n \u00a0\n [-]\u00a0Public Member Functions inherited from _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw\n- \u00a0 r\bro\bow\bw (_\br_\bo_\bw &&) noexcept=default\n+ \u00a0 r\bro\bow\bw (_\br_\bo_\bw &&) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- \u00a0 r\bro\bow\bw (_\br_\bo_\bw const &) noexcept=default\n+ \u00a0 r\bro\bow\bw (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw const &) noexcept=default\n+ _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw &&) noexcept=default\n+ _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw &&) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- PQXX_PURE bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\br_\bo_\bw const &) const noexcept\n+ PQXX_PURE _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\br_\bo_\bw const &rhs) const noexcept\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcb\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 e\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 e\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bce\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bce\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\brb\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\brb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\brb\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\brb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\bre\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\bre\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\bre\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\bre\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br[\b[]\b] (size_type) const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br[\b[]\b] (size_type) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b[_\b] (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b[_\b] (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- constexpr size_type\u00a0 s\bsi\biz\bze\be () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br size_type\u00a0 s\bsi\biz\bze\be () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n-constexpr result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () const noexcept\n+_\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Row number, assuming this is a real row and not\n end()/rend().\n \u00a0\n- size_type\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bnu\bum\bmb\bbe\ber\br (_\bz_\bv_\bi_\be_\bw col_name) const\n+ size_type\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bnu\bum\bmb\bbe\ber\br (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Number of given column (throws exception if it\n doesn't exist).\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (size_type) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Return a column's type.\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Return a column's type.\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (size_type col_num) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (size_type _\bc_\bo_\bl_\b__\bn_\bu_\bm) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What table did this column come from?\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What table did this column come from?\n \u00a0\n- size_type\u00a0 _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn (size_type) const\n+ size_type\u00a0 _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What column number in its table did this result\n column come from?\n \u00a0\n- size_type\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\bz_\bv_\bi_\be_\bw col_name) const\n+ size_type\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What column number in its table did this result\n column come from?\n \u00a0\n-constexpr result::size_type\u00a0 n\bnu\bum\bm () const noexcept\n+_\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br result::size_type\u00a0 n\bnu\bum\bm () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n-template\n- void\u00a0 _\bt_\bo (Tuple &t) const\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bu_\bp_\bl_\be >\n+ _\bv_\bo_\bi_\bd\u00a0 _\bt_\bo (_\bT_\bu_\bp_\bl_\be &_\bt) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Extract entire row's values into a tuple.\n \u00a0\n template\n- std::tuple< TYPE... >\u00a0 _\ba_\bs () const\n+ std::tuple< TYPE... >\u00a0 _\ba_\bs () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Extract entire row's values into a tuple.\n \u00a0\n- void\u00a0 s\bsw\bwa\bap\bp (_\br_\bo_\bw &) noexcept\n+ _\bv_\bo_\bi_\bd\u00a0 s\bsw\bwa\bap\bp (_\br_\bo_\bw &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\bo_\bw\u00a0 _\bs_\bl_\bi_\bc_\be (size_type sbegin, size_type send) const\n+ _\br_\bo_\bw\u00a0 _\bs_\bl_\bi_\bc_\be (size_type _\bs_\bb_\be_\bg_\bi_\bn, size_type _\bs_\be_\bn_\bd) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- PQXX_PURE bool\u00a0 e\bem\bmp\bpt\bty\by () const noexcept\n+ PQXX_PURE _\bb_\bo_\bo_\bl\u00a0 e\bem\bmp\bpt\bty\by () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Is this a row without fields? Can only happen to a\n slice.\n \u00a0\n *\b**\b**\b**\b**\b* A\bAr\bri\bit\bth\bhm\bme\bet\bti\bic\bc o\bop\bpe\ber\bra\bat\bto\bor\brs\bs *\b**\b**\b**\b**\b*\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:r\bre\bes\bsu\bul\blt\bt\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:r\bre\bes\bsu\bul\blt\bt\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+ (difference_type, _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+ (difference_type, _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt\n &)\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+ (difference_type) const\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+ (difference_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (difference_type) const\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (difference_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- difference_type\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &) const\n+ difference_type\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n A\bAd\bdd\bdi\bit\bti\bio\bon\bna\bal\bl I\bIn\bnh\bhe\ber\bri\bit\bte\bed\bd M\bMe\bem\bmb\bbe\ber\brs\bs\n [-]\u00a0Protected Member Functions inherited from _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw\n- \u00a0 _\br_\bo_\bw (_\br_\be_\bs_\bu_\bl_\bt const &r, _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be index, size_type\n- cols) noexcept\n+ \u00a0 _\br_\bo_\bw (_\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &_\br, _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be index, size_type\n+ _\bc_\bo_\bl_\bs) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- void\u00a0 c\bch\bhe\bec\bck\bk_\b_s\bsi\biz\bze\be (size_type expected) const\n+ _\bv_\bo_\bi_\bd\u00a0 c\bch\bhe\bec\bck\bk_\b_s\bsi\biz\bze\be (size_type _\be_\bx_\bp_\be_\bc_\bt_\be_\bd) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Throw _\bu_\bs_\ba_\bg_\be_\b__\be_\br_\br_\bo_\br if row size is not expected.\n \u00a0\n-template\n- TUPLE\u00a0 _\ba_\bs_\b__\bt_\bu_\bp_\bl_\be () const\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bU_\bP_\bL_\bE >\n+ _\bT_\bU_\bP_\bL_\bE\u00a0 _\ba_\bs_\b__\bt_\bu_\bp_\bl_\be () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Convert to a given tuple of values, don't check sizes.\n \u00a0\n-template\n- void\u00a0 c\bco\bon\bnv\bve\ber\brt\bt (Tuple &t) const\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bu_\bp_\bl_\be >\n+ _\bv_\bo_\bi_\bd\u00a0 c\bco\bon\bnv\bve\ber\brt\bt (_\bT_\bu_\bp_\bl_\be &_\bt) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Convert entire row to tuple fields, without checking row\n size.\n \u00a0\n [-]\u00a0Protected Attributes inherited from _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw\n _\br_\be_\bs_\bu_\bl_\bt\u00a0 m\bm_\b_r\bre\bes\bsu\bul\blt\bt\n \u00a0 Result set of which this is one row.\n \u00a0\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1const__reverse__result__iterator.html", "unified_diff": "@@ -130,141 +130,141 @@\n \"\"\n \n
[legend]
\n

\n Additional Inherited Members

\"-\"/ Protected Member Functions inherited from pqxx::row
 row (result const &r, result_size_type index, size_type cols) noexcept
 row (result const &r, result_size_type index, size_type cols) noexcept
 
\n-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.
 
\n-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
\n result m_result
 Result set of which this is one row.
 
\n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n

\n Public Types

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

\n Public Member Functions

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

Detailed Description

\n

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

\n

Member Function Documentation

\n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -9,120 +9,120 @@\n [+]Inheritance diagram for pqxx::const_reverse_result_iterator:\n [Inheritance graph]\n [_\bl_\be_\bg_\be_\bn_\bd]\n [+]Collaboration diagram for pqxx::const_reverse_result_iterator:\n [Collaboration graph]\n [_\bl_\be_\bg_\be_\bn_\bd]\n P\bPu\bub\bbl\bli\bic\bc T\bTy\byp\bpe\bes\bs\n-using\u00a0 s\bsu\bup\bpe\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 s\bsu\bup\bpe\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br_\b_t\bty\byp\bpe\be = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br_\b_t\bty\byp\bpe\be = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 v\bva\bal\blu\bue\be_\b_t\bty\byp\bpe\be = iterator_type::value_type\n+_\bu_\bs_\bi_\bn_\bg\u00a0 v\bva\bal\blu\bue\be_\b_t\bty\byp\bpe\be = _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b__\bt_\by_\bp_\be_\b:_\b:_\bv_\ba_\bl_\bu_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b__\bt_\by_\bp_\be_\b:_\b:_\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b__\bt_\by_\bp_\be_\b:_\b:_\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\n \u00a0\n-using\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br_\b_c\bca\bat\bte\beg\bgo\bor\bry\by = std::random_access_iterator_tag\n+_\bu_\bs_\bi_\bn_\bg\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br_\b_c\bca\bat\bte\beg\bgo\bor\bry\by = std::random_access_iterator_tag\n \u00a0\n-using\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\br_\bo_\bw const *\n+_\bu_\bs_\bi_\bn_\bg\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt *\n \u00a0\n P\bPu\bub\bbl\bli\bic\bc M\bMe\bem\bmb\bbe\ber\br F\bFu\bun\bnc\bct\bti\bio\bon\bns\bs\n- \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br ()=default\n+ \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br ()=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0 Create an iterator, but in an unusable state.\n \u00a0\n \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br\n- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const\n- &rhs)=default\n+ (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt\n+ &_\br_\bh_\bs)=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0 Copy an iterator.\n \u00a0\n \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br\n- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &rhs)\n+ (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs)\n \u00a0 Copy a reverse iterator from a regular\n iterator.\n \u00a0\n \u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br\n- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &&rhs)\n+ (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &&_\br_\bh_\bs)\n \u00a0 Move a regular iterator into a reverse\n iterator.\n \u00a0\n-PQXX_PURE _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bba\bas\bse\be () const noexcept\n+PQXX_PURE _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bba\bas\bse\be () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Return the underlying \"regular\" iterator (as\n per standard library).\n \u00a0\n Manipulations\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const\n- &r)\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt\n+ &_\br)\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &&r)\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &&_\br)\n \u00a0\n _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b++\b+ ()\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b++\b+ (int) &\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b++\b+ (_\bi_\bn_\bt) &\n \u00a0\n _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b--\b- ()\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b--\b- (int) &\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b--\b- (_\bi_\bn_\bt) &\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+=\b= (difference_type i)\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+=\b= (difference_type _\bi)\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b-=\b= (difference_type i)\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b-=\b= (difference_type _\bi)\n \u00a0\n- void\u00a0 s\bsw\bwa\bap\bp (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &other)\n- noexcept\n+ _\bv_\bo_\bi_\bd\u00a0 s\bsw\bwa\bap\bp (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &_\bo_\bt_\bh_\be_\br)\n+ _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n Arithmetic operators\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+ (difference_type i) const\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br+\b+ (difference_type _\bi) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (difference_type i)\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (difference_type _\bi)\n \u00a0\n- difference_type\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const\n- &rhs) const\n+ difference_type\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt\n+ &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n Comparisons\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n- const &rhs) const noexcept\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+ _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n- const &rhs) const noexcept\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+ _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b< (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const\n- &rhs) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b< (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt\n+ &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b<=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n- const &rhs) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br<\b<=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+ _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b> (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const\n- &rhs) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b> (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt\n+ &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b>=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n- const &rhs) const\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br>\b>=\b= (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+ _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n Dereferencing operators\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (difference_type) const\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (difference_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Dereference iterator.\n \u00a0\n- difference_type\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &)\n- const\n+ difference_type\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br-\b- (_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &)\n+ _\bc_\bo_\bn_\bs_\bt\n \u00a0 Dereference iterator.\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br*\b* () const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br*\b* () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Dereference iterator.\n \u00a0\n Field access\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- constexpr result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Row number, assuming this is a real row and\n not end()/rend().\n \u00a0\n *\b**\b**\b**\b**\b* D\bDe\bet\bta\bai\bil\ble\bed\bd D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn *\b**\b**\b**\b**\b*\n Reverse iterator for result. Use as result::const_reverse_iterator.\n *\b**\b**\b**\b**\b* M\bMe\bem\bmb\bbe\ber\br F\bFu\bun\bnc\bct\bti\bio\bon\bn D\bDo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0a\bat\bt(\b()\b) *\b**\b**\b**\b**\b*\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject.html", "unified_diff": "@@ -171,15 +171,15 @@\n  \n \n PQXX_PRIVATE std::string reason (connection const &, int err) const\n  \n \n

Detailed Description

\n

Identity of a large object.

\n-
Deprecated:
Use the blob class instead.
\n+
Deprecated:
Use the blob class instead.
\n

Encapsulates the identity of a large object.

\n

A largeobject must be accessed only from within a backend transaction, but the object's identity remains valid as long as the object exists.

\n

Constructor & Destructor Documentation

\n \n

◆ largeobject() [1/5]

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject__streambuf.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobject__streambuf.html", "unified_diff": "@@ -190,15 +190,15 @@\n \n virtual int_type underflow () override\n  \n \n

Detailed Description

\n
template<typename CHAR = char, typename TRAITS = std::char_traits<CHAR>>
\n class pqxx::largeobject_streambuf< CHAR, TRAITS >

Streambuf to use large objects in standard I/O streams.

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

The standard streambuf classes provide uniform access to data storage such as files or string buffers, so they can be accessed using standard input or output streams. This streambuf implementation provided similar access to large objects, so they could be read and written using the same stream classes.

\n

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

\n

Member Data Documentation

\n \n

◆ default_mode

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobjectaccess.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1largeobjectaccess.html", "unified_diff": "@@ -238,15 +238,15 @@\n  \n bool operator>= (largeobject const &other) const\n  Compare object identities.
\n  \n \n

Detailed Description

\n

Accessor for large object's contents.

\n-
Deprecated:
Use the blob class instead.
\n+
Deprecated:
Use the blob class instead.
\n

Member Typedef Documentation

\n \n

◆ openmode

\n \n
\n
\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1params.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1params.html", "unified_diff": "@@ -183,15 +183,15 @@\n \n \n \n \n \n
(binarystring const & value) &
\n
\n-
Deprecated:
Append binarystring parameter.
\n+
Deprecated:
Append binarystring parameter.
\n

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

\n \n
\n
\n \n

◆ append() [2/6]

\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1result.html", "unified_diff": "@@ -100,205 +100,206 @@\n \n

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

\n \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n

\n Public Types

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

\n Public Member Functions

\n- result (result const &rhs) noexcept=default
result (result const &rhs) noexcept=default
 
\n- 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.
 
\n-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.

\n
\n-bool operator== (result const &) const noexcept
operator== (result const &) const noexcept
 Compare two results for equality.
 
\n-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...\".
 
\n-const_reverse_iterator rbegin () const
rbegin () const
 
\n-const_reverse_iterator crbegin () const
crbegin () const
 
\n-const_reverse_iterator rend () const
rend () const
 
\n-const_reverse_iterator crend () const
crend () const
 
\n-const_iterator begin () const noexcept
begin () const noexcept
 
\n-const_iterator cbegin () const noexcept
cbegin () const noexcept
 
\n-const_iterator end () const noexcept
end () const noexcept
 
\n-const_iterator cend () const noexcept
cend () const noexcept
 
\n-reference front () const noexcept
front () const noexcept
 
\n-reference back () const noexcept
back () const noexcept
 
\n-PQXX_PURE size_type size () const noexcept
size () const noexcept
 
\n-PQXX_PURE bool empty () const noexcept
empty () const noexcept
 
\n-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.
 
\n-row at (size_type) const
at (size_type) const
 Index a row by number, but check that the row number is valid.
 
\n-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.
 
\n \n \n+class \n \n \n+class \n \n \n+class \n \n \n+class \n \n \n+class \n \n \n+class \n \n \n+PQXX_PURE row_size_type \n \n \n \n+row_size_type \n \n \n \n+charconst * \n \n \n-\n+\n \n \n-\n+\n \n \n \n+oid \n \n \n \n+oid \n \n \n \n+oid \n \n \n \n+oid \n \n \n \n+row_size_type \n \n \n \n+row_size_type \n \n \n \n+PQXX_PURE std::string const & \n \n \n-\n+\n \n \n-\n+\n \n \n-\n-\n+\n+\n \n \n

Column information

\n-class pqxx::internal::gate::result_pipeline
pqxx::internal::gate::result_pipeline
 
\n-class pqxx::field
pqxx::field
 
\n-class pqxx::internal::gate::result_creation
pqxx::internal::gate::result_creation
 
\n-class pqxx::internal::gate::result_connection
pqxx::internal::gate::result_connection
 
\n-class pqxx::internal::gate::result_row
pqxx::internal::gate::result_row
 
\n-class pqxx::internal::gate::result_sql_cursor
pqxx::internal::gate::result_sql_cursor
 
\n-PQXX_PURE row_size_type columns () const noexcept
columns () const noexcept
 Number of columns in result.
 
\n-row_size_type column_number (zview name) const
column_number (zview name) const
 Number of given column (throws exception if it doesn't exist).
 
\n-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.
 
\n-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.
 
\n-oid column_type (zview col_name) const
column_type (zview col_name) const
 Return column's type, as an OID from the system catalogue.
 
\n-oid column_table (row_size_type col_num) const
column_table (row_size_type col_num) const
 What table did this column come from?
 
\n-oid column_table (zview col_name) const
column_table (zview col_name) const
 What table did this column come from?
 
\n-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?
 
\n-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?
 
\n-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.
 
\n

Detailed Description

\n

Result set containing data returned by a query or command.

\n

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:

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

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.

\n
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!
\n

Member Function Documentation

\n \n

◆ affected_rows()

\n \n
\n@@ -324,15 +325,15 @@\n
\n
\n \n \n \n \n \n
\n \n \n- \n+ \n \n \n \n \n
void pqxx::result::clear void pqxx::result::clear ()
\n
\n@@ -350,15 +351,15 @@\n \n

◆ column_storage()

\n \n
\n
\n \n \n- \n+ \n \n \n \n \n \n
int pqxx::result::column_storage int pqxx::result::column_storage (row_size_type number) const
\n
\n@@ -374,15 +375,15 @@\n
\n
\n \n \n \n@@ -402,23 +403,23 @@\n \n \n

◆ for_each()

\n \n
\n
\n
\n-template<typename CALLABLE >
\n+template<typename CALLABLE >
\n
\n \n \n- \n+ \n \n \n \n \n \n
int pqxx::result::column_type_modifier int pqxx::result::column_type_modifier (row_size_type number) const
\n
\n \n \n \n@@ -428,17 +429,17 @@\n \n

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

\n

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

\n

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.

\n

(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.)

\n

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

\n

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.

\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(
\n-
[](std::string_view name, float salary){
\n-
std::cout << name << " would like " << salary * 2 << ".\\n";
\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(
\n+
[](std::string_view name, float salary){
\n+
std::cout << name << " would like " << salary * 2 << ".\\n";
\n
})
\n

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

\n
Exceptions
\n
\n \n \n- \n+ \n \n- \n+ \n \n \n \n
void pqxx::result::for_each void pqxx::result::for_each (CALLABLE && CALLABLE && func) const
\n
\n inline
\n \n
pqxx::usage_errorif func's number of parameters does not match the number of columns in this result.
\n \n@@ -475,15 +476,15 @@\n
\n template<typename... TYPE>
\n \n \n \n \n \n \n
\n \n \n- \n+ \n \n \n \n \n
auto pqxx::result::iter auto pqxx::result::iter () const
\n
\n@@ -506,15 +507,15 @@\n \n \n \n \n@@ -562,15 +563,15 @@\n
\n
\n
\n \n \n \n \n- \n+ \n \n \n \n
result & pqxx::result::operator= (result const & result constrhs)
\n
\n defaultnoexcept
\n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -3,175 +3,178 @@\n Loading...\n Searching...\n No Matches\n _\bP_\bu_\bb_\bl_\bi_\bc_\b _\bT_\by_\bp_\be_\bs | _\bP_\bu_\bb_\bl_\bi_\bc_\b _\bM_\be_\bm_\bb_\be_\br_\b _\bF_\bu_\bn_\bc_\bt_\bi_\bo_\bn_\bs | _\bL_\bi_\bs_\bt_\b _\bo_\bf_\b _\ba_\bl_\bl_\b _\bm_\be_\bm_\bb_\be_\br_\bs\n pqxx::result Class Reference\n Result set containing data returned by a query or command. _\bM_\bo_\br_\be_\b._\b._\b.\n P\bPu\bub\bbl\bli\bic\bc T\bTy\byp\bpe\bes\bs\n-using\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\be_\bs_\bu_\bl_\bt_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\br_\bo_\bw\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\br_\bo_\bw\n \u00a0\n-using\u00a0 c\bco\bon\bns\bst\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 c\bco\bon\bns\bst\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n P\bPu\bub\bbl\bli\bic\bc M\bMe\bem\bmb\bbe\ber\br F\bFu\bun\bnc\bct\bti\bio\bon\bns\bs\n- \u00a0 r\bre\bes\bsu\bul\blt\bt (_\br_\be_\bs_\bu_\bl_\bt const &rhs) noexcept=default\n+ \u00a0 r\bre\bes\bsu\bul\blt\bt (_\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- \u00a0 r\bre\bes\bsu\bul\blt\bt (_\br_\be_\bs_\bu_\bl_\bt &&rhs) noexcept=default\n+ \u00a0 r\bre\bes\bsu\bul\blt\bt (_\br_\be_\bs_\bu_\bl_\bt &&_\br_\bh_\bs) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- _\br_\be_\bs_\bu_\bl_\bt &\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b= (_\br_\be_\bs_\bu_\bl_\bt const &rhs) noexcept=default\n+ _\br_\be_\bs_\bu_\bl_\bt &\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b= (_\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0 Assign one result to another.\n \u00a0\n- _\br_\be_\bs_\bu_\bl_\bt &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\be_\bs_\bu_\bl_\bt &&rhs) noexcept=default\n+ _\br_\be_\bs_\bu_\bl_\bt &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\be_\bs_\bu_\bl_\bt &&_\br_\bh_\bs) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0 Assign one result to another, invaliding the old one.\n \u00a0\n Comparisons\n You can compare results for equality. Beware: this is a very strict, dumb\n comparison. The smallest difference between two results (such as a string \"Foo\"\n versus a string \"foo\") will make them unequal.\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\br_\be_\bs_\bu_\bl_\bt const &) const noexcept\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Compare two results for equality.\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\br_\be_\bs_\bu_\bl_\bt const &rhs) const noexcept\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Compare two results for inequality.\n \u00a0\n template\n- auto\u00a0 _\bi_\bt_\be_\br () const\n+ _\ba_\bu_\bt_\bo\u00a0 _\bi_\bt_\be_\br () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Iterate rows, reading them directly into a tuple of\n \"TYPE...\".\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\brb\bbe\beg\bgi\bin\bn () const\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\brb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\brb\bbe\beg\bgi\bin\bn () const\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\brb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\bre\ben\bnd\bd () const\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\bre\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt\n \u00a0\n-_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\bre\ben\bnd\bd () const\n+_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\bre\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcb\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 e\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 e\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bce\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bce\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- PQXX_PURE size_type\u00a0 s\bsi\biz\bze\be () const noexcept\n+ PQXX_PURE size_type\u00a0 s\bsi\biz\bze\be () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- PQXX_PURE bool\u00a0 e\bem\bmp\bpt\bty\by () const noexcept\n+ PQXX_PURE _\bb_\bo_\bo_\bl\u00a0 e\bem\bmp\bpt\bty\by () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- size_type\u00a0 c\bca\bap\bpa\bac\bci\bit\bty\by () const noexcept\n+ size_type\u00a0 c\bca\bap\bpa\bac\bci\bit\bty\by () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- void\u00a0 _\bs_\bw_\ba_\bp (_\br_\be_\bs_\bu_\bl_\bt &) noexcept\n+ _\bv_\bo_\bi_\bd\u00a0 _\bs_\bw_\ba_\bp (_\br_\be_\bs_\bu_\bl_\bt &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Exchange two result values in an exception-safe manner.\n \u00a0\n- _\br_\bo_\bw\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b[_\b] (size_type i) const noexcept\n+ _\br_\bo_\bw\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b[_\b] (size_type _\bi) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Index a row by number.\n \u00a0\n- _\br_\bo_\bw\u00a0 a\bat\bt (size_type) const\n+ _\br_\bo_\bw\u00a0 a\bat\bt (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Index a row by number, but check that the row number is\n valid.\n \u00a0\n- _\bf_\bi_\be_\bl_\bd\u00a0 a\bat\bt (size_type, _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be) const\n+ _\bf_\bi_\be_\bl_\bd\u00a0 a\bat\bt (size_type, _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Index a field by row number and column number.\n \u00a0\n- void\u00a0 _\bc_\bl_\be_\ba_\br () noexcept\n+ _\bv_\bo_\bi_\bd\u00a0 _\bc_\bl_\be_\ba_\br () _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Let go of the result's data.\n \u00a0\n *\b**\b**\b**\b**\b* C\bCo\bol\blu\bum\bmn\bn i\bin\bnf\bfo\bor\brm\bma\bat\bti\bio\bon\bn *\b**\b**\b**\b**\b*\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_p\bpi\bip\bpe\bel\bli\bin\bne\be\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_p\bpi\bip\bpe\bel\bli\bin\bne\be\n \u00a0\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:f\bfi\bie\bel\bld\bd\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:f\bfi\bie\bel\bld\bd\n \u00a0\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_c\bcr\bre\bea\bat\bti\bio\bon\bn\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_c\bcr\bre\bea\bat\bti\bio\bon\bn\n \u00a0\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_c\bco\bon\bnn\bne\bec\bct\bti\bio\bon\bn\n \u00a0\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_r\bro\bow\bw\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_r\bro\bow\bw\n \u00a0\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_s\bsq\bql\bl_\b_c\bcu\bur\brs\bso\bor\br\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:g\bga\bat\bte\be:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_s\bsq\bql\bl_\b_c\bcu\bur\brs\bso\bor\br\n \u00a0\n- PQXX_PURE _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 c\bco\bol\blu\bum\bmn\bns\bs () const noexcept\n+ PQXX_PURE _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 c\bco\bol\blu\bum\bmn\bns\bs () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Number of columns in result.\n \u00a0\n- _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bnu\bum\bmb\bbe\ber\br (_\bz_\bv_\bi_\be_\bw name) const\n+ _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bnu\bum\bmb\bbe\ber\br (_\bz_\bv_\bi_\be_\bw name) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Number of given column (throws exception if it\n doesn't exist).\n \u00a0\n- char const *\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bna\bam\bme\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be number) const &\n+ _\bc_\bh_\ba_\br _\bc_\bo_\bn_\bs_\bt *\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bna\bam\bme\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bn_\bu_\bm_\bb_\be_\br) _\bc_\bo_\bn_\bs_\bt &\n \u00a0 Name of column with this number (throws\n exception if it doesn't exist)\n \u00a0\n- int\u00a0 _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bs_\bt_\bo_\br_\ba_\bg_\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be number) const\n+ _\bi_\bn_\bt\u00a0 _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bs_\bt_\bo_\br_\ba_\bg_\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bn_\bu_\bm_\bb_\be_\br) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Server-side storage size for field of column's\n type, in bytes.\n \u00a0\n- int\u00a0 _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\by_\bp_\be_\b__\bm_\bo_\bd_\bi_\bf_\bi_\be_\br (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be number)\n- const noexcept\n+ _\bi_\bn_\bt\u00a0 _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\by_\bp_\be_\b__\bm_\bo_\bd_\bi_\bf_\bi_\be_\br (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bn_\bu_\bm_\bb_\be_\br)\n+ _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Type modifier of the column with this number.\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be col_num) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bc_\bo_\bl_\b__\bn_\bu_\bm) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Return column's type, as an OID from the system\n catalogue.\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Return column's type, as an OID from the system\n catalogue.\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be col_num) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bc_\bo_\bl_\b__\bn_\bu_\bm) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What table did this column come from?\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What table did this column come from?\n \u00a0\n- _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be col_num) const\n+ _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bc_\bo_\bl_\b__\bn_\bu_\bm) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What column in its table did this column come\n from?\n \u00a0\n- _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What column in its table did this column come\n from?\n \u00a0\n-PQXX_PURE std::string const &\u00a0 q\bqu\bue\ber\bry\by () const &noexcept\n+PQXX_PURE std::string _\bc_\bo_\bn_\bs_\bt &\u00a0 q\bqu\bue\ber\bry\by () _\bc_\bo_\bn_\bs_\bt &_\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Query that produced this result, if available\n (empty string otherwise)\n \u00a0\n- PQXX_PURE _\bo_\bi_\bd\u00a0 _\bi_\bn_\bs_\be_\br_\bt_\be_\bd_\b__\bo_\bi_\bd () const\n+ PQXX_PURE _\bo_\bi_\bd\u00a0 _\bi_\bn_\bs_\be_\br_\bt_\be_\bd_\b__\bo_\bi_\bd () _\bc_\bo_\bn_\bs_\bt\n \u00a0 If command was an INSERT of 1 row, return oid of\n the inserted row.\n \u00a0\n- PQXX_PURE size_type\u00a0 _\ba_\bf_\bf_\be_\bc_\bt_\be_\bd_\b__\br_\bo_\bw_\bs () const\n+ PQXX_PURE size_type\u00a0 _\ba_\bf_\bf_\be_\bc_\bt_\be_\bd_\b__\br_\bo_\bw_\bs () _\bc_\bo_\bn_\bs_\bt\n \u00a0 If command was INSERT, UPDATE, or DELETE: number\n of affected rows.\n \u00a0\n-template\n- void\u00a0 _\bf_\bo_\br_\b__\be_\ba_\bc_\bh (CALLABLE &&func) const\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bC_\bA_\bL_\bL_\bA_\bB_\bL_\bE >\n+ _\bv_\bo_\bi_\bd\u00a0 _\bf_\bo_\br_\b__\be_\ba_\bc_\bh (_\bC_\bA_\bL_\bL_\bA_\bB_\bL_\bE &&_\bf_\bu_\bn_\bc) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Run func on each row, passing the row's fields\n as parameters.\n \u00a0\n *\b**\b**\b**\b**\b* D\bDe\bet\bta\bai\bil\ble\bed\bd D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn *\b**\b**\b**\b**\b*\n Result set containing data returned by a query or command.\n This behaves as a container (as defined by the C++ standard library) and\n provides random access const iterators to iterate over its rows. You can also\n access a row by indexing a result R by the row's zero-based number:\n-for (result::size_type i=0; i < std::size(R); ++i) Process(R[i]);\n+for (result::size_type _\bi=0; _\bi < std::size(_\bR); ++_\bi) _\bP_\br_\bo_\bc_\be_\bs_\bs(_\bR[_\bi]);\n+_\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+Reverse iterator for result. Use as result::const_reverse_iterator.\n+D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn result_iterator.hxx:194\n Result sets in libpqxx are lightweight, reference-counted wrapper objects which\n are relatively small and cheap to copy. Think of a result object as a \"smart\n pointer\" to an underlying result set.\n Warning\n The result set that a result object points to is not thread-safe. If you\n copy a result object, it still refers to the same underlying result set.\n So never copy, destroy, query, or otherwise access a result while another\n@@ -181,40 +184,40 @@\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0a\baf\bff\bfe\bec\bct\bte\bed\bd_\b_r\bro\bow\bws\bs(\b()\b) *\b**\b**\b**\b**\b*\n pqxx::result::size_type pqxx::result::affected_rows ( ) const\n If command was INSERT, UPDATE, or DELETE: number of affected rows.\n Returns\n Number of affected rows if last command was INSERT, UPDATE, or DELETE;\n zero for all other commands.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0c\bcl\ble\bea\bar\br(\b()\b) *\b**\b**\b**\b**\b*\n-void pqxx::result:: ( ) inlinenoexcept\n+_\bv_\bo_\bi_\bd pqxx::result:: ( ) inlinenoexcept\n clear\n Let go of the result's data.\n Use this if you need to deallocate the result data earlier than you can destroy\n the result object itself.\n Multiple result objects can refer to the same set of underlying data. The\n underlying data will be deallocated once all result objects that refer to it\n are cleared or destroyed.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0c\bco\bol\blu\bum\bmn\bn_\b_s\bst\bto\bor\bra\bag\bge\be(\b()\b) *\b**\b**\b**\b**\b*\n-int pqxx::result::column_storage ( _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 n\bnu\bum\bmb\bbe\ber\br ) const\n+_\bi_\bn_\bt pqxx::result::column_storage ( _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 n\bnu\bum\bmb\bbe\ber\br ) const\n Server-side storage size for field of column's type, in bytes.\n Returns the size of the server's internal representation of the column's data\n type. A negative value indicates the data type is variable-length.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be_\b_m\bmo\bod\bdi\bif\bfi\bie\ber\br(\b()\b) *\b**\b**\b**\b**\b*\n-int pqxx::result::column_type_modifier ( _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 n\bnu\bum\bmb\bbe\ber\br ) const noexcept\n+_\bi_\bn_\bt pqxx::result::column_type_modifier ( _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 n\bnu\bum\bmb\bbe\ber\br ) const noexcept\n Type modifier of the column with this number.\n The meaning of modifier values is type-specific; they typically indicate\n precision or size limits.\n U\bUs\bse\be t\bth\bhi\bis\bs o\bon\bnl\bly\by i\bif\bf y\byo\bou\bu k\bkn\bno\bow\bw w\bwh\bha\bat\bt y\byo\bou\bu'\b'r\bre\be d\bdo\boi\bin\bng\bg.\b. Most applications do not need it,\n and most types do not use modifiers.\n The value -1 indicates \"no information available.\"\n Warning\n There is no check for errors, such as an invalid column number.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0f\bfo\bor\br_\b_e\bea\bac\bch\bh(\b()\b) *\b**\b**\b**\b**\b*\n-template\n-void pqxx::result::for_each ( CALLABLE &&\u00a0 f\bfu\bun\bnc\bc ) const inline\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bC_\bA_\bL_\bL_\bA_\bB_\bL_\bE >\n+_\bv_\bo_\bi_\bd pqxx::result::for_each ( _\bC_\bA_\bL_\bL_\bA_\bB_\bL_\bE &&\u00a0 f\bfu\bun\bnc\bc ) const inline\n Run func on each row, passing the row's fields as parameters.\n Goes through the rows from first to last. You provide a callable func.\n For each row in the result, for_each will call func. It converts the row's\n fields to the types of func's parameters, and pass them to func.\n (Therefore func must have a s\bsi\bin\bng\bgl\ble\be signature. It can't be a generic lambda, or\n an object of a class with multiple overloaded function call operators.\n Otherwise, for_each will have no way to detect a parameter list without\n@@ -222,17 +225,17 @@\n If any of your parameter types is std::string_view, it refers to the underlying\n storage of this result.\n If any of your parameter types is a reference type, its argument will refer to\n a temporary value which only lives for the duration of that single invocation\n to func. If the reference is an lvalue reference, it must be const.\n For example, this queries employee names and salaries from the database and\n prints how much each would like to earn instead:\n-tx.exec(\"SELECT name, salary FROM employee\").for_each(\n-[](std::string_view name, float salary){\n-std::cout << name << \" would like \" << salary * 2 << \".\\n\";\n+_\bt_\bx.exec(\"SELECT name, salary FROM employee\").for_each(\n+[](std::string_view name, float _\bs_\ba_\bl_\ba_\br_\by){\n+std::cout << name << \" would like \" << _\bs_\ba_\bl_\ba_\br_\by * 2 << \".\\n\";\n })\n If func throws an exception, processing stops at that point and propagates the\n exception.\n Exceptions\n _\bp_\bq_\bx_\bx_\b:_\b:_\bu_\bs_\ba_\bg_\be_\b__\be_\br_\br_\bo_\br if func's number of parameters does not match the\n number of columns in this result.\n The parameter types must have conversions from PostgreSQL's string format\n@@ -241,32 +244,32 @@\n _\bp_\bq_\bx_\bx_\b:_\b:_\bo_\bi_\bd pqxx::result::inserted_oid ( ) const\n If command was an INSERT of 1 row, return oid of the inserted row.\n Returns\n Identifier of inserted row if exactly one row was inserted, or _\bo_\bi_\bd_\b__\bn_\bo_\bn_\be\n otherwise.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0i\bit\bte\ber\br(\b()\b) *\b**\b**\b**\b**\b*\n template\n-auto pqxx::result::iter ( ) const inline\n+_\ba_\bu_\bt_\bo pqxx::result::iter ( ) const inline\n Iterate rows, reading them directly into a tuple of \"TYPE...\".\n Converts the fields to values of the given respective types.\n Use this only with a ranged \"for\" loop. The iteration produces std::\n tuple which you can \"unpack\" to a series of auto variables.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0o\bop\bpe\ber\bra\bat\bto\bor\br=\b=(\b()\b) *\b**\b**\b**\b**\b*\n-_\br_\be_\bs_\bu_\bl_\bt & pqxx::result:: ( _\br_\be_\bs_\bu_\bl_\bt const &\u00a0 r\brh\bhs\bs ) defaultnoexcept\n+_\br_\be_\bs_\bu_\bl_\bt & pqxx::result:: ( _\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &\u00a0 r\brh\bhs\bs ) defaultnoexcept\n operator=\n Assign one result to another.\n Copying results is cheap: it copies only smart pointers, but the actual data\n stays in the same place.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0o\bop\bpe\ber\bra\bat\bto\bor\br[\b[]\b](\b()\b) *\b**\b**\b**\b**\b*\n _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw pqxx::result::operator[] ( size_type\u00a0 i\bi ) const noexcept\n Index a row by number.\n This returns a _\br_\bo_\bw object. Generally you should not keep the row around as a\n variable, but if you do, make sure that your variable is a row, not a row&.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0s\bsw\bwa\bap\bp(\b()\b) *\b**\b**\b**\b**\b*\n-void pqxx::result:: ( _\br_\be_\bs_\bu_\bl_\bt &\u00a0 r\brh\bhs\bs ) noexcept\n+_\bv_\bo_\bi_\bd pqxx::result:: ( _\br_\be_\bs_\bu_\bl_\bt &\u00a0 r\brh\bhs\bs ) noexcept\n swap\n Exchange two result values in an exception-safe manner.\n If the swap fails, the two values will be exactly as they were before.\n The swap is not necessarily thread-safe.\n ===============================================================================\n The documentation for this class was generated from the following files:\n * /build/reproducible-path/libpqxx-7.9.1/include/pqxx/_\br_\be_\bs_\bu_\bl_\bt_\b._\bh_\bx_\bx\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1row.html", "unified_diff": "@@ -126,121 +126,121 @@\n \"\"\n \n
[legend]
\n
\n \n \n- \n+ \n \n \n \n \n \n
void pqxx::result::swap void pqxx::result::swap (resultrhs)
\n
\n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n \n+using \n \n

\n Public Types

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

\n Public Member Functions

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

Column information

\n-class const_row_iterator
const_row_iterator
 
\n-class result
result
 
\n template<typename... T>
class pqxx::internal::result_iter
class pqxx::internal::result_iter
 
\n-class field
field
 
\n 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.
 
\n size_type m_end = 0
 End column in slice. This row only sees lower-numbered columns.
 
\n-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).
 
\n-oid column_type (size_type) const
column_type (size_type) const
 Return a column's type.
 
\n-oid column_type (zview col_name) const
column_type (zview col_name) const
 Return a column's type.
 
\n-oid column_table (size_type col_num) const
column_table (size_type col_num) const
 What table did this column come from?
 
\n-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?
 
\n-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?
 
\n-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.
 
\n-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
 
\n-PQXX_PURE bool empty () const noexcept
empty () const noexcept
 Is this a row without fields? Can only happen to a slice.
 
 row (result const &r, result_size_type index, size_type cols) noexcept
 row (result const &r, result_size_type index, size_type cols) noexcept
 
\n-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.
 
\n-template<typename Tuple >
void convert (Tuple &t) const
void convert (Tuple &t) const
 Convert entire row to tuple fields, without checking row size.
 
\n

Detailed Description

\n

Reference to one row in a result.

\n

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

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

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

\n

Constructor & Destructor Documentation

\n \n

◆ row()

\n \n
\n@@ -331,15 +332,15 @@\n \n \n \n \n \n
\n \n \n \n \n- \n+ \n \n \n \n \n \n \n \n@@ -409,21 +410,21 @@\n \n \n

◆ as_tuple()

\n \n
\n
\n
\n-template<typename TUPLE >
\n+template<typename TUPLE >
\n
pqxx::row::row (result const & result constr,
result_size_type index,
\n \n \n \n \n \n \n
\n \n \n- \n+ \n \n \n \n \n
TUPLE pqxx::row::as_tuple TUPLE pqxx::row::as_tuple () const
\n
\n@@ -497,15 +498,15 @@\n ) const
\n
\n

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

\n-
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.
\n+
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.
\n

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.

\n \n
\n \n \n

◆ table_column()

\n \n@@ -536,23 +537,23 @@\n \n \n

◆ to()

\n \n
\n
\n
\n-template<typename Tuple >
\n+template<typename Tuple >
\n \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -9,88 +9,88 @@\n [+]Inheritance diagram for pqxx::row:\n [Inheritance graph]\n [_\bl_\be_\bg_\be_\bn_\bd]\n [+]Collaboration diagram for pqxx::row:\n [Collaboration graph]\n [_\bl_\be_\bg_\be_\bn_\bd]\n P\bPu\bub\bbl\bli\bic\bc T\bTy\byp\bpe\bes\bs\n-using\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 s\bsi\biz\bze\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n+_\bu_\bs_\bi_\bn_\bg\u00a0 d\bdi\bif\bff\bfe\ber\bre\ben\bnc\bce\be_\b_t\bty\byp\bpe\be = _\br_\bo_\bw_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be\n \u00a0\n-using\u00a0 c\bco\bon\bns\bst\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 c\bco\bon\bns\bst\bt_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\bf_\bi_\be_\bl_\bd\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bef\bfe\ber\bre\ben\bnc\bce\be = _\bf_\bi_\be_\bl_\bd\n \u00a0\n-using\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 p\bpo\boi\bin\bnt\bte\ber\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 c\bco\bon\bns\bst\bt_\b_r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n-using\u00a0 r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+_\bu_\bs_\bi_\bn_\bg\u00a0 r\bre\bev\bve\ber\brs\bse\be_\b_i\bit\bte\ber\bra\bat\bto\bor\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n \u00a0\n P\bPu\bub\bbl\bli\bic\bc M\bMe\bem\bmb\bbe\ber\br F\bFu\bun\bnc\bct\bti\bio\bon\bns\bs\n- \u00a0 r\bro\bow\bw (_\br_\bo_\bw &&) noexcept=default\n+ \u00a0 r\bro\bow\bw (_\br_\bo_\bw &&) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- \u00a0 r\bro\bow\bw (_\br_\bo_\bw const &) noexcept=default\n+ \u00a0 r\bro\bow\bw (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw const &) noexcept=default\n+ _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n- _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw &&) noexcept=default\n+ _\br_\bo_\bw &\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b= (_\br_\bo_\bw &&) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt=_\bd_\be_\bf_\ba_\bu_\bl_\bt\n \u00a0\n Comparison\n- PQXX_PURE bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\br_\bo_\bw const &) const noexcept\n+ PQXX_PURE _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br=\b==\b= (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- bool\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\br_\bo_\bw const &rhs) const noexcept\n+ _\bb_\bo_\bo_\bl\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br!\b!=\b= (_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &_\br_\bh_\bs) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 b\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcb\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 e\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 e\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bce\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bce\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n Field access\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 f\bfr\bro\bon\bnt\bt () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 b\bba\bac\bck\bk () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\brb\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\brb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\brb\bbe\beg\bgi\bin\bn () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\brb\bbe\beg\bgi\bin\bn () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\bre\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 r\bre\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\bre\ben\bnd\bd () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\u00a0 c\bcr\bre\ben\bnd\bd () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br[\b[]\b] (size_type) const noexcept\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 o\bop\bpe\ber\bra\bat\bto\bor\br[\b[]\b] (size_type) _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b[_\b] (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b[_\b] (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 a\bat\bt (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be\u00a0 _\ba_\bt (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- constexpr size_type\u00a0 s\bsi\biz\bze\be () const noexcept\n+ _\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br size_type\u00a0 s\bsi\biz\bze\be () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n-constexpr result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () const noexcept\n+_\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br result::size_type\u00a0 r\bro\bow\bwn\bnu\bum\bmb\bbe\ber\br () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Row number, assuming this is a real row and not\n end()/rend().\n \u00a0\n *\b**\b**\b**\b**\b* C\bCo\bol\blu\bum\bmn\bn i\bin\bnf\bfo\bor\brm\bma\bat\bti\bio\bon\bn *\b**\b**\b**\b**\b*\n- class\u00a0 c\bco\bon\bns\bst\bt_\b_r\bro\bow\bw_\b_i\bit\bte\ber\bra\bat\bto\bor\br\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 c\bco\bon\bns\bst\bt_\b_r\bro\bow\bw_\b_i\bit\bte\ber\bra\bat\bto\bor\br\n \u00a0\n- class\u00a0 r\bre\bes\bsu\bul\blt\bt\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 r\bre\bes\bsu\bul\blt\bt\n \u00a0\n template\n- class\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\br\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 p\bpq\bqx\bxx\bx:\b::\b:i\bin\bnt\bte\ber\brn\bna\bal\bl:\b::\b:r\bre\bes\bsu\bul\blt\bt_\b_i\bit\bte\ber\br\n \u00a0\n- class\u00a0 f\bfi\bie\bel\bld\bd\n+ _\bc_\bl_\ba_\bs_\bs\u00a0 f\bfi\bie\bel\bld\bd\n \u00a0\n _\br_\be_\bs_\bu_\bl_\bt\u00a0 m\bm_\b_r\bre\bes\bsu\bul\blt\bt\n \u00a0 Result set of which this is one row.\n \u00a0\n result::size_type\u00a0 _\bm_\b__\bi_\bn_\bd_\be_\bx = 0\n \u00a0 Row number.\n \u00a0\n@@ -98,86 +98,89 @@\n \u00a0 First column in slice. This row ignores lower-\n numbered columns.\n \u00a0\n size_type\u00a0 m\bm_\b_e\ben\bnd\bd = 0\n \u00a0 End column in slice. This row only sees lower-\n numbered columns.\n \u00a0\n- size_type\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bnu\bum\bmb\bbe\ber\br (_\bz_\bv_\bi_\be_\bw col_name) const\n+ size_type\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_n\bnu\bum\bmb\bbe\ber\br (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Number of given column (throws exception if it\n doesn't exist).\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (size_type) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Return a column's type.\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bty\byp\bpe\be (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Return a column's type.\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (size_type col_num) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (size_type _\bc_\bo_\bl_\b__\bn_\bu_\bm) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What table did this column come from?\n \u00a0\n- _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\bz_\bv_\bi_\be_\bw col_name) const\n+ _\bo_\bi_\bd\u00a0 c\bco\bol\blu\bum\bmn\bn_\b_t\bta\bab\bbl\ble\be (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What table did this column come from?\n \u00a0\n- size_type\u00a0 _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn (size_type) const\n+ size_type\u00a0 _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn (size_type) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What column number in its table did this result\n column come from?\n \u00a0\n- size_type\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\bz_\bv_\bi_\be_\bw col_name) const\n+ size_type\u00a0 t\bta\bab\bbl\ble\be_\b_c\bco\bol\blu\bum\bmn\bn (_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) _\bc_\bo_\bn_\bs_\bt\n \u00a0 What column number in its table did this result\n column come from?\n \u00a0\n-constexpr result::size_type\u00a0 n\bnu\bum\bm () const noexcept\n+_\bc_\bo_\bn_\bs_\bt_\be_\bx_\bp_\br result::size_type\u00a0 n\bnu\bum\bm () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n-template\n- void\u00a0 _\bt_\bo (Tuple &t) const\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bu_\bp_\bl_\be >\n+ _\bv_\bo_\bi_\bd\u00a0 _\bt_\bo (_\bT_\bu_\bp_\bl_\be &_\bt) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Extract entire row's values into a tuple.\n \u00a0\n template\n- std::tuple< TYPE... >\u00a0 _\ba_\bs () const\n+ std::tuple< TYPE... >\u00a0 _\ba_\bs () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Extract entire row's values into a tuple.\n \u00a0\n- void\u00a0 s\bsw\bwa\bap\bp (_\br_\bo_\bw &) noexcept\n+ _\bv_\bo_\bi_\bd\u00a0 s\bsw\bwa\bap\bp (_\br_\bo_\bw &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- _\br_\bo_\bw\u00a0 _\bs_\bl_\bi_\bc_\be (size_type sbegin, size_type send) const\n+ _\br_\bo_\bw\u00a0 _\bs_\bl_\bi_\bc_\be (size_type _\bs_\bb_\be_\bg_\bi_\bn, size_type _\bs_\be_\bn_\bd) _\bc_\bo_\bn_\bs_\bt\n \u00a0\n- PQXX_PURE bool\u00a0 e\bem\bmp\bpt\bty\by () const noexcept\n+ PQXX_PURE _\bb_\bo_\bo_\bl\u00a0 e\bem\bmp\bpt\bty\by () _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0 Is this a row without fields? Can only happen to a\n slice.\n \u00a0\n- \u00a0 _\br_\bo_\bw (_\br_\be_\bs_\bu_\bl_\bt const &r, _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be index,\n- size_type cols) noexcept\n+ \u00a0 _\br_\bo_\bw (_\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &_\br, _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be index,\n+ size_type _\bc_\bo_\bl_\bs) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n \u00a0\n- void\u00a0 c\bch\bhe\bec\bck\bk_\b_s\bsi\biz\bze\be (size_type expected) const\n+ _\bv_\bo_\bi_\bd\u00a0 c\bch\bhe\bec\bck\bk_\b_s\bsi\biz\bze\be (size_type _\be_\bx_\bp_\be_\bc_\bt_\be_\bd) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Throw _\bu_\bs_\ba_\bg_\be_\b__\be_\br_\br_\bo_\br if row size is not expected.\n \u00a0\n-template\n- TUPLE\u00a0 _\ba_\bs_\b__\bt_\bu_\bp_\bl_\be () const\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bU_\bP_\bL_\bE >\n+ _\bT_\bU_\bP_\bL_\bE\u00a0 _\ba_\bs_\b__\bt_\bu_\bp_\bl_\be () _\bc_\bo_\bn_\bs_\bt\n \u00a0 Convert to a given tuple of values, don't check\n sizes.\n \u00a0\n-template\n- void\u00a0 c\bco\bon\bnv\bve\ber\brt\bt (Tuple &t) const\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bu_\bp_\bl_\be >\n+ _\bv_\bo_\bi_\bd\u00a0 c\bco\bon\bnv\bve\ber\brt\bt (_\bT_\bu_\bp_\bl_\be &_\bt) _\bc_\bo_\bn_\bs_\bt\n \u00a0 Convert entire row to tuple fields, without\n checking row size.\n \u00a0\n *\b**\b**\b**\b**\b* D\bDe\bet\bta\bai\bil\ble\bed\bd D\bDe\bes\bsc\bcr\bri\bip\bpt\bti\bio\bon\bn *\b**\b**\b**\b**\b*\n Reference to one row in a result.\n A row represents one row (also called a row) in a query result set. It also\n acts as a container mapping column numbers or names to field values (see\n below):\n-cout << _\br_\bo_\bw[\"date\"].c_str() << \": \" << _\br_\bo_\bw[\"name\"].c_str() << endl;\n+_\bc_\bo_\bu_\bt << _\br_\bo_\bw[\"date\"].c_str() << \": \" << _\br_\bo_\bw[\"name\"].c_str() << _\be_\bn_\bd_\bl;\n+_\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+Reverse iterator for a row. Use as row::const_reverse_iterator.\n+D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn row.hxx:406\n _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw\n Reference to one row in a result.\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn row.hxx:47\n The row itself acts like a (non-modifyable) container, complete with its own\n const_iterator and const_reverse_iterator.\n *\b**\b**\b**\b**\b* C\bCo\bon\bns\bst\btr\bru\buc\bct\bto\bor\br &\b& D\bDe\bes\bst\btr\bru\buc\bct\bto\bor\br D\bDo\boc\bcu\bum\bme\ben\bnt\bta\bat\bti\bio\bon\bn *\b**\b**\b**\b**\b*\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0r\bro\bow\bw(\b()\b) *\b**\b**\b**\b**\b*\n-pqxx::row::row ( _\br_\be_\bs_\bu_\bl_\bt const &\u00a0 r\br,\n+pqxx::row::row ( _\br_\be_\bs_\bu_\bl_\bt _\bc_\bo_\bn_\bs_\bt &\u00a0 r\br,\n _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be\u00a0 i\bin\bnd\bde\bex\bx, protectednoexcept\n size_type\u00a0 c\bco\bol\bls\bs\u00a0\n )\n Implementation of the _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt class and support classes.\n _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt represents the set of result rows from a database query.\n Copyright (c) 2000-2024, Jeroen T. Vermeulen.\n See COPYING for copyright license. If you did not receive a file called COPYING\n@@ -191,16 +194,16 @@\n Converts to the types of the tuple's respective fields.\n The types must have conversions from PostgreSQL's text format defined; see\n _\bS_\bu_\bp_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\ba_\bd_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bt_\by_\bp_\be_\bs.\n Exceptions\n _\bu_\bs_\ba_\bg_\be_\b__\be_\br_\br_\bo_\br If the number of columns in the row does not match the number\n of fields in t.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0a\bas\bs_\b_t\btu\bup\bpl\ble\be(\b()\b) *\b**\b**\b**\b**\b*\n-template\n-TUPLE pqxx::row::as_tuple ( ) const inlineprotected\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bU_\bP_\bL_\bE >\n+_\bT_\bU_\bP_\bL_\bE pqxx::row::as_tuple ( ) const inlineprotected\n Convert to a given tuple of values, don't check sizes.\n We need this for cases where we have a full tuple of field types, but not a\n parameter pack.\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0a\bat\bt(\b()\b) *\b**\b**\b**\b**\b*\n _\bp_\bq_\bx_\bx_\b:_\b:_\bf_\bi_\be_\bl_\bd pqxx::row::at ( _\bz_\bv_\bi_\be_\bw\u00a0 c\bco\bol\bl_\b_n\bna\bam\bme\be ) const\n Address field by name.\n Warning\n@@ -229,16 +232,16 @@\n from a column in a table. If the column is computed in any other way, a\n logic_error will be thrown.\n Parameters\n col_num a zero-based column number in this result set\n Returns\n a zero-based column number in originating table\n *\b**\b**\b**\b**\b* _\b?\b\u25c6_\b?\b\u00a0t\bto\bo(\b()\b) *\b**\b**\b**\b**\b*\n-template\n-void pqxx::row::to ( Tuple &\u00a0 t\bt ) const inline\n+template<_\bt_\by_\bp_\be_\bn_\ba_\bm_\be _\bT_\bu_\bp_\bl_\be >\n+_\bv_\bo_\bi_\bd pqxx::row::to ( _\bT_\bu_\bp_\bl_\be &\u00a0 t\bt ) const inline\n Extract entire row's values into a tuple.\n Converts to the types of the tuple's respective fields.\n The types in the tuple must have conversions from PostgreSQL's text format\n defined; see _\bS_\bu_\bp_\bp_\bo_\br_\bt_\bi_\bn_\bg_\b _\ba_\bd_\bd_\bi_\bt_\bi_\bo_\bn_\ba_\bl_\b _\bd_\ba_\bt_\ba_\b _\bt_\by_\bp_\be_\bs.\n Exceptions\n _\bu_\bs_\ba_\bg_\be_\b__\be_\br_\br_\bo_\br If the number of columns in the row does not match the number\n of fields in t.\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__from.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__from.html", "unified_diff": "@@ -209,15 +209,15 @@\n \n \n \n \n
\n \n \n- \n+ \n \n- \n+ \n \n \n \n
void pqxx::row::to void pqxx::row::to (Tuple & Tuplet) const
\n
\n 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.
 
\n

Detailed Description

\n

Stream data from the database.

\n-
Deprecated:
Use transaction_base::stream.
\n+
Deprecated:
Use transaction_base::stream.
\n

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.

\n

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.

\n

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.

\n

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

\n

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

\n
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.
\n

Constructor & Destructor Documentation

\n@@ -250,15 +250,15 @@\n
)
\n
\n \n

Execute query, and stream over the results.

\n-
Deprecated:
Use factory function query instead.
\n+
Deprecated:
Use factory function query instead.
\n \n
\n
\n \n

◆ stream_from() [2/7]

\n \n
\n@@ -287,15 +287,15 @@\n
)
\n
\n \n

Stream all rows in table, all columns.

\n-
Deprecated:
Use factories table or raw_table instead.
\n+
Deprecated:
Use factories table or raw_table instead.
\n \n
\n
\n \n

◆ stream_from() [3/7]

\n \n
\n@@ -346,15 +346,15 @@\n
\n inline
\n
\n \n

Stream given columns from all rows in table.

\n-
Deprecated:
Use factories table or raw_table instead.
\n+
Deprecated:
Use factories table or raw_table instead.
\n \n
\n
\n \n

◆ stream_from() [4/7]

\n \n
\n@@ -399,15 +399,15 @@\n \n inline \n \n \n
\n \n

Stream given columns from all rows in table.

\n-
Deprecated:
Use factory function query instead.
\n+
Deprecated:
Use factory function query instead.
\n \n
\n
\n \n

◆ stream_from() [5/7]

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

◆ stream_from() [6/7]

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

◆ stream_from() [7/7]

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

Member Function Documentation

\n \n

◆ complete()

\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__to.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/classpqxx_1_1stream__to.html", "unified_diff": "@@ -222,15 +222,15 @@\n \n inline \n \n \n
\n \n

Create a stream, without specifying columns.

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

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

\n

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.

\n \n
\n
\n \n

◆ stream_to() [2/3]

\n@@ -271,15 +271,15 @@\n \n inline \n \n \n
\n \n

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

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

◆ stream_to() [3/3]

\n \n
\n@@ -324,15 +324,15 @@\n \n inline \n \n \n
\n \n

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

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

Member Function Documentation

\n \n

◆ complete()

\n \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/datatypes.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/datatypes.html", "unified_diff": "@@ -93,52 +93,52 @@\n
Supporting additional data types
\n \n
\n

Communication with the database mostly happens in a text format. When you include an integer value in a query, either you use to_string to convert it to that text format, or under the bonnet, libpqxx does it for you. When you get a query result field \"as a float,\" libpqxx converts from the text format to a floating-point type. These conversions are everywhere in libpqxx.

\n

The conversion system supports many built-in types, but it is also extensible. You can \"teach\" libpqxx (in the scope of your own application) to convert additional types of values to and from PostgreSQL's string format.

\n

This is massively useful, but it's not for the faint of heart. You'll need to specialise some templates. And, the API for doing this can change with any major libpqxx release.

\n

If that happens, your code may fail to compile with the newer libpqxx version, and you'll have to go through the NEWS file to find the API changes. Usually it'll be a small change, like an additional function you need to implement, or a constant you need to define.

\n-

\n+

\n Converting types

\n

In your application, a conversion is driven entirely by a C++ type you specify. The value's SQL type on the database side has nothing to do with it. Nor is there anything in the string that would identify its type. Your code says \"convert to this type\" and libpqxx does it.

\n

So, if you've SELECTed a 64-bit integer from the database, and you try to convert it to a C++ short, one of two things will happen: either the number is small enough to fit in your short and it just works, or else it throws a conversion exception. Similarly, if you try to read a 32-bit SQL int as a C++ 32-bit unsigned int, that'll work fine, unless the value happens to be negative. In such cases the conversion will throw a conversion_error.

\n

Or, your database table might have a text column, but a given field may contain a string that looks just like a number. You can convert that value to an integer type just fine. Or to a floating-point type. All that matters to the conversion is the actual value, and the type your code specifies.

\n

In some cases the templates for these conversions can tell the type from the arguments you pass them:

\n
auto x = to_string(99);
\n

In other cases you may need to instantiate template explicitly:

\n
auto y = from_string<int>("99");
\n-

\n+

\n Supporting a new type

\n

Let's say you have some other SQL type which you want to be able to store in, or retrieve from, the database. What would it take to support that?

\n

Sometimes you do not need complete support. You might need a conversion to a string but not from a string, for example. You write out the conversion at compile time, so don't be too afraid to be incomplete. If you leave out one of these steps, it's not going to crash at run time or mess up your data. The worst that can happen is that your code won't build.

\n

So what do you need for a complete conversion?

\n

First off, of course, you need a C++ type. It may be your own, but it doesn't have to be. It could be a type from a third-party library, or even one from the standard library that libpqxx does not yet support.

\n

First thing to do is specialise the pqxx::type_name variable to give the type a human-readable name. That allows libpqxx error messages and such to talk about the type. If you don't define a name, libpqxx will try to figure one out with some help from the compiler, but it may not always be easy to read.

\n

Then, does your type have a built-in null value? For example, a char * can be null on the C++ side. Or some types are always null, such as nullptr. You specialise the pqxx::nullness template to specify the details.

\n

Finally, you specialise the pqxx::string_traits template. This is where you define the actual conversions.

\n

Let's go through these steps one by one.

\n-

\n+

\n Your type

\n

You'll need a type for which the conversions are not yet defined, because the C++ type is what determines the right conversion. One type, one set of conversions.

\n

The type doesn't have to be one that you create. The conversion logic was designed such that you can build it around any type. So you can just as easily build a conversion for a type that's defined somewhere else. There's no need to include any special methods or other members inside the type itself. That's also why libpqxx can convert built-in types like int.

\n

By the way, if the type is an enum, you don't need to do any of this. Just invoke the preprocessor macro PQXX_DECLARE_ENUM_CONVERSION, from the global namespace near the top of your translation unit, and pass the type as an argument.

\n

The library also provides specialisations for std::optional<T>, std::shared_ptr<T>, and std::unique_ptr<T>. If you have conversions for T, you'll also automatically have conversions for those.

\n-

\n+

\n Specialise <tt>type_name</tt>

\n

When errors happen during conversion, libpqxx will compose error messages for the user. Sometimes these will include the name of the type that's being converted.

\n

To tell libpqxx the name of each type, there's a template variable called pqxx::type_name. For any given type T, it should have a specialisation that provides that T's human-readable name:

\n
// T is your type.
\n
namespace pqxx
\n
{
\n
template<> std::string const type_name<T>{"My T type's name"};
\n
}
\n
The home of all libpqxx classes, functions, templates, etc.
Definition array.cxx:27
\n

(Yes, this means that you need to define something inside the pqxx namespace. Future versions of libpqxx may move this into a separate namespace.)

\n

Define this early on in your translation unit, before any code that might cause libpqxx to need the name. That way, the libpqxx code which needs to know the type's name can see your definition.

\n-

\n+

\n Specialise <tt>nullness</tt>

\n

A struct template pqxx::nullness defines whether your type has a natural \"null value\" built in. If so, it also provides member functions for producing and recognising null values.

\n

The simplest scenario is also the most common: most types don't have a null value built in. There is no \"null `int`\" in C++. In that kind of case, just derive your nullness traits from pqxx::no_null as a shorthand:

\n
// T is your type.
\n
namespace pqxx
\n
{
\n
template<> struct nullness<T> : pqxx::no_null<T> {};
\n@@ -172,15 +172,15 @@\n
}
\n
static bool is_null(TYPE const &value)
Is value a null?
\n
static TYPE null()
Return a null value.
\n
static bool has_null
Does this type have a null value?
Definition strconv.hxx:93
\n
static bool always_null
Is this type always null?
Definition strconv.hxx:96
\n

You may be wondering why there's a function to produce a null value, but also a function to check whether a value is null. Why not just compare the value to the result of null()? Because two null values may not be equal (like in SQL, where NULL <> NULL). Or T may have multiple different null values. Or T may override the comparison operator to behave in some unusual way.

\n

As a third case, your type may be one that always represents a null value. This is the case for std::nullptr_t and std::nullopt_t. In that case, you set nullness<TYPE>::always_null to true (as well as has_null of course), and you won't need to define any actual conversions.

\n-

\n+

\n Specialise <tt>string_traits</tt>

\n

This part is the most work. You can skip it for types that are always null, but those will be rare.

\n

The APIs for doing this are designed so that you don't need to allocate memory on the free store, also known as \"the heap\": new/delete. Memory allocation can be hidden inside std::string, std::vector, etc. The conversion API allows you to use std::string for convenience, or memory buffers for speed.

\n

Start by specialising the pqxx::string_traits template. You don't absolutely have to implement all parts of this API. Generally, if it compilers, you're OK for the time being. Just bear in mind that future libpqxx versions may change the API \u2014 or how it uses the API internally.

\n
namespace pqxx
\n
{
\n
// T is your type.
\n@@ -211,22 +211,22 @@\n
static TYPE from_string(std::string_view text)
Parse a string representation of a TYPE value.
\n
static std::size_t size_buffer(TYPE const &value) noexcept
Estimate how much buffer space is needed to represent value.
\n
static zview to_buf(char *begin, char *end, TYPE const &value)
Return a string_view representing value, plus terminating zero.
\n
static constexpr bool converts_to_string
Is conversion from TYPE to strings supported?
Definition strconv.hxx:158
\n
static char * into_buf(char *begin, char *end, TYPE const &value)
Write value's string representation into buffer at begin.
\n
static constexpr bool converts_from_string
Is conversion from string_view to TYPE supported?
Definition strconv.hxx:164
\n

You'll also need to write those member functions, or as many of them as needed to get your code to build.

\n-

\n+

\n <tt>from_string</tt>

\n

We start off simple: from_string parses a string as a value of T, and returns that value.

\n

The string may or may not be zero-terminated; it's just the string_view from beginning to end (with end being exclusive). In your tests, be sure to cover cases where the string does not end in a zero byte!

\n

It's perfectly possible that the string doesn't actually represent a T value. Mistakes happen. There can be corner cases. When you run into this, throw a pqxx::conversion_error.

\n

(Of course it's also possible that you run into some other error, so it's fine to throw different exceptions as well. But when it's definitely \"this is not\n the right format for a `T`,\" throw conversion_error.)

\n-

\n+

\n <tt>to_buf</tt>

\n

In this function, you convert a value of T into a string that the postgres server will understand.

\n

The caller will provide you with a buffer where you can write the string, if you need it: from begin to end exclusive. It's a half-open interval, so don't access *end.

\n

If the buffer is insufficient for you to do the conversion, throw a pqxx::conversion_overrun. It doesn't have to be exact: you can be a little pessimistic and demand a bit more space than you need. Just be sure to throw the exception if there's any risk of overrunning the buffer.

\n

You don't have to use the buffer for this function though. For example, pqxx::string_traits<bool>::to_buf returns a compile-time constant string and completely ignores the buffer.

\n

Even if you do use the buffer, your string does not have to start at the beginning of the buffer. For example, the integer conversions may work from right to left, if that's easier: they can start by writing the least significant digit to the end of the buffer, divide the remainder by 10, and repeat for the next digit.

\n

Return a pqxx::zview. This is basically a std::string_view, but with one difference: when you create a zview you guarantee that there is a valid zero byte right after the string_view. The zero byte does not count as part of its size, but it has to be there.

\n@@ -234,36 +234,36 @@\n
void invariant(zview z)
\n
{
\n
assert(z[std::size(z)] == 0);
\n
}
\n

The trailing zero should not go inside the zview, but if you convert into the buffer, do make sure you that trailing stays inside the buffer, i.e. before the end. (If there's no room for that zero inside the buffer, throw pqxx::conversion_error).

\n

Beware of locales when converting. If you use standard library features like sprintf, they may obey whatever locale is currently set on the system where the code runs. That means that a simple integer like 1000000 may come out as \"1000000\" on your system, but as \"1,000,000\" on mine, or as \"1.000.000\" for somebody else, and on an Indian system it may be \"1,00,000\". Don't let that happen, or it will confuse things. Use only non-locale-sensitive library functions. Values coming from or going to the database should be in fixed, non-localised formats.

\n

If your conversions need to deal with fields in types that libpqxx already supports, you can use the conversion functions for those: pqxx::from_string, pqxx::to_string, pqxx::to_buf. They in turn will call the string_traits specialisations for those types. Or, you can call their string_traits directly.

\n-

\n+

\n <tt>into_buf</tt>

\n

This is a stricter version of to_buf. All the same requirements apply, but in addition you must write your string into the given buffer, starting exactly at begin.

\n

That's why this function returns just a simple pointer: the address right behind the trailing zero. If the caller wants to use the string, they can find it at begin. If they want to write another value into the rest of the buffer, they can continue writing at the location you returned.

\n-

\n+

\n <tt>size_buffer</tt>

\n

Here you estimate how much buffer space you need for converting a T to a string. Be precise if you can, but pessimistic if you must. It's usually better to waste a few bytes of space than to spend a lot of time computing the exact buffer space you need. And failing the conversion because you under-budgeted the buffer is worst of all.

\n

Include the trailing zero in the buffer size. If your to_buf takes more space than just what's needed to store the result, include that too.

\n

Make size_buffer a constexpr function if you can. It can allow the caller to allocate the buffer on the stack, with a size known at compile time.

\n-

\n+

\n Optional: Specialise <tt>is_unquoted_safe</tt>

\n

When converting arrays or composite values to strings, libpqxx may need to quote values and escape any special characters. This takes time.

\n

Some types though, such as integral or floating-point types, can never have any special characters such as quotes, commas, or backslashes in their string representations. In such cases, there's no need to quote or escape such values in SQL arrays or composite types.

\n

If your type is like that, you can tell libpqxx about this by defining:

\n
namespace pqxx
\n
{
\n
// T is your type.
\n
template<> inline constexpr bool is_unquoted_safe<T>{true};
\n
}
\n

The code that converts this type of field to strings in an array or a composite type can then use a simpler, more efficient variant of the code. It's always safe to leave this out; it's just an optimisation for when you're completely sure that it's safe.

\n

Do not do this if a string representation of your type may contain a comma; semicolon; parenthesis; brace; quote; backslash; newline; or any other character that might need escaping.

\n-

\n+

\n Optional: Specialise <tt>param_format</tt>

\n

This one you don't generally need to worry about. Read on if you're writing a type which represents raw binary data, or if you're writing a template where some specialisations may contain raw binary data.

\n

When you call parameterised statements, or prepared statements with parameters, libpqxx needs to pass your parameters on to libpq, the underlying C-level PostgreSQL client library.

\n

There are two formats for doing that: text and binary. In the first, we represent all values as strings in the PostgreSQL text format, and the server then converts them into its own internal binary representation. That's what those string conversions above are all about, and it's what we do for almost all types of parameters.

\n

But we do it differently when the parameter is a contiguous series of raw bytes and the corresponding SQL type is BYTEA. There is a text format for those, but we bypass it for efficiency. The server can use the binary data in the exact same form, without any conversion or extra processing. The binary data is also twice as compact during transport.

\n

(People sometimes ask why we can't just treat all types as binary. However the general case isn't so clear-cut. The binary formats are not documented, there are no guarantees that they will be platform-independent or that they will remain stable across postgres releases, and there's no really solid way to detect when we might get the format wrong. On top of all that, the conversions aren't necessarily as straightforward and efficient as they sound. So, for the general case, libpqxx sticks with the text formats. Raw binary data alone stands out as a clear win.)

\n

Long story short, the machinery for passing parameters needs to know: is this parameter a binary string, or not? In the normal case it can assume \"no,\" and that's what it does. The text format is always a safe choice; we just try to use the binary format where it's faster.

\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/deprecated.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/deprecated.html", "unified_diff": "@@ -93,81 +93,81 @@\n
Deprecated List
\n
\n
\n
\n
Class pqxx::basic_fieldstream< CHAR, TRAITS >
\n
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>().
\n
Class pqxx::basic_ilostream< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::basic_lostream< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::basic_olostream< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::binarystring
\n
Use bytes and bytes_view for binary data. In C++20 or better, any contiguous_range of std::byte will do.
\n
Member pqxx::blob::read (std::vector< std::byte, ALLOC > &buf)
\n
As libpqxx moves to C++20 as its baseline language version, this will take and return std::span<std::byte>.
\n
Member pqxx::connection::set_variable (std::string_view var, std::string_view value) &
\n-
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n+
To set a session variable, use set_session_var. To set a transaction-local variable, execute an SQL SET command.
\n
Member pqxx::connection_base
\n-
Old base class for connection. They are now the same class.
\n-
Member pqxx::encrypt_password (zview user, zview password)
\n-
Use connection::encrypt_password instead.
\n+
Old base class for connection. They are now the same class.
\n
Member pqxx::encrypt_password (char const user[], char const password[])
\n-
Use connection::encrypt_password instead.
\n+
Use connection::encrypt_password instead.
\n+
Member pqxx::encrypt_password (zview user, zview password)
\n+
Use connection::encrypt_password instead.
\n
Member pqxx::fieldstream
\n
Read a field using field::as<...>() or field::c_str().
\n
Member pqxx::from_query
\n-
Use transaction_base::stream instead of stream_from.
\n+
Use transaction_base::stream instead of stream_from.
\n
Struct pqxx::from_query_t
\n-
Use stream_from::query() instead.
\n+
Use stream_from::query() instead.
\n
Member pqxx::from_table
\n-
Use transaction_base::stream instead of stream_from.
\n+
Use transaction_base::stream instead of stream_from.
\n
Struct pqxx::from_table_t
\n-
Use stream_from::table() instead.
\n+
Use stream_from::table() instead.
\n
Class pqxx::internal::dynamic_params< IT, ACCESSOR >
\n
Use params instead.
\n
Class pqxx::largeobject
\n-
Use the blob class instead.
\n+
Use the blob class instead.
\n
Class pqxx::largeobject_streambuf< CHAR, TRAITS >
\n-
Access large objects directly using the blob class.
\n+
Access large objects directly using the blob class.
\n
Class pqxx::largeobjectaccess
\n-
Use the blob class instead.
\n+
Use the blob class instead.
\n
Member pqxx::operator<< (std::basic_ostream< CHAR > &s, field const &value)
\n
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.
\n
Member pqxx::params::append (binarystring const &value) &
\n-
Append binarystring parameter.
\n+
Append binarystring parameter.
\n
Namespace pqxx::prepare
\n-
The new params class replaces all of this.
\n+
The new params class replaces all of this.
\n
Member pqxx::row::slice (size_type sbegin, size_type send) const
\n-
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.
\n+
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.
\n
Class pqxx::stream_from
\n-
Use transaction_base::stream.
\n-
Member pqxx::stream_from::stream_from (transaction_base &, from_query_t, std::string_view query)
\n-
Use factory function query instead.
\n-
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table)
\n-
Use factories table or raw_table instead.
\n+
Use transaction_base::stream.
\n
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table, Iter columns_begin, Iter columns_end)
\n-
Use factories table or raw_table instead.
\n-
Member pqxx::stream_from::stream_from (transaction_base &tx, from_table_t, std::string_view table, Columns const &columns)
\n-
Use factory function query instead.
\n-
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table)
\n-
Use factories table or raw_table instead.
\n-
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table, Columns const &columns)
\n-
Use factories table or raw_table instead.
\n+
Use factories table or raw_table instead.
\n
Member pqxx::stream_from::stream_from (transaction_base &, std::string_view table, Iter columns_begin, Iter columns_end)
\n-
Use factories table or raw_table instead.
\n-
Member pqxx::stream_to::stream_to (transaction_base &tx, std::string_view table_name)
\n-
Use table or raw_table as a factory.
\n-
Member pqxx::stream_to::stream_to (transaction_base &, std::string_view table_name, Columns const &columns)
\n-
Use table or raw_table as a factory.
\n+
Use factories table or raw_table instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table, Columns const &columns)
\n+
Use factories table or raw_table instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &tx, std::string_view table)
\n+
Use factories table or raw_table instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &tx, from_table_t, std::string_view table, Columns const &columns)
\n+
Use factory function query instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &, from_table_t, std::string_view table)
\n+
Use factories table or raw_table instead.
\n+
Member pqxx::stream_from::stream_from (transaction_base &, from_query_t, std::string_view query)
\n+
Use factory function query instead.
\n
Member pqxx::stream_to::stream_to (transaction_base &, std::string_view table_name, Iter columns_begin, Iter columns_end)
\n+
Use table or raw_table as a factory.
\n+
Member pqxx::stream_to::stream_to (transaction_base &, std::string_view table_name, Columns const &columns)
\n
Use table or raw_table as a factory.
\n+
Member pqxx::stream_to::stream_to (transaction_base &tx, std::string_view table_name)
\n+
Use table or raw_table as a factory.
\n
Member pqxx::strip_t
\n-
In C++20 we'll replace this with std::remove_cvref.
\n+
In C++20 we'll replace this with std::remove_cvref.
\n
Member pqxx::transaction_base::set_variable (std::string_view var, std::string_view value)
\n
To set a transaction-local variable, execute an SQL SET command. To set a session variable, use the connection's set_session_var function.
\n
\n
\n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -22,18 +22,18 @@\n take and return std::span.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b:_\b:_\bs_\be_\bt_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be (std::string_view var, std::string_view\n value) &\n To set a session variable, use _\bs_\be_\bt_\b__\bs_\be_\bs_\bs_\bi_\bo_\bn_\b__\bv_\ba_\br. To set a transaction-\n local variable, execute an SQL SET command.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be\n Old base class for connection. They are now the same class.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\be_\bn_\bc_\br_\by_\bp_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd (zview user, zview password)\n- Use _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b:_\b:_\be_\bn_\bc_\br_\by_\bp_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd instead.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\be_\bn_\bc_\br_\by_\bp_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd (char const user[], char const password[])\n Use _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b:_\b:_\be_\bn_\bc_\br_\by_\bp_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd instead.\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\be_\bn_\bc_\br_\by_\bp_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd (zview user, zview password)\n+ Use _\bc_\bo_\bn_\bn_\be_\bc_\bt_\bi_\bo_\bn_\b:_\b:_\be_\bn_\bc_\br_\by_\bp_\bt_\b__\bp_\ba_\bs_\bs_\bw_\bo_\br_\bd instead.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bf_\bi_\be_\bl_\bd_\bs_\bt_\br_\be_\ba_\bm\n Read a field using _\bf_\bi_\be_\bl_\bd_\b:_\b:_\ba_\bs<...>() or _\bf_\bi_\be_\bl_\bd_\b:_\b:_\bc_\b__\bs_\bt_\br_\b(_\b).\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bf_\br_\bo_\bm_\b__\bq_\bu_\be_\br_\by\n Use _\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm instead of _\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm.\n Struct _\bp_\bq_\bx_\bx_\b:_\b:_\bf_\br_\bo_\bm_\b__\bq_\bu_\be_\br_\by_\b__\bt\n Use _\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bq_\bu_\be_\br_\by_\b(_\b) instead.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bf_\br_\bo_\bm_\b__\bt_\ba_\bb_\bl_\be\n@@ -59,43 +59,43 @@\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw_\b:_\b:_\bs_\bl_\bi_\bc_\be (size_type sbegin, size_type send) const\n I haven't heard of anyone caring about row slicing at all in at least the\n last 15 years. Yet it adds complexity, so unless anyone files a bug\n explaining why they really need this feature, I'm going to remove it.\n Even if they do, the feature may need an update.\n Class _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm\n Use _\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, _\bf_\br_\bo_\bm_\b__\bq_\bu_\be_\br_\by_\b__\bt,\n- std::string_view query)\n- Use factory function _\bq_\bu_\be_\br_\by instead.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, _\bf_\br_\bo_\bm_\b__\bt_\ba_\bb_\bl_\be_\b__\bt,\n- std::string_view table)\n- Use factories _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be instead.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, _\bf_\br_\bo_\bm_\b__\bt_\ba_\bb_\bl_\be_\b__\bt,\n std::string_view table, Iter columns_begin, Iter columns_end)\n Use factories _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be instead.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &tx, _\bf_\br_\bo_\bm_\b__\bt_\ba_\bb_\bl_\be_\b__\bt,\n- std::string_view table, Columns const &columns)\n- Use factory function _\bq_\bu_\be_\br_\by instead.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &tx, std::string_view\n- table)\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, std::string_view\n+ table, Iter columns_begin, Iter columns_end)\n Use factories _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be instead.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &tx, std::string_view\n table, Columns const &columns)\n Use factories _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be instead.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, std::string_view\n- table, Iter columns_begin, Iter columns_end)\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &tx, std::string_view\n+ table)\n Use factories _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be instead.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &tx, std::string_view\n- table_name)\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &tx, _\bf_\br_\bo_\bm_\b__\bt_\ba_\bb_\bl_\be_\b__\bt,\n+ std::string_view table, Columns const &columns)\n+ Use factory function _\bq_\bu_\be_\br_\by instead.\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, _\bf_\br_\bo_\bm_\b__\bt_\ba_\bb_\bl_\be_\b__\bt,\n+ std::string_view table)\n+ Use factories _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be instead.\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bf_\br_\bo_\bm (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, _\bf_\br_\bo_\bm_\b__\bq_\bu_\be_\br_\by_\b__\bt,\n+ std::string_view query)\n+ Use factory function _\bq_\bu_\be_\br_\by instead.\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, std::string_view\n+ table_name, Iter columns_begin, Iter columns_end)\n Use _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be as a factory.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, std::string_view\n table_name, Columns const &columns)\n Use _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be as a factory.\n- Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &, std::string_view\n- table_name, Iter columns_begin, Iter columns_end)\n+ Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo_\b:_\b:_\bs_\bt_\br_\be_\ba_\bm_\b__\bt_\bo (_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be &tx, std::string_view\n+ table_name)\n Use _\bt_\ba_\bb_\bl_\be or _\br_\ba_\bw_\b__\bt_\ba_\bb_\bl_\be as a factory.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bs_\bt_\br_\bi_\bp_\b__\bt\n In C++20 we'll replace this with std::remove_cvref.\n Member _\bp_\bq_\bx_\bx_\b:_\b:_\bt_\br_\ba_\bn_\bs_\ba_\bc_\bt_\bi_\bo_\bn_\b__\bb_\ba_\bs_\be_\b:_\b:_\bs_\be_\bt_\b__\bv_\ba_\br_\bi_\ba_\bb_\bl_\be (std::string_view var, std::\n string_view value)\n To set a transaction-local variable, execute an SQL SET command. To set a\n session variable, use the connection's set_session_var function.\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/escaping.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/escaping.html", "unified_diff": "@@ -95,30 +95,30 @@\n
\n

Writing queries as strings is easy. But sometimes you need a variable in there: ‘\"SELECT id FROM user WHERE name = &rsquo;\" + name + \"'\"`.

\n

This is dangerous. See the bug? If name can contain quotes, you may have an SQL injection vulnerability there, where users can enter nasty stuff like \"`.'; DROP TABLE user`\". Or if you're lucky, it's just a nasty bug that you discover when name happens to be \"d'Arcy\". Or... Well, I was born in a place called _'s-Gravenhage..._

\n

There are two ways of dealing with this. One is statement parameters: some SQL execution functions in libpqxx let you write placeholders for such values in your SQL, like $1, $2, etc. When you then pass your variables as the parameter values, they get substituted into the query, but in a safe form.

\n

The other is to escape the values yourself, before inserting them into your SQL. This isn't as safe as using parameters, since you need to be really conscientious about it. Use parameters if you can... and libpqxx will do the escaping for you.

\n

In escaping, quotes and other problematic characters are marked as \"this is\n just a character inside the string, not the end of the string.\" There are several functions in libpqxx to do this for you.

\n-

\n+

\n SQL injection

\n

To understand what SQL injection vulnerabilities are and why they should be prevented, imagine you use the following SQL statement somewhere in your program:

\n
tx.exec(
\n
"SELECT number, amount "
\n
"FROM account "
\n
"WHERE allowed_to_see('" + userid + "','" + password + "')");
\n

This shows a logged-in user important information on all accounts he is authorized to view. The userid and password strings are variables entered by the user himself.

\n

Now, if the user is actually an attacker who knows (or can guess) the general shape of this SQL statement, imagine getting following password:

\n
x') OR ('x' = 'x
\n

Does that make sense to you? Probably not. But if this is inserted into the SQL string by the C++ code above, the query becomes:

\n
SELECT number, amount
\n
FROM account
\n
WHERE allowed_to_see('user','x') OR ('x' = 'x')
\n

Is this what you wanted to happen? Probably not! The neat allowed_to_see() clause is completely circumvented by the \"`OR ('x' = 'x')`\" clause, which is always true. Therefore, the attacker will get to see all accounts in the database!

\n-

\n+

\n Using the esc functions

\n

Here's how you can fix the problem in the example above:

\n
tx.exec(
\n
"SELECT number, amount "
\n
"FROM account "
\n
"WHERE allowed_to_see('" + tx.esc(userid) + "', "
\n
"'" + tx.esc(password) + "')");
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx.html", "unified_diff": "@@ -916,15 +916,15 @@\n \n \n \n \n
struct pqxx::from_query_t
\n
\n

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

\n-
Deprecated:
Use stream_from::query() instead.
\n+
Deprecated:
Use stream_from::query() instead.
\n
\n
\n
\n \n

◆ pqxx::from_table_t

\n \n
\n@@ -932,15 +932,15 @@\n \n \n \n \n
struct pqxx::from_table_t
\n
\n

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

\n-
Deprecated:
Use stream_from::table() instead.
\n+
Deprecated:
Use stream_from::table() instead.
\n
\n
\n
\n \n

◆ pqxx::stream_query

\n \n
\n@@ -1002,15 +1002,15 @@\n
\n \n \n \n \n
using pqxx::connection_base = typedef connection
\n
\n-
Deprecated:
Old base class for connection. They are now the same class.
\n+
Deprecated:
Old base class for connection. They are now the same class.
\n \n
\n
\n \n

◆ fieldstream

\n \n
\n@@ -1036,15 +1036,15 @@\n \n using pqxx::strip_t = typedef std::remove_cv_t<std::remove_reference_t<TYPE> >\n \n \n
\n \n

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

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

◆ table_path

\n \n
\n@@ -1415,15 +1415,15 @@\n )\n \n \n \n
\n \n

Encrypt a password.

\n-
Deprecated:
Use connection::encrypt_password instead.
\n+
Deprecated:
Use connection::encrypt_password instead.
\n \n
\n \n \n

◆ encrypt_password() [2/2]

\n \n
\n@@ -1454,15 +1454,15 @@\n \n inline \n \n \n
\n \n

Encrypt password.

\n-
Deprecated:
Use connection::encrypt_password instead.
\n+
Deprecated:
Use connection::encrypt_password instead.
\n \n
\n \n \n

◆ from_string()

\n \n
\n@@ -1914,15 +1914,15 @@\n \n constexpr \n \n \n
\n \n

Pass this to a stream_from constructor to stream query results.

\n-
Deprecated:
Use transaction_base::stream instead of stream_from.
\n+
Deprecated:
Use transaction_base::stream instead of stream_from.
\n \n
\n \n \n

◆ from_table

\n \n
\n@@ -1939,15 +1939,15 @@\n \n constexpr \n \n \n
\n \n

Pass this to a stream_from constructor to stream table contents.

\n-
Deprecated:
Use transaction_base::stream instead of stream_from.
\n+
Deprecated:
Use transaction_base::stream instead of stream_from.
\n \n
\n \n \n

◆ has_generic_bytes_char_traits

\n \n
\n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx_1_1prepare.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/namespacepqxx_1_1prepare.html", "unified_diff": "@@ -90,15 +90,15 @@\n
\n \n
\n
pqxx::prepare Namespace Reference
\n
\n
\n

Detailed Description

\n-
Deprecated:
The new params class replaces all of this.
\n+
Deprecated:
The new params class replaces all of this.
\n
\n
\n \n
\n
    \n
  • pqxx
  • prepare
  • \n
  • Generated by \"doxygen\"/ 1.9.8
  • \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreedata.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreedata.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -21,59 +21,59 @@\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n \n @licend The above is the entire license notice for the JavaScript code in this file\n */\n var NAVTREE = [\n [\"libpqxx\", \"index.html\", [\n [\"Accessing results and result rows\", \"accessing-results.html\", [\n- [\"Querying rows of data\", \"accessing-results.html#autotoc_md1\", null],\n- [\"Streaming rows\", \"accessing-results.html#autotoc_md2\", null],\n- [\"Results with metadata\", \"accessing-results.html#autotoc_md3\", null]\n+ [\"Querying rows of data\", \"accessing-results.html#autotoc_md0\", null],\n+ [\"Streaming rows\", \"accessing-results.html#autotoc_md1\", null],\n+ [\"Results with metadata\", \"accessing-results.html#autotoc_md2\", null]\n ]],\n [\"Binary data\", \"binary.html\", [\n- [\"Caveats\", \"binary.html#autotoc_md0\", null]\n+ [\"Caveats\", \"binary.html#autotoc_md3\", null]\n ]],\n [\"Supporting additional data types\", \"datatypes.html\", [\n- [\"Converting types\", \"datatypes.html#autotoc_md17\", null],\n- [\"Supporting a new type\", \"datatypes.html#autotoc_md18\", null],\n- [\"Your type\", \"datatypes.html#autotoc_md19\", null],\n- [\"Specialise type_name\", \"datatypes.html#autotoc_md20\", null],\n- [\"Specialise nullness\", \"datatypes.html#autotoc_md21\", null],\n- [\"Specialise string_traits\", \"datatypes.html#autotoc_md22\", [\n- [\"from_string\", \"datatypes.html#autotoc_md23\", null],\n- [\"to_buf\", \"datatypes.html#autotoc_md24\", null],\n- [\"into_buf\", \"datatypes.html#autotoc_md25\", null],\n- [\"size_buffer\", \"datatypes.html#autotoc_md26\", null]\n+ [\"Converting types\", \"datatypes.html#autotoc_md4\", null],\n+ [\"Supporting a new type\", \"datatypes.html#autotoc_md5\", null],\n+ [\"Your type\", \"datatypes.html#autotoc_md6\", null],\n+ [\"Specialise type_name\", \"datatypes.html#autotoc_md7\", null],\n+ [\"Specialise nullness\", \"datatypes.html#autotoc_md8\", null],\n+ [\"Specialise string_traits\", \"datatypes.html#autotoc_md9\", [\n+ [\"from_string\", \"datatypes.html#autotoc_md10\", null],\n+ [\"to_buf\", \"datatypes.html#autotoc_md11\", null],\n+ [\"into_buf\", \"datatypes.html#autotoc_md12\", null],\n+ [\"size_buffer\", \"datatypes.html#autotoc_md13\", null]\n ]],\n- [\"Optional: Specialise is_unquoted_safe\", \"datatypes.html#autotoc_md27\", null],\n- [\"Optional: Specialise param_format\", \"datatypes.html#autotoc_md28\", null]\n+ [\"Optional: Specialise is_unquoted_safe\", \"datatypes.html#autotoc_md14\", null],\n+ [\"Optional: Specialise param_format\", \"datatypes.html#autotoc_md15\", null]\n ]],\n [\"String escaping\", \"escaping.html\", [\n- [\"SQL injection\", \"escaping.html#autotoc_md4\", null],\n- [\"Using the esc functions\", \"escaping.html#autotoc_md5\", null]\n+ [\"SQL injection\", \"escaping.html#autotoc_md16\", null],\n+ [\"Using the esc functions\", \"escaping.html#autotoc_md17\", null]\n ]],\n [\"Getting started\", \"getting-started.html\", null],\n [\"Statement parameters\", \"parameters.html\", [\n- [\"Dynamic parameter lists\", \"parameters.html#autotoc_md6\", null],\n- [\"Generating placeholders\", \"parameters.html#autotoc_md7\", null]\n+ [\"Dynamic parameter lists\", \"parameters.html#autotoc_md18\", null],\n+ [\"Generating placeholders\", \"parameters.html#autotoc_md28\", null]\n ]],\n [\"Performance features\", \"performance.html\", null],\n [\"Prepared statements\", \"prepared.html\", [\n- [\"Preparing a statement\", \"prepared.html#autotoc_md8\", null],\n- [\"Parameters\", \"prepared.html#autotoc_md9\", null],\n- [\"A special prepared statement\", \"prepared.html#autotoc_md10\", null],\n- [\"Performance note\", \"prepared.html#autotoc_md11\", null],\n- [\"Zero bytes\", \"prepared.html#autotoc_md12\", null]\n+ [\"Preparing a statement\", \"prepared.html#autotoc_md19\", null],\n+ [\"Parameters\", \"prepared.html#autotoc_md20\", null],\n+ [\"A special prepared statement\", \"prepared.html#autotoc_md21\", null],\n+ [\"Performance note\", \"prepared.html#autotoc_md22\", null],\n+ [\"Zero bytes\", \"prepared.html#autotoc_md23\", null]\n ]],\n [\"Streams\", \"streams.html\", [\n- [\"Interlude: null values\", \"streams.html#autotoc_md13\", null],\n- [\"Streaming data from a query\", \"streams.html#autotoc_md14\", [\n- [\"Is streaming right for my query?\", \"streams.html#autotoc_md15\", null]\n+ [\"Interlude: null values\", \"streams.html#autotoc_md24\", null],\n+ [\"Streaming data from a query\", \"streams.html#autotoc_md25\", [\n+ [\"Is streaming right for my query?\", \"streams.html#autotoc_md26\", null]\n ]],\n- [\"Streaming data into a table\", \"streams.html#autotoc_md16\", null]\n+ [\"Streaming data into a table\", \"streams.html#autotoc_md27\", null]\n ]],\n [\"Thread safety\", \"thread-safety.html\", null],\n [\"Deprecated List\", \"deprecated.html\", null],\n [\"Topics\", \"topics.html\", \"topics\"],\n [\"Namespaces\", \"namespaces.html\", [\n [\"Namespace List\", \"namespaces.html\", \"namespaces_dup\"],\n [\"Namespace Members\", \"namespacemembers.html\", [\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex0.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex0.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,251 +1,251 @@\n var NAVTREEINDEX0 = {\n \"accessing-results.html\": [0],\n- \"accessing-results.html#autotoc_md1\": [0, 0],\n- \"accessing-results.html#autotoc_md2\": [0, 1],\n- \"accessing-results.html#autotoc_md3\": [0, 2],\n+ \"accessing-results.html#autotoc_md0\": [0, 0],\n+ \"accessing-results.html#autotoc_md1\": [0, 1],\n+ \"accessing-results.html#autotoc_md2\": [0, 2],\n \"annotated.html\": [13, 0],\n \"array-composite_8hxx_source.html\": [14, 0, 0, 0, 0, 1],\n \"array_8hxx_source.html\": [14, 0, 0, 0, 1],\n \"binary.html\": [1],\n- \"binary.html#autotoc_md0\": [1, 0],\n+ \"binary.html#autotoc_md3\": [1, 0],\n \"binarystring_8hxx_source.html\": [14, 0, 0, 0, 2],\n \"blob_8hxx_source.html\": [14, 0, 0, 0, 3],\n \"callgate_8hxx_source.html\": [14, 0, 0, 0, 0, 2],\n \"classes.html\": [13, 1],\n \"classpqxx_1_1array.html\": [13, 0, 0, 2],\n \"classpqxx_1_1array.html\": [12, 0, 0, 3],\n \"classpqxx_1_1array.html#a0e2b93e6f98dbc5eb22de85559f2669f\": [12, 0, 0, 3, 1],\n \"classpqxx_1_1array.html#a0e2b93e6f98dbc5eb22de85559f2669f\": [13, 0, 0, 2, 1],\n- \"classpqxx_1_1array.html#a14d57111c8af2324a8e9e8e3df162d9d\": [13, 0, 0, 2, 3],\n \"classpqxx_1_1array.html#a14d57111c8af2324a8e9e8e3df162d9d\": [12, 0, 0, 3, 3],\n+ \"classpqxx_1_1array.html#a14d57111c8af2324a8e9e8e3df162d9d\": [13, 0, 0, 2, 3],\n \"classpqxx_1_1array.html#a2499a20fcc7d9da7e7f303b6e16fb254\": [13, 0, 0, 2, 4],\n \"classpqxx_1_1array.html#a2499a20fcc7d9da7e7f303b6e16fb254\": [12, 0, 0, 3, 4],\n- \"classpqxx_1_1array.html#a36d27b1f7e366a07944115a382aa4087\": [12, 0, 0, 3, 8],\n \"classpqxx_1_1array.html#a36d27b1f7e366a07944115a382aa4087\": [13, 0, 0, 2, 8],\n+ \"classpqxx_1_1array.html#a36d27b1f7e366a07944115a382aa4087\": [12, 0, 0, 3, 8],\n \"classpqxx_1_1array.html#a592afe2ec16fbb793501e84d805c87eb\": [13, 0, 0, 2, 9],\n \"classpqxx_1_1array.html#a592afe2ec16fbb793501e84d805c87eb\": [12, 0, 0, 3, 9],\n- \"classpqxx_1_1array.html#a707b514df7835fa198a29ae68897efd8\": [13, 0, 0, 2, 11],\n \"classpqxx_1_1array.html#a707b514df7835fa198a29ae68897efd8\": [12, 0, 0, 3, 11],\n- \"classpqxx_1_1array.html#a76252c66ef91327bc8c5ae296cb9aacb\": [12, 0, 0, 3, 6],\n+ \"classpqxx_1_1array.html#a707b514df7835fa198a29ae68897efd8\": [13, 0, 0, 2, 11],\n \"classpqxx_1_1array.html#a76252c66ef91327bc8c5ae296cb9aacb\": [13, 0, 0, 2, 6],\n+ \"classpqxx_1_1array.html#a76252c66ef91327bc8c5ae296cb9aacb\": [12, 0, 0, 3, 6],\n \"classpqxx_1_1array.html#aa091e8641639a3802f44b565194d1119\": [12, 0, 0, 3, 2],\n \"classpqxx_1_1array.html#aa091e8641639a3802f44b565194d1119\": [13, 0, 0, 2, 2],\n \"classpqxx_1_1array.html#abf1925ec5be448b26147a100660d936c\": [12, 0, 0, 3, 0],\n \"classpqxx_1_1array.html#abf1925ec5be448b26147a100660d936c\": [13, 0, 0, 2, 0],\n \"classpqxx_1_1array.html#ac2f300e0917b8e0afbc9d77bbc26534a\": [12, 0, 0, 3, 5],\n \"classpqxx_1_1array.html#ac2f300e0917b8e0afbc9d77bbc26534a\": [13, 0, 0, 2, 5],\n \"classpqxx_1_1array.html#ad0bf0e010691f056bebaa506f9e034dc\": [12, 0, 0, 3, 10],\n \"classpqxx_1_1array.html#ad0bf0e010691f056bebaa506f9e034dc\": [13, 0, 0, 2, 10],\n- \"classpqxx_1_1array.html#af0f6cbf8e3621dc46e59b9563ed436b1\": [12, 0, 0, 3, 7],\n \"classpqxx_1_1array.html#af0f6cbf8e3621dc46e59b9563ed436b1\": [13, 0, 0, 2, 7],\n- \"classpqxx_1_1array__parser.html\": [13, 0, 0, 3],\n+ \"classpqxx_1_1array.html#af0f6cbf8e3621dc46e59b9563ed436b1\": [12, 0, 0, 3, 7],\n \"classpqxx_1_1array__parser.html\": [12, 0, 0, 4],\n+ \"classpqxx_1_1array__parser.html\": [13, 0, 0, 3],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189e\": [13, 0, 0, 3, 0],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189e\": [12, 0, 0, 4, 0],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea6b2ded51d81a4403d8a4bd25fa1e57ee\": [13, 0, 0, 3, 0, 4],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea6b2ded51d81a4403d8a4bd25fa1e57ee\": [12, 0, 0, 4, 0, 4],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea776234b9f0a5c0e802f2790824042092\": [13, 0, 0, 3, 0, 0],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea776234b9f0a5c0e802f2790824042092\": [12, 0, 0, 4, 0, 0],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea863a85b49df560a48bb166fcbf59f8b4\": [12, 0, 0, 4, 0, 3],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea863a85b49df560a48bb166fcbf59f8b4\": [13, 0, 0, 3, 0, 3],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea9e374dadbd88854fd5b2631a6b83a295\": [13, 0, 0, 3, 0, 2],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea9e374dadbd88854fd5b2631a6b83a295\": [12, 0, 0, 4, 0, 2],\n- \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189eab11c3eff6dd36f1f7136020d32b38051\": [12, 0, 0, 4, 0, 1],\n \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189eab11c3eff6dd36f1f7136020d32b38051\": [13, 0, 0, 3, 0, 1],\n+ \"classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189eab11c3eff6dd36f1f7136020d32b38051\": [12, 0, 0, 4, 0, 1],\n \"classpqxx_1_1array__parser.html#a4d31bd279a4e2314030b8f86b2dd3c2e\": [13, 0, 0, 3, 2],\n \"classpqxx_1_1array__parser.html#a4d31bd279a4e2314030b8f86b2dd3c2e\": [12, 0, 0, 4, 2],\n \"classpqxx_1_1array__parser.html#accdb2ebade9563ca1c396925d65ce6ff\": [13, 0, 0, 3, 1],\n \"classpqxx_1_1array__parser.html#accdb2ebade9563ca1c396925d65ce6ff\": [12, 0, 0, 4, 1],\n- \"classpqxx_1_1basic__fieldstream.html\": [13, 0, 0, 4],\n \"classpqxx_1_1basic__fieldstream.html\": [12, 0, 0, 5],\n- \"classpqxx_1_1basic__ilostream.html\": [13, 0, 0, 5],\n+ \"classpqxx_1_1basic__fieldstream.html\": [13, 0, 0, 4],\n \"classpqxx_1_1basic__ilostream.html\": [12, 0, 0, 6],\n+ \"classpqxx_1_1basic__ilostream.html\": [13, 0, 0, 5],\n \"classpqxx_1_1basic__ilostream.html#a1ad04f291d7854a4dd66a3ea72035534\": [12, 0, 0, 6, 1],\n \"classpqxx_1_1basic__ilostream.html#a1ad04f291d7854a4dd66a3ea72035534\": [13, 0, 0, 5, 1],\n- \"classpqxx_1_1basic__ilostream.html#a67f1cdf6e05f02e4ac2bbcde5ce117b8\": [13, 0, 0, 5, 0],\n \"classpqxx_1_1basic__ilostream.html#a67f1cdf6e05f02e4ac2bbcde5ce117b8\": [12, 0, 0, 6, 0],\n+ \"classpqxx_1_1basic__ilostream.html#a67f1cdf6e05f02e4ac2bbcde5ce117b8\": [13, 0, 0, 5, 0],\n \"classpqxx_1_1basic__lostream.html\": [13, 0, 0, 6],\n \"classpqxx_1_1basic__lostream.html\": [12, 0, 0, 7],\n- \"classpqxx_1_1basic__lostream.html#a8aaf8ee6fd445f410ce1153212315baa\": [12, 0, 0, 7, 0],\n \"classpqxx_1_1basic__lostream.html#a8aaf8ee6fd445f410ce1153212315baa\": [13, 0, 0, 6, 0],\n- \"classpqxx_1_1basic__lostream.html#ac8a118d4e4b7eb0acff3df853d698b66\": [12, 0, 0, 7, 1],\n+ \"classpqxx_1_1basic__lostream.html#a8aaf8ee6fd445f410ce1153212315baa\": [12, 0, 0, 7, 0],\n \"classpqxx_1_1basic__lostream.html#ac8a118d4e4b7eb0acff3df853d698b66\": [13, 0, 0, 6, 1],\n+ \"classpqxx_1_1basic__lostream.html#ac8a118d4e4b7eb0acff3df853d698b66\": [12, 0, 0, 7, 1],\n \"classpqxx_1_1basic__olostream.html\": [12, 0, 0, 8],\n \"classpqxx_1_1basic__olostream.html\": [13, 0, 0, 7],\n \"classpqxx_1_1basic__olostream.html#a48a66d3ebac27506cfcccd2d30e27e9e\": [13, 0, 0, 7, 0],\n \"classpqxx_1_1basic__olostream.html#a48a66d3ebac27506cfcccd2d30e27e9e\": [12, 0, 0, 8, 0],\n- \"classpqxx_1_1basic__olostream.html#aa444228f010d79bbbc2b23a10cb20e5c\": [12, 0, 0, 8, 1],\n \"classpqxx_1_1basic__olostream.html#aa444228f010d79bbbc2b23a10cb20e5c\": [13, 0, 0, 7, 1],\n- \"classpqxx_1_1blob.html\": [12, 0, 0, 10],\n+ \"classpqxx_1_1basic__olostream.html#aa444228f010d79bbbc2b23a10cb20e5c\": [12, 0, 0, 8, 1],\n \"classpqxx_1_1blob.html\": [13, 0, 0, 9],\n+ \"classpqxx_1_1blob.html\": [12, 0, 0, 10],\n \"classpqxx_1_1blob.html#a2066f1b112029d66c2a7880592a199e2\": [12, 0, 0, 10, 6],\n \"classpqxx_1_1blob.html#a2066f1b112029d66c2a7880592a199e2\": [13, 0, 0, 9, 6],\n \"classpqxx_1_1blob.html#a21ffe5a83b60ffa464bd1784e3831a11\": [13, 0, 0, 9, 4],\n \"classpqxx_1_1blob.html#a21ffe5a83b60ffa464bd1784e3831a11\": [12, 0, 0, 10, 4],\n- \"classpqxx_1_1blob.html#a28ff055c22102e0d1bda250d20d265e8\": [13, 0, 0, 9, 11],\n \"classpqxx_1_1blob.html#a28ff055c22102e0d1bda250d20d265e8\": [12, 0, 0, 10, 11],\n+ \"classpqxx_1_1blob.html#a28ff055c22102e0d1bda250d20d265e8\": [13, 0, 0, 9, 11],\n \"classpqxx_1_1blob.html#a3c1c5fcc157476dfe938c6901059502f\": [12, 0, 0, 10, 0],\n \"classpqxx_1_1blob.html#a3c1c5fcc157476dfe938c6901059502f\": [13, 0, 0, 9, 0],\n \"classpqxx_1_1blob.html#a787f0a89cbff1031e363301f4348c8ec\": [12, 0, 0, 10, 2],\n \"classpqxx_1_1blob.html#a787f0a89cbff1031e363301f4348c8ec\": [13, 0, 0, 9, 2],\n- \"classpqxx_1_1blob.html#a88f116eb30c662386e02a1a47fd859b8\": [12, 0, 0, 10, 10],\n \"classpqxx_1_1blob.html#a88f116eb30c662386e02a1a47fd859b8\": [13, 0, 0, 9, 10],\n+ \"classpqxx_1_1blob.html#a88f116eb30c662386e02a1a47fd859b8\": [12, 0, 0, 10, 10],\n \"classpqxx_1_1blob.html#a95c07a00765b77f9835ca869fe43287a\": [13, 0, 0, 9, 3],\n \"classpqxx_1_1blob.html#a95c07a00765b77f9835ca869fe43287a\": [12, 0, 0, 10, 3],\n \"classpqxx_1_1blob.html#aafa3ce93f6401c592f8985217be1d416\": [12, 0, 0, 10, 1],\n \"classpqxx_1_1blob.html#aafa3ce93f6401c592f8985217be1d416\": [13, 0, 0, 9, 1],\n \"classpqxx_1_1blob.html#ac95d070901a97d46659806edd6687f53\": [12, 0, 0, 10, 9],\n \"classpqxx_1_1blob.html#ac95d070901a97d46659806edd6687f53\": [13, 0, 0, 9, 9],\n- \"classpqxx_1_1blob.html#aca130d3433032b610ea94136968d16e5\": [12, 0, 0, 10, 7],\n \"classpqxx_1_1blob.html#aca130d3433032b610ea94136968d16e5\": [13, 0, 0, 9, 7],\n+ \"classpqxx_1_1blob.html#aca130d3433032b610ea94136968d16e5\": [12, 0, 0, 10, 7],\n \"classpqxx_1_1blob.html#af687083e0ce3884d27e8fcf3f6254a23\": [12, 0, 0, 10, 5],\n \"classpqxx_1_1blob.html#af687083e0ce3884d27e8fcf3f6254a23\": [13, 0, 0, 9, 5],\n- \"classpqxx_1_1blob.html#aff777e2a1736d1a24b07e410e846181e\": [12, 0, 0, 10, 8],\n \"classpqxx_1_1blob.html#aff777e2a1736d1a24b07e410e846181e\": [13, 0, 0, 9, 8],\n+ \"classpqxx_1_1blob.html#aff777e2a1736d1a24b07e410e846181e\": [12, 0, 0, 10, 8],\n \"classpqxx_1_1connecting.html\": [13, 0, 0, 13],\n \"classpqxx_1_1connecting.html\": [12, 0, 0, 14],\n- \"classpqxx_1_1connecting.html#a26fe754177b77ce5d62a7de871d79b7b\": [13, 0, 0, 13, 4],\n \"classpqxx_1_1connecting.html#a26fe754177b77ce5d62a7de871d79b7b\": [12, 0, 0, 14, 4],\n+ \"classpqxx_1_1connecting.html#a26fe754177b77ce5d62a7de871d79b7b\": [13, 0, 0, 13, 4],\n \"classpqxx_1_1connecting.html#a2859ca4422246743c85e4baf2ea00a1e\": [13, 0, 0, 13, 1],\n \"classpqxx_1_1connecting.html#a2859ca4422246743c85e4baf2ea00a1e\": [12, 0, 0, 14, 1],\n \"classpqxx_1_1connecting.html#a4b39dd46b61ea3e39242213bd4245eb0\": [13, 0, 0, 13, 6],\n \"classpqxx_1_1connecting.html#a4b39dd46b61ea3e39242213bd4245eb0\": [12, 0, 0, 14, 6],\n- \"classpqxx_1_1connecting.html#a58084f41892e19eb2a603a95de4f7dd9\": [12, 0, 0, 14, 2],\n \"classpqxx_1_1connecting.html#a58084f41892e19eb2a603a95de4f7dd9\": [13, 0, 0, 13, 2],\n+ \"classpqxx_1_1connecting.html#a58084f41892e19eb2a603a95de4f7dd9\": [12, 0, 0, 14, 2],\n \"classpqxx_1_1connecting.html#aa60ab98dc5a2702929765f05229bf160\": [13, 0, 0, 13, 5],\n \"classpqxx_1_1connecting.html#aa60ab98dc5a2702929765f05229bf160\": [12, 0, 0, 14, 5],\n \"classpqxx_1_1connecting.html#acf5c44883289c96122a64aeaa5371aa5\": [13, 0, 0, 13, 0],\n \"classpqxx_1_1connecting.html#acf5c44883289c96122a64aeaa5371aa5\": [12, 0, 0, 14, 0],\n- \"classpqxx_1_1connecting.html#af0022f168b3c81c4f1a156a11a2b28ea\": [12, 0, 0, 14, 3],\n \"classpqxx_1_1connecting.html#af0022f168b3c81c4f1a156a11a2b28ea\": [13, 0, 0, 13, 3],\n- \"classpqxx_1_1connection.html\": [13, 0, 0, 14],\n+ \"classpqxx_1_1connecting.html#af0022f168b3c81c4f1a156a11a2b28ea\": [12, 0, 0, 14, 3],\n \"classpqxx_1_1connection.html\": [12, 0, 0, 15],\n+ \"classpqxx_1_1connection.html\": [13, 0, 0, 14],\n \"classpqxx_1_1connection.html#a024851ed6f2ee32fa00e0fcf53cf37ac\": [12, 0, 0, 15, 50],\n \"classpqxx_1_1connection.html#a024851ed6f2ee32fa00e0fcf53cf37ac\": [13, 0, 0, 14, 50],\n \"classpqxx_1_1connection.html#a0724de6ed0e9b65267967adaa34c4f78\": [13, 0, 0, 14, 13],\n \"classpqxx_1_1connection.html#a0724de6ed0e9b65267967adaa34c4f78\": [12, 0, 0, 15, 13],\n \"classpqxx_1_1connection.html#a1130bc7963d62dd018b80415cd3f4b75\": [12, 0, 0, 15, 6],\n \"classpqxx_1_1connection.html#a1130bc7963d62dd018b80415cd3f4b75\": [13, 0, 0, 14, 6],\n \"classpqxx_1_1connection.html#a133c4376f8d97680c64d665770f37171\": [12, 0, 0, 15, 23],\n \"classpqxx_1_1connection.html#a133c4376f8d97680c64d665770f37171\": [13, 0, 0, 14, 23],\n- \"classpqxx_1_1connection.html#a140337eada7fe60e15d8b113b8599f0d\": [13, 0, 0, 14, 30],\n \"classpqxx_1_1connection.html#a140337eada7fe60e15d8b113b8599f0d\": [12, 0, 0, 15, 30],\n- \"classpqxx_1_1connection.html#a1e401dd0dbd1be80176a691a864f652b\": [13, 0, 0, 14, 27],\n+ \"classpqxx_1_1connection.html#a140337eada7fe60e15d8b113b8599f0d\": [13, 0, 0, 14, 30],\n \"classpqxx_1_1connection.html#a1e401dd0dbd1be80176a691a864f652b\": [12, 0, 0, 15, 27],\n- \"classpqxx_1_1connection.html#a21cfae9a17fcca3a4f93f21883822fb3\": [12, 0, 0, 15, 41],\n+ \"classpqxx_1_1connection.html#a1e401dd0dbd1be80176a691a864f652b\": [13, 0, 0, 14, 27],\n \"classpqxx_1_1connection.html#a21cfae9a17fcca3a4f93f21883822fb3\": [13, 0, 0, 14, 41],\n+ \"classpqxx_1_1connection.html#a21cfae9a17fcca3a4f93f21883822fb3\": [12, 0, 0, 15, 41],\n \"classpqxx_1_1connection.html#a22d2c852a4e1c159c021b04efc04f8e1\": [12, 0, 0, 15, 19],\n \"classpqxx_1_1connection.html#a22d2c852a4e1c159c021b04efc04f8e1\": [13, 0, 0, 14, 19],\n \"classpqxx_1_1connection.html#a24e6d240181c50ca81a7bfe816185a60\": [12, 0, 0, 15, 0],\n \"classpqxx_1_1connection.html#a24e6d240181c50ca81a7bfe816185a60\": [13, 0, 0, 14, 0],\n- \"classpqxx_1_1connection.html#a276b3fe0ae9d3cc8e5a04f5e9b2bf1cf\": [12, 0, 0, 15, 40],\n \"classpqxx_1_1connection.html#a276b3fe0ae9d3cc8e5a04f5e9b2bf1cf\": [13, 0, 0, 14, 40],\n- \"classpqxx_1_1connection.html#a279d1096372ef68e4c45ff51a8fe4f8a\": [12, 0, 0, 15, 33],\n+ \"classpqxx_1_1connection.html#a276b3fe0ae9d3cc8e5a04f5e9b2bf1cf\": [12, 0, 0, 15, 40],\n \"classpqxx_1_1connection.html#a279d1096372ef68e4c45ff51a8fe4f8a\": [13, 0, 0, 14, 33],\n- \"classpqxx_1_1connection.html#a286e275a7701a8ac96f839cbf8205258\": [12, 0, 0, 15, 10],\n+ \"classpqxx_1_1connection.html#a279d1096372ef68e4c45ff51a8fe4f8a\": [12, 0, 0, 15, 33],\n \"classpqxx_1_1connection.html#a286e275a7701a8ac96f839cbf8205258\": [13, 0, 0, 14, 10],\n- \"classpqxx_1_1connection.html#a2da006fb42b49b72f1261b774aaf6e10\": [12, 0, 0, 15, 46],\n+ \"classpqxx_1_1connection.html#a286e275a7701a8ac96f839cbf8205258\": [12, 0, 0, 15, 10],\n \"classpqxx_1_1connection.html#a2da006fb42b49b72f1261b774aaf6e10\": [13, 0, 0, 14, 46],\n- \"classpqxx_1_1connection.html#a33b387a15586501afd6d78ea9eabc9f9\": [12, 0, 0, 15, 24],\n+ \"classpqxx_1_1connection.html#a2da006fb42b49b72f1261b774aaf6e10\": [12, 0, 0, 15, 46],\n \"classpqxx_1_1connection.html#a33b387a15586501afd6d78ea9eabc9f9\": [13, 0, 0, 14, 24],\n- \"classpqxx_1_1connection.html#a3b8266efbb47eb4be0acae9ba198459d\": [12, 0, 0, 15, 47],\n+ \"classpqxx_1_1connection.html#a33b387a15586501afd6d78ea9eabc9f9\": [12, 0, 0, 15, 24],\n \"classpqxx_1_1connection.html#a3b8266efbb47eb4be0acae9ba198459d\": [13, 0, 0, 14, 47],\n- \"classpqxx_1_1connection.html#a47a75fc88fccf6e3c4f7042443cac8b9\": [12, 0, 0, 15, 25],\n+ \"classpqxx_1_1connection.html#a3b8266efbb47eb4be0acae9ba198459d\": [12, 0, 0, 15, 47],\n \"classpqxx_1_1connection.html#a47a75fc88fccf6e3c4f7042443cac8b9\": [13, 0, 0, 14, 25],\n- \"classpqxx_1_1connection.html#a4a24a7f9cf8d23f6c660ea1a0fbc3bf2\": [13, 0, 0, 14, 34],\n+ \"classpqxx_1_1connection.html#a47a75fc88fccf6e3c4f7042443cac8b9\": [12, 0, 0, 15, 25],\n \"classpqxx_1_1connection.html#a4a24a7f9cf8d23f6c660ea1a0fbc3bf2\": [12, 0, 0, 15, 34],\n+ \"classpqxx_1_1connection.html#a4a24a7f9cf8d23f6c660ea1a0fbc3bf2\": [13, 0, 0, 14, 34],\n \"classpqxx_1_1connection.html#a59295a47049b03ab949b3781dd60ed42\": [12, 0, 0, 15, 49],\n \"classpqxx_1_1connection.html#a59295a47049b03ab949b3781dd60ed42\": [13, 0, 0, 14, 49],\n \"classpqxx_1_1connection.html#a593be839225aadd0b16804647e11c285\": [13, 0, 0, 14, 53],\n \"classpqxx_1_1connection.html#a593be839225aadd0b16804647e11c285\": [12, 0, 0, 15, 53],\n \"classpqxx_1_1connection.html#a5cbd8240e3c74b595ccb535c941433ae\": [12, 0, 0, 15, 56],\n \"classpqxx_1_1connection.html#a5cbd8240e3c74b595ccb535c941433ae\": [13, 0, 0, 14, 56],\n \"classpqxx_1_1connection.html#a606c6c84a1ff57ae7bfc9e2001847270\": [13, 0, 0, 14, 42],\n \"classpqxx_1_1connection.html#a606c6c84a1ff57ae7bfc9e2001847270\": [12, 0, 0, 15, 42],\n- \"classpqxx_1_1connection.html#a6e6bc476091af546f880c9c572f05375\": [13, 0, 0, 14, 16],\n \"classpqxx_1_1connection.html#a6e6bc476091af546f880c9c572f05375\": [12, 0, 0, 15, 16],\n- \"classpqxx_1_1connection.html#a6f0d42562cf2e37c1673738bf330b2b7\": [13, 0, 0, 14, 38],\n+ \"classpqxx_1_1connection.html#a6e6bc476091af546f880c9c572f05375\": [13, 0, 0, 14, 16],\n \"classpqxx_1_1connection.html#a6f0d42562cf2e37c1673738bf330b2b7\": [12, 0, 0, 15, 38],\n+ \"classpqxx_1_1connection.html#a6f0d42562cf2e37c1673738bf330b2b7\": [13, 0, 0, 14, 38],\n \"classpqxx_1_1connection.html#a6f21e952ab8d614eead0b1dfa87598b1\": [13, 0, 0, 14, 54],\n \"classpqxx_1_1connection.html#a6f21e952ab8d614eead0b1dfa87598b1\": [12, 0, 0, 15, 54],\n \"classpqxx_1_1connection.html#a71bc4478b6beac9f8e978a5750980fbb\": [12, 0, 0, 15, 1],\n \"classpqxx_1_1connection.html#a71bc4478b6beac9f8e978a5750980fbb\": [13, 0, 0, 14, 1],\n- \"classpqxx_1_1connection.html#a72b6b843cbeb8555ade27ab831e6d6e9\": [13, 0, 0, 14, 18],\n \"classpqxx_1_1connection.html#a72b6b843cbeb8555ade27ab831e6d6e9\": [12, 0, 0, 15, 18],\n+ \"classpqxx_1_1connection.html#a72b6b843cbeb8555ade27ab831e6d6e9\": [13, 0, 0, 14, 18],\n \"classpqxx_1_1connection.html#a73950d5fc64af3cb55a39206fe35bddd\": [12, 0, 0, 15, 5],\n \"classpqxx_1_1connection.html#a73950d5fc64af3cb55a39206fe35bddd\": [13, 0, 0, 14, 5],\n- \"classpqxx_1_1connection.html#a73e86c75f2d23788c83ce931b74ec108\": [12, 0, 0, 15, 28],\n \"classpqxx_1_1connection.html#a73e86c75f2d23788c83ce931b74ec108\": [13, 0, 0, 14, 28],\n+ \"classpqxx_1_1connection.html#a73e86c75f2d23788c83ce931b74ec108\": [12, 0, 0, 15, 28],\n \"classpqxx_1_1connection.html#a777daa7f80f3e55df9ee50e236f74653\": [13, 0, 0, 14, 20],\n \"classpqxx_1_1connection.html#a777daa7f80f3e55df9ee50e236f74653\": [12, 0, 0, 15, 20],\n \"classpqxx_1_1connection.html#a7e8f054f91d4e61879039bfdff9b2889\": [12, 0, 0, 15, 17],\n \"classpqxx_1_1connection.html#a7e8f054f91d4e61879039bfdff9b2889\": [13, 0, 0, 14, 17],\n \"classpqxx_1_1connection.html#a7fabf1d8ada47fd82d16a4a50ae7170b\": [13, 0, 0, 14, 22],\n \"classpqxx_1_1connection.html#a7fabf1d8ada47fd82d16a4a50ae7170b\": [12, 0, 0, 15, 22],\n \"classpqxx_1_1connection.html#a841e36a2408cf70fedb68a7f91c43a6e\": [13, 0, 0, 14, 26],\n \"classpqxx_1_1connection.html#a841e36a2408cf70fedb68a7f91c43a6e\": [12, 0, 0, 15, 26],\n- \"classpqxx_1_1connection.html#a84ca9d29d5d2cb1d35fde324a7b3fc71\": [12, 0, 0, 15, 44],\n \"classpqxx_1_1connection.html#a84ca9d29d5d2cb1d35fde324a7b3fc71\": [13, 0, 0, 14, 44],\n- \"classpqxx_1_1connection.html#a8e6a7dbdf531482e63a3ae02db35c8aa\": [13, 0, 0, 14, 9],\n+ \"classpqxx_1_1connection.html#a84ca9d29d5d2cb1d35fde324a7b3fc71\": [12, 0, 0, 15, 44],\n \"classpqxx_1_1connection.html#a8e6a7dbdf531482e63a3ae02db35c8aa\": [12, 0, 0, 15, 9],\n+ \"classpqxx_1_1connection.html#a8e6a7dbdf531482e63a3ae02db35c8aa\": [13, 0, 0, 14, 9],\n \"classpqxx_1_1connection.html#a975747afe8d451004680741492b76ae5\": [13, 0, 0, 14, 11],\n \"classpqxx_1_1connection.html#a975747afe8d451004680741492b76ae5\": [12, 0, 0, 15, 11],\n- \"classpqxx_1_1connection.html#a98dd8efd74b0a0456b177b8aa34ab7f2\": [12, 0, 0, 15, 2],\n \"classpqxx_1_1connection.html#a98dd8efd74b0a0456b177b8aa34ab7f2\": [13, 0, 0, 14, 2],\n+ \"classpqxx_1_1connection.html#a98dd8efd74b0a0456b177b8aa34ab7f2\": [12, 0, 0, 15, 2],\n \"classpqxx_1_1connection.html#a98f0397793e45b0ea2d9fa4e7a454167\": [12, 0, 0, 15, 39],\n \"classpqxx_1_1connection.html#a98f0397793e45b0ea2d9fa4e7a454167\": [13, 0, 0, 14, 39],\n- \"classpqxx_1_1connection.html#a9d7c7ab0c54a258ac4fab0d562fdbacd\": [13, 0, 0, 14, 57],\n \"classpqxx_1_1connection.html#a9d7c7ab0c54a258ac4fab0d562fdbacd\": [12, 0, 0, 15, 57],\n+ \"classpqxx_1_1connection.html#a9d7c7ab0c54a258ac4fab0d562fdbacd\": [13, 0, 0, 14, 57],\n \"classpqxx_1_1connection.html#aa07fee0ccbf246afdf2b9b873076c8fc\": [13, 0, 0, 14, 21],\n \"classpqxx_1_1connection.html#aa07fee0ccbf246afdf2b9b873076c8fc\": [12, 0, 0, 15, 21],\n- \"classpqxx_1_1connection.html#aa29f2e36001c4715e898f2c1a2ca9d5a\": [13, 0, 0, 14, 14],\n \"classpqxx_1_1connection.html#aa29f2e36001c4715e898f2c1a2ca9d5a\": [12, 0, 0, 15, 14],\n- \"classpqxx_1_1connection.html#aa517b7352ea7d8aed937281c295d1f8d\": [12, 0, 0, 15, 29],\n+ \"classpqxx_1_1connection.html#aa29f2e36001c4715e898f2c1a2ca9d5a\": [13, 0, 0, 14, 14],\n \"classpqxx_1_1connection.html#aa517b7352ea7d8aed937281c295d1f8d\": [13, 0, 0, 14, 29],\n+ \"classpqxx_1_1connection.html#aa517b7352ea7d8aed937281c295d1f8d\": [12, 0, 0, 15, 29],\n \"classpqxx_1_1connection.html#aa8dd0b5e748b96a2c82152b8001bdc69\": [12, 0, 0, 15, 36],\n \"classpqxx_1_1connection.html#aa8dd0b5e748b96a2c82152b8001bdc69\": [13, 0, 0, 14, 36],\n \"classpqxx_1_1connection.html#ab2a631d00b6cf93e6963a48b968cd4ae\": [12, 0, 0, 15, 55],\n \"classpqxx_1_1connection.html#ab2a631d00b6cf93e6963a48b968cd4ae\": [13, 0, 0, 14, 55],\n \"classpqxx_1_1connection.html#ab2fd28a1d384854642cc84dcd54cd450\": [12, 0, 0, 15, 15],\n \"classpqxx_1_1connection.html#ab2fd28a1d384854642cc84dcd54cd450\": [13, 0, 0, 14, 15],\n- \"classpqxx_1_1connection.html#ab4cbd2e2d30694fcaf0969c33fbeaa8f\": [12, 0, 0, 15, 3],\n \"classpqxx_1_1connection.html#ab4cbd2e2d30694fcaf0969c33fbeaa8f\": [13, 0, 0, 14, 3],\n- \"classpqxx_1_1connection.html#abba2c839bfeba89008baa61abcd5ec30\": [13, 0, 0, 14, 8],\n+ \"classpqxx_1_1connection.html#ab4cbd2e2d30694fcaf0969c33fbeaa8f\": [12, 0, 0, 15, 3],\n \"classpqxx_1_1connection.html#abba2c839bfeba89008baa61abcd5ec30\": [12, 0, 0, 15, 8],\n- \"classpqxx_1_1connection.html#abefc0dbe2fe33a338b01d863ba586da6\": [12, 0, 0, 15, 43],\n+ \"classpqxx_1_1connection.html#abba2c839bfeba89008baa61abcd5ec30\": [13, 0, 0, 14, 8],\n \"classpqxx_1_1connection.html#abefc0dbe2fe33a338b01d863ba586da6\": [13, 0, 0, 14, 43],\n- \"classpqxx_1_1connection.html#ac6888103e47fc344e18d17878cdc2bc7\": [13, 0, 0, 14, 31],\n+ \"classpqxx_1_1connection.html#abefc0dbe2fe33a338b01d863ba586da6\": [12, 0, 0, 15, 43],\n \"classpqxx_1_1connection.html#ac6888103e47fc344e18d17878cdc2bc7\": [12, 0, 0, 15, 31],\n- \"classpqxx_1_1connection.html#ad1719d51a24c5aa6bd58f03a328a3833\": [13, 0, 0, 14, 7],\n+ \"classpqxx_1_1connection.html#ac6888103e47fc344e18d17878cdc2bc7\": [13, 0, 0, 14, 31],\n \"classpqxx_1_1connection.html#ad1719d51a24c5aa6bd58f03a328a3833\": [12, 0, 0, 15, 7],\n- \"classpqxx_1_1connection.html#ad685278470bb6569731fb84665d3af7f\": [13, 0, 0, 14, 52],\n+ \"classpqxx_1_1connection.html#ad1719d51a24c5aa6bd58f03a328a3833\": [13, 0, 0, 14, 7],\n \"classpqxx_1_1connection.html#ad685278470bb6569731fb84665d3af7f\": [12, 0, 0, 15, 52],\n- \"classpqxx_1_1connection.html#add8ab06057cfd57e509c1e4e1f26e944\": [13, 0, 0, 14, 32],\n+ \"classpqxx_1_1connection.html#ad685278470bb6569731fb84665d3af7f\": [13, 0, 0, 14, 52],\n \"classpqxx_1_1connection.html#add8ab06057cfd57e509c1e4e1f26e944\": [12, 0, 0, 15, 32],\n+ \"classpqxx_1_1connection.html#add8ab06057cfd57e509c1e4e1f26e944\": [13, 0, 0, 14, 32],\n \"classpqxx_1_1connection.html#ae217a0eb7197724be22beeb01b841a5a\": [12, 0, 0, 15, 45],\n \"classpqxx_1_1connection.html#ae217a0eb7197724be22beeb01b841a5a\": [13, 0, 0, 14, 45],\n- \"classpqxx_1_1connection.html#ae23a5c19af62349c1924ec26d93c81d5\": [12, 0, 0, 15, 48],\n \"classpqxx_1_1connection.html#ae23a5c19af62349c1924ec26d93c81d5\": [13, 0, 0, 14, 48],\n- \"classpqxx_1_1connection.html#ae871e3c436af0ed50e1373d9157e7340\": [13, 0, 0, 14, 37],\n+ \"classpqxx_1_1connection.html#ae23a5c19af62349c1924ec26d93c81d5\": [12, 0, 0, 15, 48],\n \"classpqxx_1_1connection.html#ae871e3c436af0ed50e1373d9157e7340\": [12, 0, 0, 15, 37],\n- \"classpqxx_1_1connection.html#aecfa98ec5ec1e783ed8e8737b587a9f0\": [13, 0, 0, 14, 12],\n+ \"classpqxx_1_1connection.html#ae871e3c436af0ed50e1373d9157e7340\": [13, 0, 0, 14, 37],\n \"classpqxx_1_1connection.html#aecfa98ec5ec1e783ed8e8737b587a9f0\": [12, 0, 0, 15, 12],\n+ \"classpqxx_1_1connection.html#aecfa98ec5ec1e783ed8e8737b587a9f0\": [13, 0, 0, 14, 12],\n \"classpqxx_1_1connection.html#af0943810c21272c154befe173f2cd535\": [13, 0, 0, 14, 35],\n \"classpqxx_1_1connection.html#af0943810c21272c154befe173f2cd535\": [12, 0, 0, 15, 35],\n- \"classpqxx_1_1connection.html#af312d26f21b1cfd4d063e3b591fb7579\": [12, 0, 0, 15, 51],\n \"classpqxx_1_1connection.html#af312d26f21b1cfd4d063e3b591fb7579\": [13, 0, 0, 14, 51],\n- \"classpqxx_1_1connection.html#af40df333a37b9ba5f32d7ce399c397ca\": [13, 0, 0, 14, 4],\n+ \"classpqxx_1_1connection.html#af312d26f21b1cfd4d063e3b591fb7579\": [12, 0, 0, 15, 51],\n \"classpqxx_1_1connection.html#af40df333a37b9ba5f32d7ce399c397ca\": [12, 0, 0, 15, 4],\n- \"classpqxx_1_1const__result__iterator.html\": [12, 0, 0, 16],\n+ \"classpqxx_1_1connection.html#af40df333a37b9ba5f32d7ce399c397ca\": [13, 0, 0, 14, 4],\n \"classpqxx_1_1const__result__iterator.html\": [13, 0, 0, 15],\n- \"classpqxx_1_1const__result__iterator.html#a08b54a64fc3498de70830555d951aa22\": [13, 0, 0, 15, 3],\n+ \"classpqxx_1_1const__result__iterator.html\": [12, 0, 0, 16],\n \"classpqxx_1_1const__result__iterator.html#a08b54a64fc3498de70830555d951aa22\": [12, 0, 0, 16, 3],\n- \"classpqxx_1_1const__result__iterator.html#a20640aad643b5309242056662ca06f98\": [13, 0, 0, 15, 4],\n+ \"classpqxx_1_1const__result__iterator.html#a08b54a64fc3498de70830555d951aa22\": [13, 0, 0, 15, 3],\n \"classpqxx_1_1const__result__iterator.html#a20640aad643b5309242056662ca06f98\": [12, 0, 0, 16, 4],\n+ \"classpqxx_1_1const__result__iterator.html#a20640aad643b5309242056662ca06f98\": [13, 0, 0, 15, 4],\n \"classpqxx_1_1const__result__iterator.html#a3a7cd99d4e801fca6a538dbad3c7bba6\": [12, 0, 0, 16, 8],\n \"classpqxx_1_1const__result__iterator.html#a3a7cd99d4e801fca6a538dbad3c7bba6\": [13, 0, 0, 15, 8],\n \"classpqxx_1_1const__result__iterator.html#a5ab2cb35eef449dd26f2fbf61267d7c0\": [13, 0, 0, 15, 1],\n \"classpqxx_1_1const__result__iterator.html#a5ab2cb35eef449dd26f2fbf61267d7c0\": [12, 0, 0, 16, 1],\n \"classpqxx_1_1const__result__iterator.html#a858d47eebdb1b6055a9f75c32d19d4d2\": [12, 0, 0, 16, 6],\n \"classpqxx_1_1const__result__iterator.html#a858d47eebdb1b6055a9f75c32d19d4d2\": [13, 0, 0, 15, 6],\n \"classpqxx_1_1const__result__iterator.html#aac48571e64d26aa73283b8fc9c16d791\": [12, 0, 0, 16, 0]\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex1.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex1.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,157 +1,157 @@\n var NAVTREEINDEX1 = {\n \"classpqxx_1_1const__result__iterator.html#aac48571e64d26aa73283b8fc9c16d791\": [13, 0, 0, 15, 0],\n- \"classpqxx_1_1const__result__iterator.html#aadd30c2141060d954c16301e3711a02c\": [12, 0, 0, 16, 7],\n \"classpqxx_1_1const__result__iterator.html#aadd30c2141060d954c16301e3711a02c\": [13, 0, 0, 15, 7],\n- \"classpqxx_1_1const__result__iterator.html#ab05c15f1e24c12868f03d46bed456843\": [13, 0, 0, 15, 2],\n+ \"classpqxx_1_1const__result__iterator.html#aadd30c2141060d954c16301e3711a02c\": [12, 0, 0, 16, 7],\n \"classpqxx_1_1const__result__iterator.html#ab05c15f1e24c12868f03d46bed456843\": [12, 0, 0, 16, 2],\n- \"classpqxx_1_1const__result__iterator.html#ae87d3164c4be3ececdde872582aacc61\": [12, 0, 0, 16, 5],\n+ \"classpqxx_1_1const__result__iterator.html#ab05c15f1e24c12868f03d46bed456843\": [13, 0, 0, 15, 2],\n \"classpqxx_1_1const__result__iterator.html#ae87d3164c4be3ececdde872582aacc61\": [13, 0, 0, 15, 5],\n+ \"classpqxx_1_1const__result__iterator.html#ae87d3164c4be3ececdde872582aacc61\": [12, 0, 0, 16, 5],\n \"classpqxx_1_1const__reverse__result__iterator.html\": [12, 0, 0, 17],\n \"classpqxx_1_1const__reverse__result__iterator.html\": [13, 0, 0, 16],\n \"classpqxx_1_1const__reverse__result__iterator.html#a18c5f3ab099eac765f63b8e565b7e7b0\": [13, 0, 0, 16, 5],\n \"classpqxx_1_1const__reverse__result__iterator.html#a18c5f3ab099eac765f63b8e565b7e7b0\": [12, 0, 0, 17, 5],\n \"classpqxx_1_1const__reverse__result__iterator.html#a20640aad643b5309242056662ca06f98\": [12, 0, 0, 17, 4],\n \"classpqxx_1_1const__reverse__result__iterator.html#a20640aad643b5309242056662ca06f98\": [13, 0, 0, 16, 4],\n \"classpqxx_1_1const__reverse__result__iterator.html#a422c826fcadc2ee79ac6a61042991910\": [12, 0, 0, 17, 1],\n \"classpqxx_1_1const__reverse__result__iterator.html#a422c826fcadc2ee79ac6a61042991910\": [13, 0, 0, 16, 1],\n- \"classpqxx_1_1const__reverse__result__iterator.html#a4b1228c093aa8d3173bbad5a64025beb\": [13, 0, 0, 16, 2],\n \"classpqxx_1_1const__reverse__result__iterator.html#a4b1228c093aa8d3173bbad5a64025beb\": [12, 0, 0, 17, 2],\n- \"classpqxx_1_1const__reverse__result__iterator.html#a4ce5bf0280d6dce47212969b614c483a\": [13, 0, 0, 16, 8],\n+ \"classpqxx_1_1const__reverse__result__iterator.html#a4b1228c093aa8d3173bbad5a64025beb\": [13, 0, 0, 16, 2],\n \"classpqxx_1_1const__reverse__result__iterator.html#a4ce5bf0280d6dce47212969b614c483a\": [12, 0, 0, 17, 8],\n+ \"classpqxx_1_1const__reverse__result__iterator.html#a4ce5bf0280d6dce47212969b614c483a\": [13, 0, 0, 16, 8],\n \"classpqxx_1_1const__reverse__result__iterator.html#a59ab4766b24359228198a1221e320a9f\": [13, 0, 0, 16, 3],\n \"classpqxx_1_1const__reverse__result__iterator.html#a59ab4766b24359228198a1221e320a9f\": [12, 0, 0, 17, 3],\n- \"classpqxx_1_1const__reverse__result__iterator.html#a9ef46da8bd48998cf9fae1bcbebea0e0\": [12, 0, 0, 17, 0],\n \"classpqxx_1_1const__reverse__result__iterator.html#a9ef46da8bd48998cf9fae1bcbebea0e0\": [13, 0, 0, 16, 0],\n- \"classpqxx_1_1const__reverse__result__iterator.html#aadd30c2141060d954c16301e3711a02c\": [13, 0, 0, 16, 9],\n+ \"classpqxx_1_1const__reverse__result__iterator.html#a9ef46da8bd48998cf9fae1bcbebea0e0\": [12, 0, 0, 17, 0],\n \"classpqxx_1_1const__reverse__result__iterator.html#aadd30c2141060d954c16301e3711a02c\": [12, 0, 0, 17, 9],\n+ \"classpqxx_1_1const__reverse__result__iterator.html#aadd30c2141060d954c16301e3711a02c\": [13, 0, 0, 16, 9],\n \"classpqxx_1_1const__reverse__result__iterator.html#ab3a7ba13b137fbd1b12748b788c7b3d7\": [12, 0, 0, 17, 7],\n \"classpqxx_1_1const__reverse__result__iterator.html#ab3a7ba13b137fbd1b12748b788c7b3d7\": [13, 0, 0, 16, 7],\n \"classpqxx_1_1const__reverse__result__iterator.html#ae87d3164c4be3ececdde872582aacc61\": [13, 0, 0, 16, 6],\n \"classpqxx_1_1const__reverse__result__iterator.html#ae87d3164c4be3ececdde872582aacc61\": [12, 0, 0, 17, 6],\n- \"classpqxx_1_1const__reverse__row__iterator.html\": [13, 0, 0, 17],\n \"classpqxx_1_1const__reverse__row__iterator.html\": [12, 0, 0, 18],\n- \"classpqxx_1_1const__row__iterator.html\": [13, 0, 0, 18],\n+ \"classpqxx_1_1const__reverse__row__iterator.html\": [13, 0, 0, 17],\n \"classpqxx_1_1const__row__iterator.html\": [12, 0, 0, 19],\n+ \"classpqxx_1_1const__row__iterator.html\": [13, 0, 0, 18],\n \"classpqxx_1_1cursor__base.html\": [12, 0, 0, 22],\n \"classpqxx_1_1cursor__base.html\": [13, 0, 0, 21],\n \"classpqxx_1_1cursor__base.html#a093c28cd1c29f1c579b57c849fda8c64\": [12, 0, 0, 22, 3],\n \"classpqxx_1_1cursor__base.html#a093c28cd1c29f1c579b57c849fda8c64\": [13, 0, 0, 21, 3],\n- \"classpqxx_1_1cursor__base.html#a580405381178880d7804180c0c396fe5\": [13, 0, 0, 21, 4],\n \"classpqxx_1_1cursor__base.html#a580405381178880d7804180c0c396fe5\": [12, 0, 0, 22, 4],\n- \"classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2\": [13, 0, 0, 21, 0],\n+ \"classpqxx_1_1cursor__base.html#a580405381178880d7804180c0c396fe5\": [13, 0, 0, 21, 4],\n \"classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2\": [12, 0, 0, 22, 0],\n+ \"classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2\": [13, 0, 0, 21, 0],\n \"classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2a7f6c1ed7719885433353a78946b2c5f3\": [12, 0, 0, 22, 0, 1],\n \"classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2a7f6c1ed7719885433353a78946b2c5f3\": [13, 0, 0, 21, 0, 1],\n \"classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2af440221f717464c87f043899cc117cbf\": [12, 0, 0, 22, 0, 0],\n \"classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2af440221f717464c87f043899cc117cbf\": [13, 0, 0, 21, 0, 0],\n \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490\": [12, 0, 0, 22, 1],\n \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490\": [13, 0, 0, 21, 1],\n- \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a3ace6a7a5ca4ec3b486f2f35fd2420b0\": [13, 0, 0, 21, 1, 0],\n \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a3ace6a7a5ca4ec3b486f2f35fd2420b0\": [12, 0, 0, 22, 1, 0],\n- \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a4c37408c49492bfe9f012812226dd1fd\": [13, 0, 0, 21, 1, 1],\n+ \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a3ace6a7a5ca4ec3b486f2f35fd2420b0\": [13, 0, 0, 21, 1, 0],\n \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a4c37408c49492bfe9f012812226dd1fd\": [12, 0, 0, 22, 1, 1],\n+ \"classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a4c37408c49492bfe9f012812226dd1fd\": [13, 0, 0, 21, 1, 1],\n \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083\": [13, 0, 0, 21, 2],\n \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083\": [12, 0, 0, 22, 2],\n- \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083a12fa229ee3e760f1ca86d66304554b63\": [12, 0, 0, 22, 2, 1],\n \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083a12fa229ee3e760f1ca86d66304554b63\": [13, 0, 0, 21, 2, 1],\n- \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083a8122c0c4a5eb9c9dbf27ab40a2686eb0\": [13, 0, 0, 21, 2, 0],\n+ \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083a12fa229ee3e760f1ca86d66304554b63\": [12, 0, 0, 22, 2, 1],\n \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083a8122c0c4a5eb9c9dbf27ab40a2686eb0\": [12, 0, 0, 22, 2, 0],\n- \"classpqxx_1_1errorhandler.html\": [12, 0, 0, 27],\n+ \"classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083a8122c0c4a5eb9c9dbf27ab40a2686eb0\": [13, 0, 0, 21, 2, 0],\n \"classpqxx_1_1errorhandler.html\": [13, 0, 0, 26],\n+ \"classpqxx_1_1errorhandler.html\": [12, 0, 0, 27],\n \"classpqxx_1_1errorhandler.html#a397ca98800efffe365f52d5998bb8b94\": [13, 0, 0, 26, 0],\n \"classpqxx_1_1errorhandler.html#a397ca98800efffe365f52d5998bb8b94\": [12, 0, 0, 27, 0],\n \"classpqxx_1_1errorhandler.html#a8404c336eaefab488ab326cbcb704993\": [13, 0, 0, 26, 1],\n \"classpqxx_1_1errorhandler.html#a8404c336eaefab488ab326cbcb704993\": [12, 0, 0, 27, 1],\n \"classpqxx_1_1exclusive__bound.html\": [13, 0, 0, 27],\n \"classpqxx_1_1exclusive__bound.html\": [12, 0, 0, 28],\n- \"classpqxx_1_1exclusive__bound.html#a123b3d5b90deec3cbb100a7a45dd447c\": [12, 0, 0, 28, 1],\n \"classpqxx_1_1exclusive__bound.html#a123b3d5b90deec3cbb100a7a45dd447c\": [13, 0, 0, 27, 1],\n- \"classpqxx_1_1exclusive__bound.html#a9dc981842fd802771fa55cd91088b3ab\": [12, 0, 0, 28, 0],\n+ \"classpqxx_1_1exclusive__bound.html#a123b3d5b90deec3cbb100a7a45dd447c\": [12, 0, 0, 28, 1],\n \"classpqxx_1_1exclusive__bound.html#a9dc981842fd802771fa55cd91088b3ab\": [13, 0, 0, 27, 0],\n+ \"classpqxx_1_1exclusive__bound.html#a9dc981842fd802771fa55cd91088b3ab\": [12, 0, 0, 28, 0],\n \"classpqxx_1_1field.html\": [13, 0, 0, 30],\n \"classpqxx_1_1field.html\": [12, 0, 0, 31],\n- \"classpqxx_1_1field.html#a0724bd55b4cccf26db6960ef27851fe8\": [12, 0, 0, 31, 12],\n \"classpqxx_1_1field.html#a0724bd55b4cccf26db6960ef27851fe8\": [13, 0, 0, 30, 12],\n+ \"classpqxx_1_1field.html#a0724bd55b4cccf26db6960ef27851fe8\": [12, 0, 0, 31, 12],\n \"classpqxx_1_1field.html#a1e87e9981c60d37516326e7ab6b26da6\": [13, 0, 0, 30, 17],\n \"classpqxx_1_1field.html#a1e87e9981c60d37516326e7ab6b26da6\": [12, 0, 0, 31, 17],\n- \"classpqxx_1_1field.html#a20ceb9e1dd63c481e412af866e88ccaa\": [12, 0, 0, 31, 14],\n \"classpqxx_1_1field.html#a20ceb9e1dd63c481e412af866e88ccaa\": [13, 0, 0, 30, 14],\n- \"classpqxx_1_1field.html#a27f7bb2fe7bd70412feaea0bdcd6464e\": [12, 0, 0, 31, 3],\n+ \"classpqxx_1_1field.html#a20ceb9e1dd63c481e412af866e88ccaa\": [12, 0, 0, 31, 14],\n \"classpqxx_1_1field.html#a27f7bb2fe7bd70412feaea0bdcd6464e\": [13, 0, 0, 30, 3],\n- \"classpqxx_1_1field.html#a28c1716f33c91766259cc89f0d06931d\": [13, 0, 0, 30, 22],\n+ \"classpqxx_1_1field.html#a27f7bb2fe7bd70412feaea0bdcd6464e\": [12, 0, 0, 31, 3],\n \"classpqxx_1_1field.html#a28c1716f33c91766259cc89f0d06931d\": [12, 0, 0, 31, 22],\n- \"classpqxx_1_1field.html#a3094253a229c7d379ba3f1342bc1347d\": [13, 0, 0, 30, 4],\n+ \"classpqxx_1_1field.html#a28c1716f33c91766259cc89f0d06931d\": [13, 0, 0, 30, 22],\n \"classpqxx_1_1field.html#a3094253a229c7d379ba3f1342bc1347d\": [12, 0, 0, 31, 4],\n- \"classpqxx_1_1field.html#a31433b3a426646a23e1d11f3242a3885\": [12, 0, 0, 31, 19],\n+ \"classpqxx_1_1field.html#a3094253a229c7d379ba3f1342bc1347d\": [13, 0, 0, 30, 4],\n \"classpqxx_1_1field.html#a31433b3a426646a23e1d11f3242a3885\": [13, 0, 0, 30, 19],\n+ \"classpqxx_1_1field.html#a31433b3a426646a23e1d11f3242a3885\": [12, 0, 0, 31, 19],\n \"classpqxx_1_1field.html#a5bd96ec505943365c6264f258975b03d\": [13, 0, 0, 30, 13],\n \"classpqxx_1_1field.html#a5bd96ec505943365c6264f258975b03d\": [12, 0, 0, 31, 13],\n- \"classpqxx_1_1field.html#a5c13391d9f288b83419cca7865b5be62\": [12, 0, 0, 31, 18],\n \"classpqxx_1_1field.html#a5c13391d9f288b83419cca7865b5be62\": [13, 0, 0, 30, 18],\n+ \"classpqxx_1_1field.html#a5c13391d9f288b83419cca7865b5be62\": [12, 0, 0, 31, 18],\n \"classpqxx_1_1field.html#a768ec9ffee118b5eb5a4c371afbacc5a\": [12, 0, 0, 31, 11],\n \"classpqxx_1_1field.html#a768ec9ffee118b5eb5a4c371afbacc5a\": [13, 0, 0, 30, 11],\n- \"classpqxx_1_1field.html#a7792842d762cff5c2dfe20c20e912042\": [13, 0, 0, 30, 5],\n \"classpqxx_1_1field.html#a7792842d762cff5c2dfe20c20e912042\": [12, 0, 0, 31, 5],\n+ \"classpqxx_1_1field.html#a7792842d762cff5c2dfe20c20e912042\": [13, 0, 0, 30, 5],\n \"classpqxx_1_1field.html#a7aad0831fe97de25ba4a4bfd8b41e365\": [13, 0, 0, 30, 2],\n \"classpqxx_1_1field.html#a7aad0831fe97de25ba4a4bfd8b41e365\": [12, 0, 0, 31, 2],\n \"classpqxx_1_1field.html#a884880e40a43bad2733a167340896192\": [12, 0, 0, 31, 16],\n \"classpqxx_1_1field.html#a884880e40a43bad2733a167340896192\": [13, 0, 0, 30, 16],\n \"classpqxx_1_1field.html#a8e90cf78347c40fb5a975734e8557675\": [13, 0, 0, 30, 10],\n \"classpqxx_1_1field.html#a8e90cf78347c40fb5a975734e8557675\": [12, 0, 0, 31, 10],\n \"classpqxx_1_1field.html#aa05908e8ed320fac8c96b9eb4cf46813\": [13, 0, 0, 30, 21],\n \"classpqxx_1_1field.html#aa05908e8ed320fac8c96b9eb4cf46813\": [12, 0, 0, 31, 21],\n \"classpqxx_1_1field.html#ab6ec6f63e4bad7807f9afbeb8c79b493\": [12, 0, 0, 31, 6],\n \"classpqxx_1_1field.html#ab6ec6f63e4bad7807f9afbeb8c79b493\": [13, 0, 0, 30, 6],\n- \"classpqxx_1_1field.html#accb1b29590adaf1c265279fc410b2e59\": [12, 0, 0, 31, 9],\n \"classpqxx_1_1field.html#accb1b29590adaf1c265279fc410b2e59\": [13, 0, 0, 30, 9],\n+ \"classpqxx_1_1field.html#accb1b29590adaf1c265279fc410b2e59\": [12, 0, 0, 31, 9],\n \"classpqxx_1_1field.html#aceb8e342f34a054d2b2310c59cbf0e52\": [12, 0, 0, 31, 1],\n \"classpqxx_1_1field.html#aceb8e342f34a054d2b2310c59cbf0e52\": [13, 0, 0, 30, 1],\n- \"classpqxx_1_1field.html#ad11b276da1bb8acc674cb2f8aac11a24\": [12, 0, 0, 31, 0],\n \"classpqxx_1_1field.html#ad11b276da1bb8acc674cb2f8aac11a24\": [13, 0, 0, 30, 0],\n- \"classpqxx_1_1field.html#ad2da9b613fdf2b38a36e92eafd9b223a\": [13, 0, 0, 30, 20],\n+ \"classpqxx_1_1field.html#ad11b276da1bb8acc674cb2f8aac11a24\": [12, 0, 0, 31, 0],\n \"classpqxx_1_1field.html#ad2da9b613fdf2b38a36e92eafd9b223a\": [12, 0, 0, 31, 20],\n- \"classpqxx_1_1field.html#ad3f84cc67637ba99b7128db75603d03c\": [13, 0, 0, 30, 8],\n+ \"classpqxx_1_1field.html#ad2da9b613fdf2b38a36e92eafd9b223a\": [13, 0, 0, 30, 20],\n \"classpqxx_1_1field.html#ad3f84cc67637ba99b7128db75603d03c\": [12, 0, 0, 31, 8],\n+ \"classpqxx_1_1field.html#ad3f84cc67637ba99b7128db75603d03c\": [13, 0, 0, 30, 8],\n \"classpqxx_1_1field.html#adb7ec4ecef586ebbab147b5b181dfff3\": [12, 0, 0, 31, 7],\n \"classpqxx_1_1field.html#adb7ec4ecef586ebbab147b5b181dfff3\": [13, 0, 0, 30, 7],\n- \"classpqxx_1_1field.html#aee9267454dca1a3457fb86e2f0046feb\": [12, 0, 0, 31, 15],\n \"classpqxx_1_1field.html#aee9267454dca1a3457fb86e2f0046feb\": [13, 0, 0, 30, 15],\n- \"classpqxx_1_1field__streambuf.html\": [12, 0, 0, 32],\n+ \"classpqxx_1_1field.html#aee9267454dca1a3457fb86e2f0046feb\": [12, 0, 0, 31, 15],\n \"classpqxx_1_1field__streambuf.html\": [13, 0, 0, 31],\n- \"classpqxx_1_1inclusive__bound.html\": [13, 0, 0, 39],\n+ \"classpqxx_1_1field__streambuf.html\": [12, 0, 0, 32],\n \"classpqxx_1_1inclusive__bound.html\": [12, 0, 0, 40],\n+ \"classpqxx_1_1inclusive__bound.html\": [13, 0, 0, 39],\n \"classpqxx_1_1inclusive__bound.html#a262003fb0fad4296194b8802a077dfbc\": [12, 0, 0, 40, 0],\n \"classpqxx_1_1inclusive__bound.html#a262003fb0fad4296194b8802a077dfbc\": [13, 0, 0, 39, 0],\n- \"classpqxx_1_1inclusive__bound.html#abdedc091380634eeac13cc78e02fde9b\": [13, 0, 0, 39, 1],\n \"classpqxx_1_1inclusive__bound.html#abdedc091380634eeac13cc78e02fde9b\": [12, 0, 0, 40, 1],\n+ \"classpqxx_1_1inclusive__bound.html#abdedc091380634eeac13cc78e02fde9b\": [13, 0, 0, 39, 1],\n \"classpqxx_1_1internal_1_1basic__robusttransaction.html\": [12, 0, 0, 0, 2],\n \"classpqxx_1_1internal_1_1basic__robusttransaction.html\": [13, 0, 0, 0, 2],\n \"classpqxx_1_1internal_1_1basic__transaction.html\": [13, 0, 0, 0, 3],\n \"classpqxx_1_1internal_1_1basic__transaction.html\": [12, 0, 0, 0, 3],\n \"classpqxx_1_1internal_1_1basic__transaction.html#a7699927978d067945425217067eba5e5\": [13, 0, 0, 0, 3, 0],\n \"classpqxx_1_1internal_1_1basic__transaction.html#a7699927978d067945425217067eba5e5\": [12, 0, 0, 0, 3, 0],\n \"classpqxx_1_1internal_1_1callgate.html\": [13, 0, 0, 0, 5],\n \"classpqxx_1_1internal_1_1callgate.html\": [12, 0, 0, 0, 5],\n- \"classpqxx_1_1internal_1_1callgate.html#a46153ad21254e58b774ad81b597b73f7\": [12, 0, 0, 0, 5, 2],\n \"classpqxx_1_1internal_1_1callgate.html#a46153ad21254e58b774ad81b597b73f7\": [13, 0, 0, 0, 5, 2],\n+ \"classpqxx_1_1internal_1_1callgate.html#a46153ad21254e58b774ad81b597b73f7\": [12, 0, 0, 0, 5, 2],\n \"classpqxx_1_1internal_1_1callgate.html#a8afb6d383802c92c3e2a83b590f75be0\": [13, 0, 0, 0, 5, 0],\n \"classpqxx_1_1internal_1_1callgate.html#a8afb6d383802c92c3e2a83b590f75be0\": [12, 0, 0, 0, 5, 0],\n- \"classpqxx_1_1internal_1_1callgate.html#afb620090453fc901f4fa147ee60bde36\": [12, 0, 0, 0, 5, 1],\n \"classpqxx_1_1internal_1_1callgate.html#afb620090453fc901f4fa147ee60bde36\": [13, 0, 0, 0, 5, 1],\n+ \"classpqxx_1_1internal_1_1callgate.html#afb620090453fc901f4fa147ee60bde36\": [12, 0, 0, 0, 5, 1],\n \"classpqxx_1_1internal_1_1dynamic__params.html\": [13, 0, 0, 0, 7],\n \"classpqxx_1_1internal_1_1dynamic__params.html\": [12, 0, 0, 0, 7],\n- \"classpqxx_1_1internal_1_1dynamic__params.html#a2135ab029e5235a29612ffdae27e93de\": [12, 0, 0, 0, 7, 2],\n \"classpqxx_1_1internal_1_1dynamic__params.html#a2135ab029e5235a29612ffdae27e93de\": [13, 0, 0, 0, 7, 2],\n- \"classpqxx_1_1internal_1_1dynamic__params.html#a5b59edc3a62998f76ef9996dda783b81\": [12, 0, 0, 0, 7, 0],\n+ \"classpqxx_1_1internal_1_1dynamic__params.html#a2135ab029e5235a29612ffdae27e93de\": [12, 0, 0, 0, 7, 2],\n \"classpqxx_1_1internal_1_1dynamic__params.html#a5b59edc3a62998f76ef9996dda783b81\": [13, 0, 0, 0, 7, 0],\n+ \"classpqxx_1_1internal_1_1dynamic__params.html#a5b59edc3a62998f76ef9996dda783b81\": [12, 0, 0, 0, 7, 0],\n \"classpqxx_1_1internal_1_1dynamic__params.html#a6ee02fae3568c5656cb964f7a6d2a710\": [13, 0, 0, 0, 7, 3],\n \"classpqxx_1_1internal_1_1dynamic__params.html#a6ee02fae3568c5656cb964f7a6d2a710\": [12, 0, 0, 0, 7, 3],\n- \"classpqxx_1_1internal_1_1dynamic__params.html#aadfb6e389288cca5a5f5b89cc3a2fdc3\": [12, 0, 0, 0, 7, 1],\n \"classpqxx_1_1internal_1_1dynamic__params.html#aadfb6e389288cca5a5f5b89cc3a2fdc3\": [13, 0, 0, 0, 7, 1],\n+ \"classpqxx_1_1internal_1_1dynamic__params.html#aadfb6e389288cca5a5f5b89cc3a2fdc3\": [12, 0, 0, 0, 7, 1],\n \"classpqxx_1_1internal_1_1gate_1_1connection__errorhandler.html\": [13, 0, 0, 0, 0, 0],\n \"classpqxx_1_1internal_1_1gate_1_1connection__largeobject.html\": [13, 0, 0, 0, 0, 1],\n \"classpqxx_1_1internal_1_1gate_1_1connection__notification__receiver.html\": [13, 0, 0, 0, 0, 2],\n \"classpqxx_1_1internal_1_1gate_1_1connection__pipeline.html\": [13, 0, 0, 0, 0, 3],\n \"classpqxx_1_1internal_1_1gate_1_1connection__sql__cursor.html\": [13, 0, 0, 0, 0, 4],\n \"classpqxx_1_1internal_1_1gate_1_1connection__stream__to.html\": [13, 0, 0, 0, 0, 6],\n \"classpqxx_1_1internal_1_1gate_1_1connection__transaction.html\": [13, 0, 0, 0, 0, 7],\n@@ -161,92 +161,92 @@\n \"classpqxx_1_1internal_1_1gate_1_1icursorstream__icursor__iterator.html\": [13, 0, 0, 0, 0, 11],\n \"classpqxx_1_1internal_1_1gate_1_1result__connection.html\": [13, 0, 0, 0, 0, 12],\n \"classpqxx_1_1internal_1_1gate_1_1result__creation.html\": [13, 0, 0, 0, 0, 13],\n \"classpqxx_1_1internal_1_1gate_1_1result__pipeline.html\": [13, 0, 0, 0, 0, 14],\n \"classpqxx_1_1internal_1_1gate_1_1result__sql__cursor.html\": [13, 0, 0, 0, 0, 15],\n \"classpqxx_1_1internal_1_1gate_1_1transaction__sql__cursor.html\": [13, 0, 0, 0, 0, 16],\n \"classpqxx_1_1internal_1_1gate_1_1transaction__transaction__focus.html\": [13, 0, 0, 0, 0, 17],\n- \"classpqxx_1_1internal_1_1result__iter.html\": [12, 0, 0, 0, 25],\n \"classpqxx_1_1internal_1_1result__iter.html\": [13, 0, 0, 0, 25],\n- \"classpqxx_1_1internal_1_1result__iter.html#a0c920149f5043b7d03b7ac765447a929\": [12, 0, 0, 0, 25, 0],\n+ \"classpqxx_1_1internal_1_1result__iter.html\": [12, 0, 0, 0, 25],\n \"classpqxx_1_1internal_1_1result__iter.html#a0c920149f5043b7d03b7ac765447a929\": [13, 0, 0, 0, 25, 0],\n+ \"classpqxx_1_1internal_1_1result__iter.html#a0c920149f5043b7d03b7ac765447a929\": [12, 0, 0, 0, 25, 0],\n \"classpqxx_1_1internal_1_1result__iter.html#ace9b554271a8b57ab7230da00ef319ea\": [13, 0, 0, 0, 25, 1],\n \"classpqxx_1_1internal_1_1result__iter.html#ace9b554271a8b57ab7230da00ef319ea\": [12, 0, 0, 0, 25, 1],\n \"classpqxx_1_1internal_1_1result__iteration.html\": [13, 0, 0, 0, 26],\n \"classpqxx_1_1internal_1_1result__iteration.html\": [12, 0, 0, 0, 26],\n- \"classpqxx_1_1internal_1_1sql__cursor.html\": [13, 0, 0, 0, 27],\n \"classpqxx_1_1internal_1_1sql__cursor.html\": [12, 0, 0, 0, 27],\n+ \"classpqxx_1_1internal_1_1sql__cursor.html\": [13, 0, 0, 0, 27],\n \"classpqxx_1_1internal_1_1sql__cursor.html#a4c11be9b28736e1adaf8b9a3eec41c79\": [12, 0, 0, 0, 27, 1],\n \"classpqxx_1_1internal_1_1sql__cursor.html#a4c11be9b28736e1adaf8b9a3eec41c79\": [13, 0, 0, 0, 27, 1],\n- \"classpqxx_1_1internal_1_1sql__cursor.html#aa081894fff9516d7dc26a8f724db21aa\": [13, 0, 0, 0, 27, 0],\n \"classpqxx_1_1internal_1_1sql__cursor.html#aa081894fff9516d7dc26a8f724db21aa\": [12, 0, 0, 0, 27, 0],\n- \"classpqxx_1_1internal_1_1sql__cursor.html#ac5c2280d1b3dde3922d1502235cfb01f\": [13, 0, 0, 0, 27, 2],\n+ \"classpqxx_1_1internal_1_1sql__cursor.html#aa081894fff9516d7dc26a8f724db21aa\": [13, 0, 0, 0, 27, 0],\n \"classpqxx_1_1internal_1_1sql__cursor.html#ac5c2280d1b3dde3922d1502235cfb01f\": [12, 0, 0, 0, 27, 2],\n- \"classpqxx_1_1internal_1_1stream__from__input__iterator.html\": [12, 0, 0, 0, 28],\n+ \"classpqxx_1_1internal_1_1sql__cursor.html#ac5c2280d1b3dde3922d1502235cfb01f\": [13, 0, 0, 0, 27, 2],\n \"classpqxx_1_1internal_1_1stream__from__input__iterator.html\": [13, 0, 0, 0, 28],\n+ \"classpqxx_1_1internal_1_1stream__from__input__iterator.html\": [12, 0, 0, 0, 28],\n \"classpqxx_1_1internal_1_1stream__from__input__iterator.html#a23573499bd91d017c08dd9438bc49ad4\": [13, 0, 0, 0, 28, 2],\n \"classpqxx_1_1internal_1_1stream__from__input__iterator.html#a23573499bd91d017c08dd9438bc49ad4\": [12, 0, 0, 0, 28, 2],\n \"classpqxx_1_1internal_1_1stream__from__input__iterator.html#a30bf5388b274d3e8b27568a03f061762\": [12, 0, 0, 0, 28, 1],\n \"classpqxx_1_1internal_1_1stream__from__input__iterator.html#a30bf5388b274d3e8b27568a03f061762\": [13, 0, 0, 0, 28, 1],\n- \"classpqxx_1_1internal_1_1stream__from__input__iterator.html#a6ee371294bb42b9e604d7313d0878a61\": [13, 0, 0, 0, 28, 0],\n \"classpqxx_1_1internal_1_1stream__from__input__iterator.html#a6ee371294bb42b9e604d7313d0878a61\": [12, 0, 0, 0, 28, 0],\n+ \"classpqxx_1_1internal_1_1stream__from__input__iterator.html#a6ee371294bb42b9e604d7313d0878a61\": [13, 0, 0, 0, 28, 0],\n \"classpqxx_1_1internal_1_1stream__input__iteration.html\": [12, 0, 0, 0, 29],\n \"classpqxx_1_1internal_1_1stream__input__iteration.html\": [13, 0, 0, 0, 29],\n \"classpqxx_1_1internal_1_1stream__query.html\": [13, 0, 0, 0, 30],\n \"classpqxx_1_1internal_1_1stream__query.html\": [12, 0, 0, 0, 30],\n \"classpqxx_1_1internal_1_1stream__query.html#a173d0e79729e42ccb3841f1e6d556376\": [12, 0, 0, 0, 30, 2],\n \"classpqxx_1_1internal_1_1stream__query.html#a173d0e79729e42ccb3841f1e6d556376\": [13, 0, 0, 0, 30, 2],\n- \"classpqxx_1_1internal_1_1stream__query.html#a82a1a8435b756b9cb075f4a9a2fc6c09\": [13, 0, 0, 0, 30, 0],\n \"classpqxx_1_1internal_1_1stream__query.html#a82a1a8435b756b9cb075f4a9a2fc6c09\": [12, 0, 0, 0, 30, 0],\n- \"classpqxx_1_1internal_1_1stream__query.html#aad5061fd7b06c89a98e317ce6901ab58\": [13, 0, 0, 0, 30, 4],\n+ \"classpqxx_1_1internal_1_1stream__query.html#a82a1a8435b756b9cb075f4a9a2fc6c09\": [13, 0, 0, 0, 30, 0],\n \"classpqxx_1_1internal_1_1stream__query.html#aad5061fd7b06c89a98e317ce6901ab58\": [12, 0, 0, 0, 30, 4],\n- \"classpqxx_1_1internal_1_1stream__query.html#aadbcbef19d5bd2509a8ad9db685771ae\": [13, 0, 0, 0, 30, 1],\n+ \"classpqxx_1_1internal_1_1stream__query.html#aad5061fd7b06c89a98e317ce6901ab58\": [13, 0, 0, 0, 30, 4],\n \"classpqxx_1_1internal_1_1stream__query.html#aadbcbef19d5bd2509a8ad9db685771ae\": [12, 0, 0, 0, 30, 1],\n- \"classpqxx_1_1internal_1_1stream__query.html#aed01b072e34514ec0ca9ca3e7adc692e\": [12, 0, 0, 0, 30, 5],\n+ \"classpqxx_1_1internal_1_1stream__query.html#aadbcbef19d5bd2509a8ad9db685771ae\": [13, 0, 0, 0, 30, 1],\n \"classpqxx_1_1internal_1_1stream__query.html#aed01b072e34514ec0ca9ca3e7adc692e\": [13, 0, 0, 0, 30, 5],\n- \"classpqxx_1_1internal_1_1stream__query.html#afccfe3b559c68913f5161f3a8ee0ad80\": [12, 0, 0, 0, 30, 3],\n+ \"classpqxx_1_1internal_1_1stream__query.html#aed01b072e34514ec0ca9ca3e7adc692e\": [12, 0, 0, 0, 30, 5],\n \"classpqxx_1_1internal_1_1stream__query.html#afccfe3b559c68913f5161f3a8ee0ad80\": [13, 0, 0, 0, 30, 3],\n+ \"classpqxx_1_1internal_1_1stream__query.html#afccfe3b559c68913f5161f3a8ee0ad80\": [12, 0, 0, 0, 30, 3],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html\": [12, 0, 0, 0, 32],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html\": [13, 0, 0, 0, 32],\n- \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a0c261e07d71c54c3df1873bd7682f141\": [12, 0, 0, 0, 32, 2],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a0c261e07d71c54c3df1873bd7682f141\": [13, 0, 0, 0, 32, 2],\n+ \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a0c261e07d71c54c3df1873bd7682f141\": [12, 0, 0, 0, 32, 2],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a207326fe0c7f51eccfa61be42d20188e\": [13, 0, 0, 0, 32, 0],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a207326fe0c7f51eccfa61be42d20188e\": [12, 0, 0, 0, 32, 0],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a27cb5d24969b0b2102987fb8f3ec3b62\": [12, 0, 0, 0, 32, 4],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a27cb5d24969b0b2102987fb8f3ec3b62\": [13, 0, 0, 0, 32, 4],\n- \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a9c57abc31dc9b272b395c6b2c216ad7a\": [12, 0, 0, 0, 32, 1],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a9c57abc31dc9b272b395c6b2c216ad7a\": [13, 0, 0, 0, 32, 1],\n- \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#abc1cf24fa7ceff09abe835eeeffdb4e2\": [12, 0, 0, 0, 32, 3],\n+ \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#a9c57abc31dc9b272b395c6b2c216ad7a\": [12, 0, 0, 0, 32, 1],\n \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#abc1cf24fa7ceff09abe835eeeffdb4e2\": [13, 0, 0, 0, 32, 3],\n+ \"classpqxx_1_1internal_1_1stream__query__input__iterator.html#abc1cf24fa7ceff09abe835eeeffdb4e2\": [12, 0, 0, 0, 32, 3],\n \"classpqxx_1_1largeobject.html\": [13, 0, 0, 47],\n \"classpqxx_1_1largeobject.html\": [12, 0, 0, 48],\n- \"classpqxx_1_1largeobject.html#a00f0df981995f7ca9991ba7162bdaa16\": [12, 0, 0, 48, 9],\n \"classpqxx_1_1largeobject.html#a00f0df981995f7ca9991ba7162bdaa16\": [13, 0, 0, 47, 9],\n- \"classpqxx_1_1largeobject.html#a0f1c6e0804d1829c81efb76f39db7dd7\": [12, 0, 0, 48, 11],\n+ \"classpqxx_1_1largeobject.html#a00f0df981995f7ca9991ba7162bdaa16\": [12, 0, 0, 48, 9],\n \"classpqxx_1_1largeobject.html#a0f1c6e0804d1829c81efb76f39db7dd7\": [13, 0, 0, 47, 11],\n+ \"classpqxx_1_1largeobject.html#a0f1c6e0804d1829c81efb76f39db7dd7\": [12, 0, 0, 48, 11],\n \"classpqxx_1_1largeobject.html#a12f426d5cd7f173de01551fa1629ddf4\": [12, 0, 0, 48, 12],\n \"classpqxx_1_1largeobject.html#a12f426d5cd7f173de01551fa1629ddf4\": [13, 0, 0, 47, 12],\n \"classpqxx_1_1largeobject.html#a297714bf161904cce728d0255e4efccd\": [13, 0, 0, 47, 3],\n \"classpqxx_1_1largeobject.html#a297714bf161904cce728d0255e4efccd\": [12, 0, 0, 48, 3],\n- \"classpqxx_1_1largeobject.html#a4a7766ea88d7e0aa68ed78e0f4bb8cab\": [13, 0, 0, 47, 8],\n \"classpqxx_1_1largeobject.html#a4a7766ea88d7e0aa68ed78e0f4bb8cab\": [12, 0, 0, 48, 8],\n- \"classpqxx_1_1largeobject.html#a4fb862c252771c8ad4449f8badf2b26f\": [12, 0, 0, 48, 13],\n+ \"classpqxx_1_1largeobject.html#a4a7766ea88d7e0aa68ed78e0f4bb8cab\": [13, 0, 0, 47, 8],\n \"classpqxx_1_1largeobject.html#a4fb862c252771c8ad4449f8badf2b26f\": [13, 0, 0, 47, 13],\n+ \"classpqxx_1_1largeobject.html#a4fb862c252771c8ad4449f8badf2b26f\": [12, 0, 0, 48, 13],\n \"classpqxx_1_1largeobject.html#a5fa9d7249fd0d8b471e7df2af8f96df2\": [12, 0, 0, 48, 2],\n \"classpqxx_1_1largeobject.html#a5fa9d7249fd0d8b471e7df2af8f96df2\": [13, 0, 0, 47, 2],\n \"classpqxx_1_1largeobject.html#a90efd57a423686ee47c4dbb6b5c3b187\": [13, 0, 0, 47, 7],\n \"classpqxx_1_1largeobject.html#a90efd57a423686ee47c4dbb6b5c3b187\": [12, 0, 0, 48, 7],\n \"classpqxx_1_1largeobject.html#a9450db026a6206b00fdd95054360e224\": [12, 0, 0, 48, 0],\n \"classpqxx_1_1largeobject.html#a9450db026a6206b00fdd95054360e224\": [13, 0, 0, 47, 0],\n \"classpqxx_1_1largeobject.html#ad326bef1920744c3d450406f43dbc6b5\": [13, 0, 0, 47, 6],\n \"classpqxx_1_1largeobject.html#ad326bef1920744c3d450406f43dbc6b5\": [12, 0, 0, 48, 6],\n- \"classpqxx_1_1largeobject.html#adb9c38154d2454560bfe56bfa7b5d673\": [13, 0, 0, 47, 4],\n \"classpqxx_1_1largeobject.html#adb9c38154d2454560bfe56bfa7b5d673\": [12, 0, 0, 48, 4],\n+ \"classpqxx_1_1largeobject.html#adb9c38154d2454560bfe56bfa7b5d673\": [13, 0, 0, 47, 4],\n \"classpqxx_1_1largeobject.html#ae33a0403408df984ad0999eb9a33db30\": [13, 0, 0, 47, 10],\n \"classpqxx_1_1largeobject.html#ae33a0403408df984ad0999eb9a33db30\": [12, 0, 0, 48, 10],\n- \"classpqxx_1_1largeobject.html#af210c3d0b39442a5ce9b3b1508d96c84\": [12, 0, 0, 48, 5],\n \"classpqxx_1_1largeobject.html#af210c3d0b39442a5ce9b3b1508d96c84\": [13, 0, 0, 47, 5],\n+ \"classpqxx_1_1largeobject.html#af210c3d0b39442a5ce9b3b1508d96c84\": [12, 0, 0, 48, 5],\n \"classpqxx_1_1largeobject.html#af56aa193ac2fd0664dc0d5a88df6716a\": [13, 0, 0, 47, 1],\n \"classpqxx_1_1largeobject.html#af56aa193ac2fd0664dc0d5a88df6716a\": [12, 0, 0, 48, 1],\n- \"classpqxx_1_1largeobject__streambuf.html\": [13, 0, 0, 48],\n- \"classpqxx_1_1largeobject__streambuf.html\": [12, 0, 0, 49]\n+ \"classpqxx_1_1largeobject__streambuf.html\": [12, 0, 0, 49],\n+ \"classpqxx_1_1largeobject__streambuf.html\": [13, 0, 0, 48]\n };\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex2.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex2.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,250 +1,250 @@\n var NAVTREEINDEX2 = {\n- \"classpqxx_1_1largeobject__streambuf.html#a9c9d53a14e148dec15f632fcb8f51366\": [12, 0, 0, 49, 0],\n \"classpqxx_1_1largeobject__streambuf.html#a9c9d53a14e148dec15f632fcb8f51366\": [13, 0, 0, 48, 0],\n- \"classpqxx_1_1largeobjectaccess.html\": [12, 0, 0, 50],\n+ \"classpqxx_1_1largeobject__streambuf.html#a9c9d53a14e148dec15f632fcb8f51366\": [12, 0, 0, 49, 0],\n \"classpqxx_1_1largeobjectaccess.html\": [13, 0, 0, 49],\n- \"classpqxx_1_1largeobjectaccess.html#a00f0df981995f7ca9991ba7162bdaa16\": [13, 0, 0, 49, 14],\n+ \"classpqxx_1_1largeobjectaccess.html\": [12, 0, 0, 50],\n \"classpqxx_1_1largeobjectaccess.html#a00f0df981995f7ca9991ba7162bdaa16\": [12, 0, 0, 50, 14],\n+ \"classpqxx_1_1largeobjectaccess.html#a00f0df981995f7ca9991ba7162bdaa16\": [13, 0, 0, 49, 14],\n \"classpqxx_1_1largeobjectaccess.html#a0f1c6e0804d1829c81efb76f39db7dd7\": [13, 0, 0, 49, 16],\n \"classpqxx_1_1largeobjectaccess.html#a0f1c6e0804d1829c81efb76f39db7dd7\": [12, 0, 0, 50, 16],\n- \"classpqxx_1_1largeobjectaccess.html#a12f426d5cd7f173de01551fa1629ddf4\": [12, 0, 0, 50, 19],\n \"classpqxx_1_1largeobjectaccess.html#a12f426d5cd7f173de01551fa1629ddf4\": [13, 0, 0, 49, 19],\n- \"classpqxx_1_1largeobjectaccess.html#a4665a2bbcffa4eb07725a9d17f1e0430\": [12, 0, 0, 50, 8],\n+ \"classpqxx_1_1largeobjectaccess.html#a12f426d5cd7f173de01551fa1629ddf4\": [12, 0, 0, 50, 19],\n \"classpqxx_1_1largeobjectaccess.html#a4665a2bbcffa4eb07725a9d17f1e0430\": [13, 0, 0, 49, 8],\n+ \"classpqxx_1_1largeobjectaccess.html#a4665a2bbcffa4eb07725a9d17f1e0430\": [12, 0, 0, 50, 8],\n \"classpqxx_1_1largeobjectaccess.html#a4a7766ea88d7e0aa68ed78e0f4bb8cab\": [13, 0, 0, 49, 13],\n \"classpqxx_1_1largeobjectaccess.html#a4a7766ea88d7e0aa68ed78e0f4bb8cab\": [12, 0, 0, 50, 13],\n- \"classpqxx_1_1largeobjectaccess.html#a4fb862c252771c8ad4449f8badf2b26f\": [12, 0, 0, 50, 22],\n \"classpqxx_1_1largeobjectaccess.html#a4fb862c252771c8ad4449f8badf2b26f\": [13, 0, 0, 49, 22],\n+ \"classpqxx_1_1largeobjectaccess.html#a4fb862c252771c8ad4449f8badf2b26f\": [12, 0, 0, 50, 22],\n \"classpqxx_1_1largeobjectaccess.html#a5e8690c9b3bcdb7b4045e619597aec69\": [12, 0, 0, 50, 18],\n \"classpqxx_1_1largeobjectaccess.html#a5e8690c9b3bcdb7b4045e619597aec69\": [13, 0, 0, 49, 18],\n- \"classpqxx_1_1largeobjectaccess.html#a60ff3072349074e732d0c00e2aefc498\": [13, 0, 0, 49, 24],\n \"classpqxx_1_1largeobjectaccess.html#a60ff3072349074e732d0c00e2aefc498\": [12, 0, 0, 50, 24],\n+ \"classpqxx_1_1largeobjectaccess.html#a60ff3072349074e732d0c00e2aefc498\": [13, 0, 0, 49, 24],\n \"classpqxx_1_1largeobjectaccess.html#a6b09598014eca3c4c4b8a0c1495185d3\": [13, 0, 0, 49, 0],\n \"classpqxx_1_1largeobjectaccess.html#a6b09598014eca3c4c4b8a0c1495185d3\": [12, 0, 0, 50, 0],\n \"classpqxx_1_1largeobjectaccess.html#a7f372c2836b12287ecd4b15b8d8eacb5\": [13, 0, 0, 49, 3],\n \"classpqxx_1_1largeobjectaccess.html#a7f372c2836b12287ecd4b15b8d8eacb5\": [12, 0, 0, 50, 3],\n- \"classpqxx_1_1largeobjectaccess.html#a86298b9dd2e670858c9e04f3d4043b7e\": [13, 0, 0, 49, 7],\n \"classpqxx_1_1largeobjectaccess.html#a86298b9dd2e670858c9e04f3d4043b7e\": [12, 0, 0, 50, 7],\n+ \"classpqxx_1_1largeobjectaccess.html#a86298b9dd2e670858c9e04f3d4043b7e\": [13, 0, 0, 49, 7],\n \"classpqxx_1_1largeobjectaccess.html#a8a693bb1e0478d0d3a3d19ef904071bf\": [12, 0, 0, 50, 5],\n \"classpqxx_1_1largeobjectaccess.html#a8a693bb1e0478d0d3a3d19ef904071bf\": [13, 0, 0, 49, 5],\n \"classpqxx_1_1largeobjectaccess.html#a90efd57a423686ee47c4dbb6b5c3b187\": [13, 0, 0, 49, 12],\n \"classpqxx_1_1largeobjectaccess.html#a90efd57a423686ee47c4dbb6b5c3b187\": [12, 0, 0, 50, 12],\n \"classpqxx_1_1largeobjectaccess.html#a9230026566fa1f7c32d2abcc2a5571eb\": [13, 0, 0, 49, 1],\n \"classpqxx_1_1largeobjectaccess.html#a9230026566fa1f7c32d2abcc2a5571eb\": [12, 0, 0, 50, 1],\n- \"classpqxx_1_1largeobjectaccess.html#a972d8559cae789984a194c98a88b943b\": [12, 0, 0, 50, 21],\n \"classpqxx_1_1largeobjectaccess.html#a972d8559cae789984a194c98a88b943b\": [13, 0, 0, 49, 21],\n- \"classpqxx_1_1largeobjectaccess.html#ab2d72e776c6703ac62ef0657d6ac1df8\": [12, 0, 0, 50, 9],\n+ \"classpqxx_1_1largeobjectaccess.html#a972d8559cae789984a194c98a88b943b\": [12, 0, 0, 50, 21],\n \"classpqxx_1_1largeobjectaccess.html#ab2d72e776c6703ac62ef0657d6ac1df8\": [13, 0, 0, 49, 9],\n- \"classpqxx_1_1largeobjectaccess.html#ab3a49a4c8e094cb8d65f20c3e5541c73\": [12, 0, 0, 50, 2],\n+ \"classpqxx_1_1largeobjectaccess.html#ab2d72e776c6703ac62ef0657d6ac1df8\": [12, 0, 0, 50, 9],\n \"classpqxx_1_1largeobjectaccess.html#ab3a49a4c8e094cb8d65f20c3e5541c73\": [13, 0, 0, 49, 2],\n- \"classpqxx_1_1largeobjectaccess.html#ac43433ab08b3ccb34fc72ea4975bcda2\": [12, 0, 0, 50, 6],\n+ \"classpqxx_1_1largeobjectaccess.html#ab3a49a4c8e094cb8d65f20c3e5541c73\": [12, 0, 0, 50, 2],\n \"classpqxx_1_1largeobjectaccess.html#ac43433ab08b3ccb34fc72ea4975bcda2\": [13, 0, 0, 49, 6],\n- \"classpqxx_1_1largeobjectaccess.html#acdbc859cf3afd0ddcc4aa555ef36c35a\": [12, 0, 0, 50, 23],\n+ \"classpqxx_1_1largeobjectaccess.html#ac43433ab08b3ccb34fc72ea4975bcda2\": [12, 0, 0, 50, 6],\n \"classpqxx_1_1largeobjectaccess.html#acdbc859cf3afd0ddcc4aa555ef36c35a\": [13, 0, 0, 49, 23],\n+ \"classpqxx_1_1largeobjectaccess.html#acdbc859cf3afd0ddcc4aa555ef36c35a\": [12, 0, 0, 50, 23],\n \"classpqxx_1_1largeobjectaccess.html#ad326bef1920744c3d450406f43dbc6b5\": [12, 0, 0, 50, 11],\n \"classpqxx_1_1largeobjectaccess.html#ad326bef1920744c3d450406f43dbc6b5\": [13, 0, 0, 49, 11],\n- \"classpqxx_1_1largeobjectaccess.html#ad539bb1d48ea71532455f56bf118a3ff\": [13, 0, 0, 49, 17],\n \"classpqxx_1_1largeobjectaccess.html#ad539bb1d48ea71532455f56bf118a3ff\": [12, 0, 0, 50, 17],\n- \"classpqxx_1_1largeobjectaccess.html#ad8cc68a38208f6ee1c2f9dcf97628990\": [13, 0, 0, 49, 4],\n+ \"classpqxx_1_1largeobjectaccess.html#ad539bb1d48ea71532455f56bf118a3ff\": [13, 0, 0, 49, 17],\n \"classpqxx_1_1largeobjectaccess.html#ad8cc68a38208f6ee1c2f9dcf97628990\": [12, 0, 0, 50, 4],\n- \"classpqxx_1_1largeobjectaccess.html#addc309fe11d4d3e29547b149e4600199\": [12, 0, 0, 50, 25],\n+ \"classpqxx_1_1largeobjectaccess.html#ad8cc68a38208f6ee1c2f9dcf97628990\": [13, 0, 0, 49, 4],\n \"classpqxx_1_1largeobjectaccess.html#addc309fe11d4d3e29547b149e4600199\": [13, 0, 0, 49, 25],\n- \"classpqxx_1_1largeobjectaccess.html#ae33a0403408df984ad0999eb9a33db30\": [12, 0, 0, 50, 15],\n+ \"classpqxx_1_1largeobjectaccess.html#addc309fe11d4d3e29547b149e4600199\": [12, 0, 0, 50, 25],\n \"classpqxx_1_1largeobjectaccess.html#ae33a0403408df984ad0999eb9a33db30\": [13, 0, 0, 49, 15],\n+ \"classpqxx_1_1largeobjectaccess.html#ae33a0403408df984ad0999eb9a33db30\": [12, 0, 0, 50, 15],\n \"classpqxx_1_1largeobjectaccess.html#ae74922e23584d6410cf37f89f10c1a53\": [12, 0, 0, 50, 20],\n \"classpqxx_1_1largeobjectaccess.html#ae74922e23584d6410cf37f89f10c1a53\": [13, 0, 0, 49, 20],\n- \"classpqxx_1_1largeobjectaccess.html#af210c3d0b39442a5ce9b3b1508d96c84\": [12, 0, 0, 50, 10],\n \"classpqxx_1_1largeobjectaccess.html#af210c3d0b39442a5ce9b3b1508d96c84\": [13, 0, 0, 49, 10],\n- \"classpqxx_1_1notification__receiver.html\": [12, 0, 0, 55],\n+ \"classpqxx_1_1largeobjectaccess.html#af210c3d0b39442a5ce9b3b1508d96c84\": [12, 0, 0, 50, 10],\n \"classpqxx_1_1notification__receiver.html\": [13, 0, 0, 54],\n- \"classpqxx_1_1notification__receiver.html#a44ffe1ed8ec8020f4106ef8427e09d17\": [12, 0, 0, 55, 1],\n+ \"classpqxx_1_1notification__receiver.html\": [12, 0, 0, 55],\n \"classpqxx_1_1notification__receiver.html#a44ffe1ed8ec8020f4106ef8427e09d17\": [13, 0, 0, 54, 1],\n+ \"classpqxx_1_1notification__receiver.html#a44ffe1ed8ec8020f4106ef8427e09d17\": [12, 0, 0, 55, 1],\n \"classpqxx_1_1notification__receiver.html#a57732bae437844782bdfe6314f829d9a\": [12, 0, 0, 55, 3],\n \"classpqxx_1_1notification__receiver.html#a57732bae437844782bdfe6314f829d9a\": [13, 0, 0, 54, 3],\n- \"classpqxx_1_1notification__receiver.html#ab28ec64678ada8dcc4868317b895e3c0\": [13, 0, 0, 54, 0],\n \"classpqxx_1_1notification__receiver.html#ab28ec64678ada8dcc4868317b895e3c0\": [12, 0, 0, 55, 0],\n+ \"classpqxx_1_1notification__receiver.html#ab28ec64678ada8dcc4868317b895e3c0\": [13, 0, 0, 54, 0],\n \"classpqxx_1_1notification__receiver.html#abb6fd7dd38319fc35e354e23d7f337d0\": [12, 0, 0, 55, 4],\n \"classpqxx_1_1notification__receiver.html#abb6fd7dd38319fc35e354e23d7f337d0\": [13, 0, 0, 54, 4],\n- \"classpqxx_1_1notification__receiver.html#ae4ed572d3a137b331d363bae82f4ce9b\": [12, 0, 0, 55, 2],\n \"classpqxx_1_1notification__receiver.html#ae4ed572d3a137b331d363bae82f4ce9b\": [13, 0, 0, 54, 2],\n- \"classpqxx_1_1notification__receiver.html#afcf701e264edd9a14513765f542b446d\": [12, 0, 0, 55, 5],\n+ \"classpqxx_1_1notification__receiver.html#ae4ed572d3a137b331d363bae82f4ce9b\": [12, 0, 0, 55, 2],\n \"classpqxx_1_1notification__receiver.html#afcf701e264edd9a14513765f542b446d\": [13, 0, 0, 54, 5],\n- \"classpqxx_1_1params.html\": [12, 0, 0, 80],\n+ \"classpqxx_1_1notification__receiver.html#afcf701e264edd9a14513765f542b446d\": [12, 0, 0, 55, 5],\n \"classpqxx_1_1params.html\": [13, 0, 0, 79],\n+ \"classpqxx_1_1params.html\": [12, 0, 0, 80],\n \"classpqxx_1_1params.html#a04a926a0572022f84777b11db9f8262c\": [12, 0, 0, 80, 3],\n \"classpqxx_1_1params.html#a04a926a0572022f84777b11db9f8262c\": [13, 0, 0, 79, 3],\n \"classpqxx_1_1params.html#a1060238be2437028e837ec785594a9ad\": [13, 0, 0, 79, 10],\n \"classpqxx_1_1params.html#a1060238be2437028e837ec785594a9ad\": [12, 0, 0, 80, 10],\n \"classpqxx_1_1params.html#a1a3ca8939fbeec4db4f7d69c8014a937\": [13, 0, 0, 79, 14],\n \"classpqxx_1_1params.html#a1a3ca8939fbeec4db4f7d69c8014a937\": [12, 0, 0, 80, 14],\n- \"classpqxx_1_1params.html#a43ca3b56e662cc3e04b6608e0b6c8545\": [12, 0, 0, 80, 11],\n \"classpqxx_1_1params.html#a43ca3b56e662cc3e04b6608e0b6c8545\": [13, 0, 0, 79, 11],\n+ \"classpqxx_1_1params.html#a43ca3b56e662cc3e04b6608e0b6c8545\": [12, 0, 0, 80, 11],\n \"classpqxx_1_1params.html#a60b0a2f320c12b241e429865faf5bfdf\": [13, 0, 0, 79, 4],\n \"classpqxx_1_1params.html#a60b0a2f320c12b241e429865faf5bfdf\": [12, 0, 0, 80, 4],\n- \"classpqxx_1_1params.html#a6ecf59a6ac483fe23e051ae654abc2b0\": [12, 0, 0, 80, 12],\n \"classpqxx_1_1params.html#a6ecf59a6ac483fe23e051ae654abc2b0\": [13, 0, 0, 79, 12],\n- \"classpqxx_1_1params.html#a805a7f2126cb791e99a0a0d72f419739\": [13, 0, 0, 79, 8],\n+ \"classpqxx_1_1params.html#a6ecf59a6ac483fe23e051ae654abc2b0\": [12, 0, 0, 80, 12],\n \"classpqxx_1_1params.html#a805a7f2126cb791e99a0a0d72f419739\": [12, 0, 0, 80, 8],\n- \"classpqxx_1_1params.html#a9076185bec59cb6631e15d64895cc163\": [13, 0, 0, 79, 9],\n+ \"classpqxx_1_1params.html#a805a7f2126cb791e99a0a0d72f419739\": [13, 0, 0, 79, 8],\n \"classpqxx_1_1params.html#a9076185bec59cb6631e15d64895cc163\": [12, 0, 0, 80, 9],\n- \"classpqxx_1_1params.html#a92316e93554654d7a0cc9a2aa771a005\": [12, 0, 0, 80, 5],\n+ \"classpqxx_1_1params.html#a9076185bec59cb6631e15d64895cc163\": [13, 0, 0, 79, 9],\n \"classpqxx_1_1params.html#a92316e93554654d7a0cc9a2aa771a005\": [13, 0, 0, 79, 5],\n- \"classpqxx_1_1params.html#a92ab73003a8b8b022e803c06b1add2ff\": [13, 0, 0, 79, 7],\n+ \"classpqxx_1_1params.html#a92316e93554654d7a0cc9a2aa771a005\": [12, 0, 0, 80, 5],\n \"classpqxx_1_1params.html#a92ab73003a8b8b022e803c06b1add2ff\": [12, 0, 0, 80, 7],\n- \"classpqxx_1_1params.html#aae93362be81c11016b85d15f61a66db2\": [13, 0, 0, 79, 2],\n+ \"classpqxx_1_1params.html#a92ab73003a8b8b022e803c06b1add2ff\": [13, 0, 0, 79, 7],\n \"classpqxx_1_1params.html#aae93362be81c11016b85d15f61a66db2\": [12, 0, 0, 80, 2],\n- \"classpqxx_1_1params.html#ab23b2a3b2a58bfd03fca36022ebce8b4\": [12, 0, 0, 80, 15],\n+ \"classpqxx_1_1params.html#aae93362be81c11016b85d15f61a66db2\": [13, 0, 0, 79, 2],\n \"classpqxx_1_1params.html#ab23b2a3b2a58bfd03fca36022ebce8b4\": [13, 0, 0, 79, 15],\n+ \"classpqxx_1_1params.html#ab23b2a3b2a58bfd03fca36022ebce8b4\": [12, 0, 0, 80, 15],\n \"classpqxx_1_1params.html#ab98e56ae60004ff9726f23f64e2d0ffa\": [13, 0, 0, 79, 6],\n \"classpqxx_1_1params.html#ab98e56ae60004ff9726f23f64e2d0ffa\": [12, 0, 0, 80, 6],\n- \"classpqxx_1_1params.html#ad15fdabb428bc93cdb0a6c4354a9069c\": [12, 0, 0, 80, 0],\n \"classpqxx_1_1params.html#ad15fdabb428bc93cdb0a6c4354a9069c\": [13, 0, 0, 79, 0],\n- \"classpqxx_1_1params.html#ae53445f42f2698b93ba7860264ccea2e\": [12, 0, 0, 80, 1],\n+ \"classpqxx_1_1params.html#ad15fdabb428bc93cdb0a6c4354a9069c\": [12, 0, 0, 80, 0],\n \"classpqxx_1_1params.html#ae53445f42f2698b93ba7860264ccea2e\": [13, 0, 0, 79, 1],\n+ \"classpqxx_1_1params.html#ae53445f42f2698b93ba7860264ccea2e\": [12, 0, 0, 80, 1],\n \"classpqxx_1_1params.html#af736445f5bb035a646ed84f8843c91e4\": [13, 0, 0, 79, 13],\n \"classpqxx_1_1params.html#af736445f5bb035a646ed84f8843c91e4\": [12, 0, 0, 80, 13],\n- \"classpqxx_1_1pipeline.html\": [13, 0, 0, 80],\n \"classpqxx_1_1pipeline.html\": [12, 0, 0, 81],\n+ \"classpqxx_1_1pipeline.html\": [13, 0, 0, 80],\n \"classpqxx_1_1pipeline.html#a06667e2e73b597586e61cae8533a2874\": [12, 0, 0, 81, 9],\n \"classpqxx_1_1pipeline.html#a06667e2e73b597586e61cae8533a2874\": [13, 0, 0, 80, 9],\n \"classpqxx_1_1pipeline.html#a0c80a5e68052b2c35089e384e3c842ce\": [13, 0, 0, 80, 1],\n \"classpqxx_1_1pipeline.html#a0c80a5e68052b2c35089e384e3c842ce\": [12, 0, 0, 81, 1],\n- \"classpqxx_1_1pipeline.html#a19c508710d0025993e41512f23de56be\": [12, 0, 0, 81, 12],\n \"classpqxx_1_1pipeline.html#a19c508710d0025993e41512f23de56be\": [13, 0, 0, 80, 12],\n- \"classpqxx_1_1pipeline.html#a33a890c64efc37d76f3c649f145ff950\": [13, 0, 0, 80, 6],\n+ \"classpqxx_1_1pipeline.html#a19c508710d0025993e41512f23de56be\": [12, 0, 0, 81, 12],\n \"classpqxx_1_1pipeline.html#a33a890c64efc37d76f3c649f145ff950\": [12, 0, 0, 81, 6],\n- \"classpqxx_1_1pipeline.html#a5de968e394d7d9b68cfd84f9ae93f5bb\": [12, 0, 0, 81, 10],\n+ \"classpqxx_1_1pipeline.html#a33a890c64efc37d76f3c649f145ff950\": [13, 0, 0, 80, 6],\n \"classpqxx_1_1pipeline.html#a5de968e394d7d9b68cfd84f9ae93f5bb\": [13, 0, 0, 80, 10],\n- \"classpqxx_1_1pipeline.html#a5f8dfe951c18c19f24dd2e7a30ef276d\": [12, 0, 0, 81, 11],\n+ \"classpqxx_1_1pipeline.html#a5de968e394d7d9b68cfd84f9ae93f5bb\": [12, 0, 0, 81, 10],\n \"classpqxx_1_1pipeline.html#a5f8dfe951c18c19f24dd2e7a30ef276d\": [13, 0, 0, 80, 11],\n+ \"classpqxx_1_1pipeline.html#a5f8dfe951c18c19f24dd2e7a30ef276d\": [12, 0, 0, 81, 11],\n \"classpqxx_1_1pipeline.html#a7808218284e98bb5dffaf110defd1b33\": [12, 0, 0, 81, 5],\n \"classpqxx_1_1pipeline.html#a7808218284e98bb5dffaf110defd1b33\": [13, 0, 0, 80, 5],\n \"classpqxx_1_1pipeline.html#a808f4fc39c77e490171d54a5554b337d\": [12, 0, 0, 81, 7],\n \"classpqxx_1_1pipeline.html#a808f4fc39c77e490171d54a5554b337d\": [13, 0, 0, 80, 7],\n \"classpqxx_1_1pipeline.html#a92463b4b599f681a372016d5dbbe016d\": [13, 0, 0, 80, 2],\n \"classpqxx_1_1pipeline.html#a92463b4b599f681a372016d5dbbe016d\": [12, 0, 0, 81, 2],\n- \"classpqxx_1_1pipeline.html#ab375b0b4e02c7f1a48602c4186fbbbd7\": [12, 0, 0, 81, 4],\n \"classpqxx_1_1pipeline.html#ab375b0b4e02c7f1a48602c4186fbbbd7\": [13, 0, 0, 80, 4],\n+ \"classpqxx_1_1pipeline.html#ab375b0b4e02c7f1a48602c4186fbbbd7\": [12, 0, 0, 81, 4],\n \"classpqxx_1_1pipeline.html#ab856bb6e63a3b50a2cead9b730acc79f\": [13, 0, 0, 80, 3],\n \"classpqxx_1_1pipeline.html#ab856bb6e63a3b50a2cead9b730acc79f\": [12, 0, 0, 81, 3],\n- \"classpqxx_1_1pipeline.html#adb318eea9147fb82d67c43a430722283\": [12, 0, 0, 81, 8],\n \"classpqxx_1_1pipeline.html#adb318eea9147fb82d67c43a430722283\": [13, 0, 0, 80, 8],\n- \"classpqxx_1_1pipeline.html#af21cf61fd1c13a6729f48a241cbeba37\": [12, 0, 0, 81, 0],\n+ \"classpqxx_1_1pipeline.html#adb318eea9147fb82d67c43a430722283\": [12, 0, 0, 81, 8],\n \"classpqxx_1_1pipeline.html#af21cf61fd1c13a6729f48a241cbeba37\": [13, 0, 0, 80, 0],\n- \"classpqxx_1_1placeholders.html\": [12, 0, 0, 82],\n+ \"classpqxx_1_1pipeline.html#af21cf61fd1c13a6729f48a241cbeba37\": [12, 0, 0, 81, 0],\n \"classpqxx_1_1placeholders.html\": [13, 0, 0, 81],\n- \"classpqxx_1_1placeholders.html#a254b9519ce26aee58826afcd4dadb778\": [12, 0, 0, 82, 0],\n+ \"classpqxx_1_1placeholders.html\": [12, 0, 0, 82],\n \"classpqxx_1_1placeholders.html#a254b9519ce26aee58826afcd4dadb778\": [13, 0, 0, 81, 0],\n- \"classpqxx_1_1placeholders.html#a4bdc5f0c544e544a62af6d2fc2309c58\": [12, 0, 0, 82, 1],\n+ \"classpqxx_1_1placeholders.html#a254b9519ce26aee58826afcd4dadb778\": [12, 0, 0, 82, 0],\n \"classpqxx_1_1placeholders.html#a4bdc5f0c544e544a62af6d2fc2309c58\": [13, 0, 0, 81, 1],\n+ \"classpqxx_1_1placeholders.html#a4bdc5f0c544e544a62af6d2fc2309c58\": [12, 0, 0, 82, 1],\n \"classpqxx_1_1placeholders.html#a92d006575732b3ead81cbaf4892197ae\": [12, 0, 0, 82, 3],\n \"classpqxx_1_1placeholders.html#a92d006575732b3ead81cbaf4892197ae\": [13, 0, 0, 81, 3],\n \"classpqxx_1_1placeholders.html#aef09cd2fcb858917f33752a85e063bde\": [12, 0, 0, 82, 2],\n \"classpqxx_1_1placeholders.html#aef09cd2fcb858917f33752a85e063bde\": [13, 0, 0, 81, 2],\n- \"classpqxx_1_1quiet__errorhandler.html\": [13, 0, 0, 87],\n \"classpqxx_1_1quiet__errorhandler.html\": [12, 0, 0, 88],\n- \"classpqxx_1_1quiet__errorhandler.html#a051f8a9a1019974daffc47c75addc46e\": [13, 0, 0, 87, 1],\n+ \"classpqxx_1_1quiet__errorhandler.html\": [13, 0, 0, 87],\n \"classpqxx_1_1quiet__errorhandler.html#a051f8a9a1019974daffc47c75addc46e\": [12, 0, 0, 88, 1],\n- \"classpqxx_1_1quiet__errorhandler.html#a0cbea9b3c07e0bc115df209d34aa762d\": [13, 0, 0, 87, 0],\n+ \"classpqxx_1_1quiet__errorhandler.html#a051f8a9a1019974daffc47c75addc46e\": [13, 0, 0, 87, 1],\n \"classpqxx_1_1quiet__errorhandler.html#a0cbea9b3c07e0bc115df209d34aa762d\": [12, 0, 0, 88, 0],\n+ \"classpqxx_1_1quiet__errorhandler.html#a0cbea9b3c07e0bc115df209d34aa762d\": [13, 0, 0, 87, 0],\n \"classpqxx_1_1range.html\": [12, 0, 0, 89],\n \"classpqxx_1_1range.html\": [13, 0, 0, 88],\n- \"classpqxx_1_1range.html#a2e0b08f5564191f8c0bdc9fbdb273d62\": [12, 0, 0, 89, 6],\n \"classpqxx_1_1range.html#a2e0b08f5564191f8c0bdc9fbdb273d62\": [13, 0, 0, 88, 6],\n- \"classpqxx_1_1range.html#a2fa03d4ad40c545610bdc382e2aff187\": [13, 0, 0, 88, 3],\n+ \"classpqxx_1_1range.html#a2e0b08f5564191f8c0bdc9fbdb273d62\": [12, 0, 0, 89, 6],\n \"classpqxx_1_1range.html#a2fa03d4ad40c545610bdc382e2aff187\": [12, 0, 0, 89, 3],\n- \"classpqxx_1_1range.html#a3f5071556ce9c0b77e6e4a006b6c51fe\": [13, 0, 0, 88, 2],\n+ \"classpqxx_1_1range.html#a2fa03d4ad40c545610bdc382e2aff187\": [13, 0, 0, 88, 3],\n \"classpqxx_1_1range.html#a3f5071556ce9c0b77e6e4a006b6c51fe\": [12, 0, 0, 89, 2],\n- \"classpqxx_1_1range.html#a61aebbd9da9a64135c92d8464e41e09c\": [12, 0, 0, 89, 0],\n+ \"classpqxx_1_1range.html#a3f5071556ce9c0b77e6e4a006b6c51fe\": [13, 0, 0, 88, 2],\n \"classpqxx_1_1range.html#a61aebbd9da9a64135c92d8464e41e09c\": [13, 0, 0, 88, 0],\n- \"classpqxx_1_1range.html#a9fd52675604651358ccc941bcf0c63fc\": [12, 0, 0, 89, 5],\n+ \"classpqxx_1_1range.html#a61aebbd9da9a64135c92d8464e41e09c\": [12, 0, 0, 89, 0],\n \"classpqxx_1_1range.html#a9fd52675604651358ccc941bcf0c63fc\": [13, 0, 0, 88, 5],\n+ \"classpqxx_1_1range.html#a9fd52675604651358ccc941bcf0c63fc\": [12, 0, 0, 89, 5],\n \"classpqxx_1_1range.html#ac91cd0e74ae28042d8f887107f0aef76\": [12, 0, 0, 89, 4],\n \"classpqxx_1_1range.html#ac91cd0e74ae28042d8f887107f0aef76\": [13, 0, 0, 88, 4],\n- \"classpqxx_1_1range.html#af8bf753edbe8b8473a861ffa02af4b9b\": [13, 0, 0, 88, 1],\n \"classpqxx_1_1range.html#af8bf753edbe8b8473a861ffa02af4b9b\": [12, 0, 0, 89, 1],\n- \"classpqxx_1_1range__bound.html\": [12, 0, 0, 90],\n+ \"classpqxx_1_1range.html#af8bf753edbe8b8473a861ffa02af4b9b\": [13, 0, 0, 88, 1],\n \"classpqxx_1_1range__bound.html\": [13, 0, 0, 89],\n+ \"classpqxx_1_1range__bound.html\": [12, 0, 0, 90],\n \"classpqxx_1_1range__bound.html#a0854916d7bbd20f2018a6a88f6852a91\": [12, 0, 0, 90, 1],\n \"classpqxx_1_1range__bound.html#a0854916d7bbd20f2018a6a88f6852a91\": [13, 0, 0, 89, 1],\n \"classpqxx_1_1range__bound.html#a5e36faad60586213187bbe1735f00c5b\": [13, 0, 0, 89, 2],\n \"classpqxx_1_1range__bound.html#a5e36faad60586213187bbe1735f00c5b\": [12, 0, 0, 90, 2],\n \"classpqxx_1_1range__bound.html#a62434321bfbc5f66bf3921ea2fb31274\": [13, 0, 0, 89, 4],\n \"classpqxx_1_1range__bound.html#a62434321bfbc5f66bf3921ea2fb31274\": [12, 0, 0, 90, 4],\n- \"classpqxx_1_1range__bound.html#a76d25b17ed6af78070b888f5effe70ba\": [12, 0, 0, 90, 5],\n \"classpqxx_1_1range__bound.html#a76d25b17ed6af78070b888f5effe70ba\": [13, 0, 0, 89, 5],\n+ \"classpqxx_1_1range__bound.html#a76d25b17ed6af78070b888f5effe70ba\": [12, 0, 0, 90, 5],\n \"classpqxx_1_1range__bound.html#a806f0f1a87561914eaf445e5159d891a\": [12, 0, 0, 90, 0],\n \"classpqxx_1_1range__bound.html#a806f0f1a87561914eaf445e5159d891a\": [13, 0, 0, 89, 0],\n \"classpqxx_1_1range__bound.html#abe993384f178fe7ac1143e88a3dbcaeb\": [13, 0, 0, 89, 3],\n \"classpqxx_1_1range__bound.html#abe993384f178fe7ac1143e88a3dbcaeb\": [12, 0, 0, 90, 3],\n \"classpqxx_1_1result.html\": [13, 0, 0, 92],\n \"classpqxx_1_1result.html\": [12, 0, 0, 93],\n \"classpqxx_1_1result.html#a0144c5047e9e17cea00ca1c025a5ebcd\": [13, 0, 0, 92, 7],\n \"classpqxx_1_1result.html#a0144c5047e9e17cea00ca1c025a5ebcd\": [12, 0, 0, 93, 7],\n \"classpqxx_1_1result.html#a05854a0b68f2a8d3d2e93310ad51c639\": [13, 0, 0, 92, 12],\n \"classpqxx_1_1result.html#a05854a0b68f2a8d3d2e93310ad51c639\": [12, 0, 0, 93, 12],\n- \"classpqxx_1_1result.html#a22161b4bebb52ef85a51509302b5a8a9\": [13, 0, 0, 92, 24],\n \"classpqxx_1_1result.html#a22161b4bebb52ef85a51509302b5a8a9\": [12, 0, 0, 93, 24],\n+ \"classpqxx_1_1result.html#a22161b4bebb52ef85a51509302b5a8a9\": [13, 0, 0, 92, 24],\n \"classpqxx_1_1result.html#a399cde6713d4b415e229d67bfba4eccd\": [13, 0, 0, 92, 17],\n \"classpqxx_1_1result.html#a399cde6713d4b415e229d67bfba4eccd\": [12, 0, 0, 93, 17],\n- \"classpqxx_1_1result.html#a40cf4ed9f2a6ac1004bb79ea3ea8ba89\": [13, 0, 0, 92, 6],\n \"classpqxx_1_1result.html#a40cf4ed9f2a6ac1004bb79ea3ea8ba89\": [12, 0, 0, 93, 6],\n+ \"classpqxx_1_1result.html#a40cf4ed9f2a6ac1004bb79ea3ea8ba89\": [13, 0, 0, 92, 6],\n \"classpqxx_1_1result.html#a47fef290e0e6db165a4d73b52874fd1c\": [13, 0, 0, 92, 19],\n \"classpqxx_1_1result.html#a47fef290e0e6db165a4d73b52874fd1c\": [12, 0, 0, 93, 19],\n- \"classpqxx_1_1result.html#a4e047a3746e1e9f37efd0cedfc4a891b\": [13, 0, 0, 92, 16],\n \"classpqxx_1_1result.html#a4e047a3746e1e9f37efd0cedfc4a891b\": [12, 0, 0, 93, 16],\n+ \"classpqxx_1_1result.html#a4e047a3746e1e9f37efd0cedfc4a891b\": [13, 0, 0, 92, 16],\n \"classpqxx_1_1result.html#a501bfb79335ea4c51bc55f9c0aa6c75f\": [13, 0, 0, 92, 20],\n \"classpqxx_1_1result.html#a501bfb79335ea4c51bc55f9c0aa6c75f\": [12, 0, 0, 93, 20],\n- \"classpqxx_1_1result.html#a5094a7be5f02f0f4c641fbd5ccb1a4da\": [13, 0, 0, 92, 14],\n \"classpqxx_1_1result.html#a5094a7be5f02f0f4c641fbd5ccb1a4da\": [12, 0, 0, 93, 14],\n+ \"classpqxx_1_1result.html#a5094a7be5f02f0f4c641fbd5ccb1a4da\": [13, 0, 0, 92, 14],\n \"classpqxx_1_1result.html#a60340a6e20a3b018a296c2e42528198d\": [12, 0, 0, 93, 3],\n \"classpqxx_1_1result.html#a60340a6e20a3b018a296c2e42528198d\": [13, 0, 0, 92, 3],\n- \"classpqxx_1_1result.html#a62fb88e9b4832537309eae2a97a0805c\": [12, 0, 0, 93, 2],\n \"classpqxx_1_1result.html#a62fb88e9b4832537309eae2a97a0805c\": [13, 0, 0, 92, 2],\n- \"classpqxx_1_1result.html#a7752ffdad59cb03bb58cd3cb4d056ab6\": [13, 0, 0, 92, 1],\n+ \"classpqxx_1_1result.html#a62fb88e9b4832537309eae2a97a0805c\": [12, 0, 0, 93, 2],\n \"classpqxx_1_1result.html#a7752ffdad59cb03bb58cd3cb4d056ab6\": [12, 0, 0, 93, 1],\n- \"classpqxx_1_1result.html#a7d16111aa06ba636ea3e7b4d90c7465b\": [12, 0, 0, 93, 10],\n+ \"classpqxx_1_1result.html#a7752ffdad59cb03bb58cd3cb4d056ab6\": [13, 0, 0, 92, 1],\n \"classpqxx_1_1result.html#a7d16111aa06ba636ea3e7b4d90c7465b\": [13, 0, 0, 92, 10],\n- \"classpqxx_1_1result.html#a82b0f360dc1be25306ee58b27856457f\": [12, 0, 0, 93, 5],\n+ \"classpqxx_1_1result.html#a7d16111aa06ba636ea3e7b4d90c7465b\": [12, 0, 0, 93, 10],\n \"classpqxx_1_1result.html#a82b0f360dc1be25306ee58b27856457f\": [13, 0, 0, 92, 5],\n- \"classpqxx_1_1result.html#a863d43ecc8773aac3a6204be4c37fb6d\": [13, 0, 0, 92, 9],\n+ \"classpqxx_1_1result.html#a82b0f360dc1be25306ee58b27856457f\": [12, 0, 0, 93, 5],\n \"classpqxx_1_1result.html#a863d43ecc8773aac3a6204be4c37fb6d\": [12, 0, 0, 93, 9],\n+ \"classpqxx_1_1result.html#a863d43ecc8773aac3a6204be4c37fb6d\": [13, 0, 0, 92, 9],\n \"classpqxx_1_1result.html#a9302f9b61826f8b7b213f13b30453c0b\": [13, 0, 0, 92, 13],\n \"classpqxx_1_1result.html#a9302f9b61826f8b7b213f13b30453c0b\": [12, 0, 0, 93, 13],\n \"classpqxx_1_1result.html#a9d28f84628b9e8a8fecf7849f31bf1a0\": [12, 0, 0, 93, 21],\n \"classpqxx_1_1result.html#a9d28f84628b9e8a8fecf7849f31bf1a0\": [13, 0, 0, 92, 21],\n \"classpqxx_1_1result.html#ad0f48c5bc316a6402153c743168d9819\": [12, 0, 0, 93, 8],\n \"classpqxx_1_1result.html#ad0f48c5bc316a6402153c743168d9819\": [13, 0, 0, 92, 8],\n \"classpqxx_1_1result.html#ad1d929a8c555ef0e4e84d4dbcf56c05e\": [12, 0, 0, 93, 22],\n \"classpqxx_1_1result.html#ad1d929a8c555ef0e4e84d4dbcf56c05e\": [13, 0, 0, 92, 22],\n- \"classpqxx_1_1result.html#ada6d82fe35f72cb45623fba4f8066279\": [13, 0, 0, 92, 18],\n \"classpqxx_1_1result.html#ada6d82fe35f72cb45623fba4f8066279\": [12, 0, 0, 93, 18],\n+ \"classpqxx_1_1result.html#ada6d82fe35f72cb45623fba4f8066279\": [13, 0, 0, 92, 18],\n \"classpqxx_1_1result.html#ade8cdc5728f64d00f45073b8d6264778\": [12, 0, 0, 93, 11],\n \"classpqxx_1_1result.html#ade8cdc5728f64d00f45073b8d6264778\": [13, 0, 0, 92, 11],\n- \"classpqxx_1_1result.html#ae65c4fb3934978bba367ab61811aabec\": [13, 0, 0, 92, 23],\n \"classpqxx_1_1result.html#ae65c4fb3934978bba367ab61811aabec\": [12, 0, 0, 93, 23],\n- \"classpqxx_1_1result.html#aeafa3e659d940f7e2b95d92b856e1261\": [12, 0, 0, 93, 4],\n+ \"classpqxx_1_1result.html#ae65c4fb3934978bba367ab61811aabec\": [13, 0, 0, 92, 23],\n \"classpqxx_1_1result.html#aeafa3e659d940f7e2b95d92b856e1261\": [13, 0, 0, 92, 4],\n- \"classpqxx_1_1result.html#af73d036566ef69618f8b22ba9a220a2e\": [13, 0, 0, 92, 0],\n+ \"classpqxx_1_1result.html#aeafa3e659d940f7e2b95d92b856e1261\": [12, 0, 0, 93, 4],\n \"classpqxx_1_1result.html#af73d036566ef69618f8b22ba9a220a2e\": [12, 0, 0, 93, 0],\n- \"classpqxx_1_1result.html#afb672c73ca193aaf2fc5ba4d5c8a96f8\": [12, 0, 0, 93, 15],\n+ \"classpqxx_1_1result.html#af73d036566ef69618f8b22ba9a220a2e\": [13, 0, 0, 92, 0],\n \"classpqxx_1_1result.html#afb672c73ca193aaf2fc5ba4d5c8a96f8\": [13, 0, 0, 92, 15],\n+ \"classpqxx_1_1result.html#afb672c73ca193aaf2fc5ba4d5c8a96f8\": [12, 0, 0, 93, 15],\n \"classpqxx_1_1row.html\": [12, 0, 0, 94],\n \"classpqxx_1_1row.html\": [13, 0, 0, 93],\n- \"classpqxx_1_1row.html#a05994def0b6c7b426bb13a7a95e9e035\": [12, 0, 0, 94, 11],\n \"classpqxx_1_1row.html#a05994def0b6c7b426bb13a7a95e9e035\": [13, 0, 0, 93, 11],\n- \"classpqxx_1_1row.html#a0a090abf27d652b8691fffba07fd3bd6\": [13, 0, 0, 93, 1],\n+ \"classpqxx_1_1row.html#a05994def0b6c7b426bb13a7a95e9e035\": [12, 0, 0, 94, 11],\n \"classpqxx_1_1row.html#a0a090abf27d652b8691fffba07fd3bd6\": [12, 0, 0, 94, 1],\n- \"classpqxx_1_1row.html#a0cc2133611f007e7390988f6110245c8\": [12, 0, 0, 94, 15],\n+ \"classpqxx_1_1row.html#a0a090abf27d652b8691fffba07fd3bd6\": [13, 0, 0, 93, 1],\n \"classpqxx_1_1row.html#a0cc2133611f007e7390988f6110245c8\": [13, 0, 0, 93, 15],\n+ \"classpqxx_1_1row.html#a0cc2133611f007e7390988f6110245c8\": [12, 0, 0, 94, 15],\n \"classpqxx_1_1row.html#a0ec7d11b9721ab7bb54ec5df113ab8f5\": [13, 0, 0, 93, 19],\n \"classpqxx_1_1row.html#a0ec7d11b9721ab7bb54ec5df113ab8f5\": [12, 0, 0, 94, 19],\n- \"classpqxx_1_1row.html#a20640aad643b5309242056662ca06f98\": [12, 0, 0, 94, 3],\n \"classpqxx_1_1row.html#a20640aad643b5309242056662ca06f98\": [13, 0, 0, 93, 3],\n+ \"classpqxx_1_1row.html#a20640aad643b5309242056662ca06f98\": [12, 0, 0, 94, 3],\n \"classpqxx_1_1row.html#a2cbbf217862683b5ce98bcd03e07d859\": [12, 0, 0, 94, 8],\n \"classpqxx_1_1row.html#a2cbbf217862683b5ce98bcd03e07d859\": [13, 0, 0, 93, 8],\n \"classpqxx_1_1row.html#a2dd6b180a8354569984d81120cb0d765\": [12, 0, 0, 94, 6],\n \"classpqxx_1_1row.html#a2dd6b180a8354569984d81120cb0d765\": [13, 0, 0, 93, 6],\n \"classpqxx_1_1row.html#a4195a594e4f11829637820cd89e39c7b\": [12, 0, 0, 94, 14],\n \"classpqxx_1_1row.html#a4195a594e4f11829637820cd89e39c7b\": [13, 0, 0, 93, 14],\n \"classpqxx_1_1row.html#a454cb5eda2dad962c8370e77b35d6341\": [13, 0, 0, 93, 9],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex3.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex3.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,126 +1,126 @@\n var NAVTREEINDEX3 = {\n- \"classpqxx_1_1row.html#a734e6042a829b78c4abef2cfd77d1025\": [13, 0, 0, 93, 0],\n \"classpqxx_1_1row.html#a734e6042a829b78c4abef2cfd77d1025\": [12, 0, 0, 94, 0],\n- \"classpqxx_1_1row.html#a7e8c1276fe6f0b7bb82d3d40b98e1633\": [12, 0, 0, 94, 5],\n+ \"classpqxx_1_1row.html#a734e6042a829b78c4abef2cfd77d1025\": [13, 0, 0, 93, 0],\n \"classpqxx_1_1row.html#a7e8c1276fe6f0b7bb82d3d40b98e1633\": [13, 0, 0, 93, 5],\n- \"classpqxx_1_1row.html#a83a21b69ee9c581fc449d24dc33d8e65\": [12, 0, 0, 94, 21],\n+ \"classpqxx_1_1row.html#a7e8c1276fe6f0b7bb82d3d40b98e1633\": [12, 0, 0, 94, 5],\n \"classpqxx_1_1row.html#a83a21b69ee9c581fc449d24dc33d8e65\": [13, 0, 0, 93, 21],\n- \"classpqxx_1_1row.html#a859f508b95f424531247427189a529ef\": [12, 0, 0, 94, 20],\n+ \"classpqxx_1_1row.html#a83a21b69ee9c581fc449d24dc33d8e65\": [12, 0, 0, 94, 21],\n \"classpqxx_1_1row.html#a859f508b95f424531247427189a529ef\": [13, 0, 0, 93, 20],\n+ \"classpqxx_1_1row.html#a859f508b95f424531247427189a529ef\": [12, 0, 0, 94, 20],\n \"classpqxx_1_1row.html#aadd30c2141060d954c16301e3711a02c\": [13, 0, 0, 93, 13],\n \"classpqxx_1_1row.html#aadd30c2141060d954c16301e3711a02c\": [12, 0, 0, 94, 13],\n- \"classpqxx_1_1row.html#ab687d68a5d610e08ab637c956fa8b134\": [12, 0, 0, 94, 2],\n \"classpqxx_1_1row.html#ab687d68a5d610e08ab637c956fa8b134\": [13, 0, 0, 93, 2],\n- \"classpqxx_1_1row.html#ac478a252d2bac75e1fe0d65fd99f9042\": [13, 0, 0, 93, 17],\n+ \"classpqxx_1_1row.html#ab687d68a5d610e08ab637c956fa8b134\": [12, 0, 0, 94, 2],\n \"classpqxx_1_1row.html#ac478a252d2bac75e1fe0d65fd99f9042\": [12, 0, 0, 94, 17],\n- \"classpqxx_1_1row.html#ad786992d33d385865dbae17980345704\": [13, 0, 0, 93, 4],\n+ \"classpqxx_1_1row.html#ac478a252d2bac75e1fe0d65fd99f9042\": [13, 0, 0, 93, 17],\n \"classpqxx_1_1row.html#ad786992d33d385865dbae17980345704\": [12, 0, 0, 94, 4],\n+ \"classpqxx_1_1row.html#ad786992d33d385865dbae17980345704\": [13, 0, 0, 93, 4],\n \"classpqxx_1_1row.html#add6bd3b28ccb8178a072e8d3d19b9616\": [12, 0, 0, 94, 16],\n \"classpqxx_1_1row.html#add6bd3b28ccb8178a072e8d3d19b9616\": [13, 0, 0, 93, 16],\n \"classpqxx_1_1row.html#aee26781d8c0000bdc1d80c1624b17c81\": [12, 0, 0, 94, 12],\n \"classpqxx_1_1row.html#aee26781d8c0000bdc1d80c1624b17c81\": [13, 0, 0, 93, 12],\n \"classpqxx_1_1row.html#af81dc44f173ab151bd052f339c10521f\": [12, 0, 0, 94, 10],\n \"classpqxx_1_1row.html#af81dc44f173ab151bd052f339c10521f\": [13, 0, 0, 93, 10],\n- \"classpqxx_1_1row.html#afa096ead6281d8bc4fab569f8bb7f70b\": [13, 0, 0, 93, 18],\n \"classpqxx_1_1row.html#afa096ead6281d8bc4fab569f8bb7f70b\": [12, 0, 0, 94, 18],\n+ \"classpqxx_1_1row.html#afa096ead6281d8bc4fab569f8bb7f70b\": [13, 0, 0, 93, 18],\n \"classpqxx_1_1row.html#afd145c4dc286f09a65e81b26ac43a565\": [13, 0, 0, 93, 7],\n \"classpqxx_1_1row.html#afd145c4dc286f09a65e81b26ac43a565\": [12, 0, 0, 94, 7],\n- \"classpqxx_1_1stateless__cursor.html\": [13, 0, 0, 96],\n \"classpqxx_1_1stateless__cursor.html\": [12, 0, 0, 97],\n- \"classpqxx_1_1stateless__cursor.html#a0be6e4435c96296ab1f91f4769235dae\": [12, 0, 0, 97, 3],\n+ \"classpqxx_1_1stateless__cursor.html\": [13, 0, 0, 96],\n \"classpqxx_1_1stateless__cursor.html#a0be6e4435c96296ab1f91f4769235dae\": [13, 0, 0, 96, 3],\n+ \"classpqxx_1_1stateless__cursor.html#a0be6e4435c96296ab1f91f4769235dae\": [12, 0, 0, 97, 3],\n \"classpqxx_1_1stateless__cursor.html#a333403f9410c09e299d87cc6f06738d0\": [13, 0, 0, 96, 2],\n \"classpqxx_1_1stateless__cursor.html#a333403f9410c09e299d87cc6f06738d0\": [12, 0, 0, 97, 2],\n- \"classpqxx_1_1stateless__cursor.html#a97046479f709ae621473c48ed7a0932d\": [12, 0, 0, 97, 4],\n \"classpqxx_1_1stateless__cursor.html#a97046479f709ae621473c48ed7a0932d\": [13, 0, 0, 96, 4],\n- \"classpqxx_1_1stateless__cursor.html#ad77d68832afb8572fd976fc816bec89a\": [13, 0, 0, 96, 0],\n+ \"classpqxx_1_1stateless__cursor.html#a97046479f709ae621473c48ed7a0932d\": [12, 0, 0, 97, 4],\n \"classpqxx_1_1stateless__cursor.html#ad77d68832afb8572fd976fc816bec89a\": [12, 0, 0, 97, 0],\n- \"classpqxx_1_1stateless__cursor.html#ae278f24bab98d3946061934a48992067\": [13, 0, 0, 96, 5],\n+ \"classpqxx_1_1stateless__cursor.html#ad77d68832afb8572fd976fc816bec89a\": [13, 0, 0, 96, 0],\n \"classpqxx_1_1stateless__cursor.html#ae278f24bab98d3946061934a48992067\": [12, 0, 0, 97, 5],\n- \"classpqxx_1_1stateless__cursor.html#afe5492d726a1765647985874d17f4149\": [12, 0, 0, 97, 1],\n+ \"classpqxx_1_1stateless__cursor.html#ae278f24bab98d3946061934a48992067\": [13, 0, 0, 96, 5],\n \"classpqxx_1_1stateless__cursor.html#afe5492d726a1765647985874d17f4149\": [13, 0, 0, 96, 1],\n+ \"classpqxx_1_1stateless__cursor.html#afe5492d726a1765647985874d17f4149\": [12, 0, 0, 97, 1],\n \"classpqxx_1_1stream__from.html\": [13, 0, 0, 98],\n \"classpqxx_1_1stream__from.html\": [12, 0, 0, 99],\n \"classpqxx_1_1stream__from.html#a049c94dcc710918f0b5c7416b638aefa\": [12, 0, 0, 99, 10],\n \"classpqxx_1_1stream__from.html#a049c94dcc710918f0b5c7416b638aefa\": [13, 0, 0, 98, 10],\n- \"classpqxx_1_1stream__from.html#a0ea468c0d02f2a2c9c2c7ff41dbece3c\": [12, 0, 0, 99, 12],\n \"classpqxx_1_1stream__from.html#a0ea468c0d02f2a2c9c2c7ff41dbece3c\": [13, 0, 0, 98, 12],\n+ \"classpqxx_1_1stream__from.html#a0ea468c0d02f2a2c9c2c7ff41dbece3c\": [12, 0, 0, 99, 12],\n \"classpqxx_1_1stream__from.html#a0f32402331d7f2b8ed73419f1eed22ba\": [13, 0, 0, 98, 2],\n \"classpqxx_1_1stream__from.html#a0f32402331d7f2b8ed73419f1eed22ba\": [12, 0, 0, 99, 2],\n \"classpqxx_1_1stream__from.html#a11a6e30a28260f10fa9bfbd6f7ea36c4\": [13, 0, 0, 98, 0],\n \"classpqxx_1_1stream__from.html#a11a6e30a28260f10fa9bfbd6f7ea36c4\": [12, 0, 0, 99, 0],\n \"classpqxx_1_1stream__from.html#a3694734ee04887d48fa799ab717787dd\": [13, 0, 0, 98, 13],\n \"classpqxx_1_1stream__from.html#a3694734ee04887d48fa799ab717787dd\": [12, 0, 0, 99, 13],\n- \"classpqxx_1_1stream__from.html#a38b17b7198ed153d01e42d5873cdf070\": [12, 0, 0, 99, 5],\n \"classpqxx_1_1stream__from.html#a38b17b7198ed153d01e42d5873cdf070\": [13, 0, 0, 98, 5],\n- \"classpqxx_1_1stream__from.html#a3c4cd42c50e3e90282ea5570ddb19e70\": [13, 0, 0, 98, 1],\n+ \"classpqxx_1_1stream__from.html#a38b17b7198ed153d01e42d5873cdf070\": [12, 0, 0, 99, 5],\n \"classpqxx_1_1stream__from.html#a3c4cd42c50e3e90282ea5570ddb19e70\": [12, 0, 0, 99, 1],\n- \"classpqxx_1_1stream__from.html#a4720bea2f8cbff6d5e1d37f22dbc8a6d\": [13, 0, 0, 98, 7],\n+ \"classpqxx_1_1stream__from.html#a3c4cd42c50e3e90282ea5570ddb19e70\": [13, 0, 0, 98, 1],\n \"classpqxx_1_1stream__from.html#a4720bea2f8cbff6d5e1d37f22dbc8a6d\": [12, 0, 0, 99, 7],\n- \"classpqxx_1_1stream__from.html#a6afe5f8cdb8f158b46fa9c616c7864bf\": [13, 0, 0, 98, 6],\n+ \"classpqxx_1_1stream__from.html#a4720bea2f8cbff6d5e1d37f22dbc8a6d\": [13, 0, 0, 98, 7],\n \"classpqxx_1_1stream__from.html#a6afe5f8cdb8f158b46fa9c616c7864bf\": [12, 0, 0, 99, 6],\n- \"classpqxx_1_1stream__from.html#a6ce910e623631b49df45fff857d54d15\": [13, 0, 0, 98, 8],\n+ \"classpqxx_1_1stream__from.html#a6afe5f8cdb8f158b46fa9c616c7864bf\": [13, 0, 0, 98, 6],\n \"classpqxx_1_1stream__from.html#a6ce910e623631b49df45fff857d54d15\": [12, 0, 0, 99, 8],\n- \"classpqxx_1_1stream__from.html#a832fe2b217cf7e1a5496d35f75dcd15c\": [13, 0, 0, 98, 3],\n+ \"classpqxx_1_1stream__from.html#a6ce910e623631b49df45fff857d54d15\": [13, 0, 0, 98, 8],\n \"classpqxx_1_1stream__from.html#a832fe2b217cf7e1a5496d35f75dcd15c\": [12, 0, 0, 99, 3],\n+ \"classpqxx_1_1stream__from.html#a832fe2b217cf7e1a5496d35f75dcd15c\": [13, 0, 0, 98, 3],\n \"classpqxx_1_1stream__from.html#abcfe96b18d9e2c4177799248fe143807\": [13, 0, 0, 98, 4],\n \"classpqxx_1_1stream__from.html#abcfe96b18d9e2c4177799248fe143807\": [12, 0, 0, 99, 4],\n- \"classpqxx_1_1stream__from.html#acb595a8190351f2a8b594518351c40f3\": [13, 0, 0, 98, 9],\n \"classpqxx_1_1stream__from.html#acb595a8190351f2a8b594518351c40f3\": [12, 0, 0, 99, 9],\n+ \"classpqxx_1_1stream__from.html#acb595a8190351f2a8b594518351c40f3\": [13, 0, 0, 98, 9],\n \"classpqxx_1_1stream__from.html#aee20a5dfaefcf142ee64d5777ebaa744\": [13, 0, 0, 98, 14],\n \"classpqxx_1_1stream__from.html#aee20a5dfaefcf142ee64d5777ebaa744\": [12, 0, 0, 99, 14],\n \"classpqxx_1_1stream__from.html#afdb9ffc4e6baa48bd6f2169cba7020d0\": [12, 0, 0, 99, 11],\n \"classpqxx_1_1stream__from.html#afdb9ffc4e6baa48bd6f2169cba7020d0\": [13, 0, 0, 98, 11],\n \"classpqxx_1_1stream__to.html\": [13, 0, 0, 100],\n \"classpqxx_1_1stream__to.html\": [12, 0, 0, 101],\n \"classpqxx_1_1stream__to.html#a12b525e57012cb5c2ba3481c959af914\": [13, 0, 0, 100, 5],\n \"classpqxx_1_1stream__to.html#a12b525e57012cb5c2ba3481c959af914\": [12, 0, 0, 101, 5],\n \"classpqxx_1_1stream__to.html#a3491f56118589adff7b7fc214689ad67\": [12, 0, 0, 101, 1],\n \"classpqxx_1_1stream__to.html#a3491f56118589adff7b7fc214689ad67\": [13, 0, 0, 100, 1],\n \"classpqxx_1_1stream__to.html#a41ffa59e4f36803f1e9473ed83b3c41d\": [12, 0, 0, 101, 9],\n \"classpqxx_1_1stream__to.html#a41ffa59e4f36803f1e9473ed83b3c41d\": [13, 0, 0, 100, 9],\n- \"classpqxx_1_1stream__to.html#a46f5520a97cc4eecbc75e4fbbfc2e9e3\": [13, 0, 0, 100, 4],\n \"classpqxx_1_1stream__to.html#a46f5520a97cc4eecbc75e4fbbfc2e9e3\": [12, 0, 0, 101, 4],\n- \"classpqxx_1_1stream__to.html#a6284b8a32d0841436e1761b449287788\": [13, 0, 0, 100, 3],\n+ \"classpqxx_1_1stream__to.html#a46f5520a97cc4eecbc75e4fbbfc2e9e3\": [13, 0, 0, 100, 4],\n \"classpqxx_1_1stream__to.html#a6284b8a32d0841436e1761b449287788\": [12, 0, 0, 101, 3],\n- \"classpqxx_1_1stream__to.html#a726187a18a93a4c5cc2343bcb9e97da8\": [12, 0, 0, 101, 0],\n+ \"classpqxx_1_1stream__to.html#a6284b8a32d0841436e1761b449287788\": [13, 0, 0, 100, 3],\n \"classpqxx_1_1stream__to.html#a726187a18a93a4c5cc2343bcb9e97da8\": [13, 0, 0, 100, 0],\n- \"classpqxx_1_1stream__to.html#aa42e3e2ce5942b5d106356fe196a00a0\": [13, 0, 0, 100, 7],\n+ \"classpqxx_1_1stream__to.html#a726187a18a93a4c5cc2343bcb9e97da8\": [12, 0, 0, 101, 0],\n \"classpqxx_1_1stream__to.html#aa42e3e2ce5942b5d106356fe196a00a0\": [12, 0, 0, 101, 7],\n- \"classpqxx_1_1stream__to.html#ac25d66567d17ddd648abe02c4583d981\": [13, 0, 0, 100, 6],\n+ \"classpqxx_1_1stream__to.html#aa42e3e2ce5942b5d106356fe196a00a0\": [13, 0, 0, 100, 7],\n \"classpqxx_1_1stream__to.html#ac25d66567d17ddd648abe02c4583d981\": [12, 0, 0, 101, 6],\n- \"classpqxx_1_1stream__to.html#ae628c71679b4ec6ebb4378b487e4f543\": [13, 0, 0, 100, 8],\n+ \"classpqxx_1_1stream__to.html#ac25d66567d17ddd648abe02c4583d981\": [13, 0, 0, 100, 6],\n \"classpqxx_1_1stream__to.html#ae628c71679b4ec6ebb4378b487e4f543\": [12, 0, 0, 101, 8],\n- \"classpqxx_1_1stream__to.html#af7d4df107f7c1db0bff89a61ae5df7a3\": [12, 0, 0, 101, 2],\n+ \"classpqxx_1_1stream__to.html#ae628c71679b4ec6ebb4378b487e4f543\": [13, 0, 0, 100, 8],\n \"classpqxx_1_1stream__to.html#af7d4df107f7c1db0bff89a61ae5df7a3\": [13, 0, 0, 100, 2],\n- \"classpqxx_1_1transaction__focus.html\": [13, 0, 0, 144],\n+ \"classpqxx_1_1stream__to.html#af7d4df107f7c1db0bff89a61ae5df7a3\": [12, 0, 0, 101, 2],\n \"classpqxx_1_1transaction__focus.html\": [12, 0, 0, 145],\n+ \"classpqxx_1_1transaction__focus.html\": [13, 0, 0, 144],\n \"classpqxx_1_1transaction__focus.html#a4ccffff2688e9e7757acc385be1d781c\": [12, 0, 0, 145, 1],\n \"classpqxx_1_1transaction__focus.html#a4ccffff2688e9e7757acc385be1d781c\": [13, 0, 0, 144, 1],\n- \"classpqxx_1_1transaction__focus.html#a4f6084553fd1dfe95cc5432675bf9395\": [12, 0, 0, 145, 0],\n \"classpqxx_1_1transaction__focus.html#a4f6084553fd1dfe95cc5432675bf9395\": [13, 0, 0, 144, 0],\n+ \"classpqxx_1_1transaction__focus.html#a4f6084553fd1dfe95cc5432675bf9395\": [12, 0, 0, 145, 0],\n \"classpqxx_1_1zview.html\": [12, 0, 0, 155],\n \"classpqxx_1_1zview.html\": [13, 0, 0, 154],\n- \"classpqxx_1_1zview.html#a19fb305262e043452bd898774d6c277f\": [12, 0, 0, 155, 6],\n \"classpqxx_1_1zview.html#a19fb305262e043452bd898774d6c277f\": [13, 0, 0, 154, 6],\n- \"classpqxx_1_1zview.html#a3306a96bedcda83725687e6e9757b586\": [12, 0, 0, 155, 7],\n+ \"classpqxx_1_1zview.html#a19fb305262e043452bd898774d6c277f\": [12, 0, 0, 155, 6],\n \"classpqxx_1_1zview.html#a3306a96bedcda83725687e6e9757b586\": [13, 0, 0, 154, 7],\n- \"classpqxx_1_1zview.html#a3ddf4e0ff127e96f8f68361088f96d2e\": [13, 0, 0, 154, 3],\n+ \"classpqxx_1_1zview.html#a3306a96bedcda83725687e6e9757b586\": [12, 0, 0, 155, 7],\n \"classpqxx_1_1zview.html#a3ddf4e0ff127e96f8f68361088f96d2e\": [12, 0, 0, 155, 3],\n- \"classpqxx_1_1zview.html#a581b8c75e8c2c0de579debfca37cd725\": [13, 0, 0, 154, 1],\n+ \"classpqxx_1_1zview.html#a3ddf4e0ff127e96f8f68361088f96d2e\": [13, 0, 0, 154, 3],\n \"classpqxx_1_1zview.html#a581b8c75e8c2c0de579debfca37cd725\": [12, 0, 0, 155, 1],\n+ \"classpqxx_1_1zview.html#a581b8c75e8c2c0de579debfca37cd725\": [13, 0, 0, 154, 1],\n \"classpqxx_1_1zview.html#a766cc45a178d43b1471fdc025f01535d\": [12, 0, 0, 155, 0],\n \"classpqxx_1_1zview.html#a766cc45a178d43b1471fdc025f01535d\": [13, 0, 0, 154, 0],\n- \"classpqxx_1_1zview.html#a9297b1b431ea593ea2ec6c8f0beaefa9\": [13, 0, 0, 154, 5],\n \"classpqxx_1_1zview.html#a9297b1b431ea593ea2ec6c8f0beaefa9\": [12, 0, 0, 155, 5],\n+ \"classpqxx_1_1zview.html#a9297b1b431ea593ea2ec6c8f0beaefa9\": [13, 0, 0, 154, 5],\n \"classpqxx_1_1zview.html#aa713ad5896e247699dcb5be68528b0e8\": [13, 0, 0, 154, 2],\n \"classpqxx_1_1zview.html#aa713ad5896e247699dcb5be68528b0e8\": [12, 0, 0, 155, 2],\n- \"classpqxx_1_1zview.html#ad5928543720ef457a1ca229920f33de6\": [13, 0, 0, 154, 4],\n \"classpqxx_1_1zview.html#ad5928543720ef457a1ca229920f33de6\": [12, 0, 0, 155, 4],\n+ \"classpqxx_1_1zview.html#ad5928543720ef457a1ca229920f33de6\": [13, 0, 0, 154, 4],\n \"composite_8hxx_source.html\": [14, 0, 0, 0, 4],\n \"concat_8hxx_source.html\": [14, 0, 0, 0, 0, 3],\n \"config-internal-autotools_8h_source.html\": [14, 0, 0, 0, 5],\n \"config-internal-compiler_8h_source.html\": [14, 0, 0, 0, 6],\n \"config-public-autotools_8h_source.html\": [14, 0, 0, 0, 7],\n \"config-public-compiler_8h_source.html\": [14, 0, 0, 0, 8],\n \"config_8h_source.html\": [14, 0, 0, 0, 9],\n@@ -132,54 +132,54 @@\n \"connection-stream__from_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 5],\n \"connection-stream__to_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 6],\n \"connection-transaction_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 7],\n \"connection_8hxx_source.html\": [14, 0, 0, 0, 10],\n \"conversions_8hxx_source.html\": [14, 0, 0, 0, 0, 4],\n \"cursor_8hxx_source.html\": [14, 0, 0, 0, 11],\n \"datatypes.html\": [2],\n- \"datatypes.html#autotoc_md17\": [2, 0],\n- \"datatypes.html#autotoc_md18\": [2, 1],\n- \"datatypes.html#autotoc_md19\": [2, 2],\n- \"datatypes.html#autotoc_md20\": [2, 3],\n- \"datatypes.html#autotoc_md21\": [2, 4],\n- \"datatypes.html#autotoc_md22\": [2, 5],\n- \"datatypes.html#autotoc_md23\": [2, 5, 0],\n- \"datatypes.html#autotoc_md24\": [2, 5, 1],\n- \"datatypes.html#autotoc_md25\": [2, 5, 2],\n- \"datatypes.html#autotoc_md26\": [2, 5, 3],\n- \"datatypes.html#autotoc_md27\": [2, 6],\n- \"datatypes.html#autotoc_md28\": [2, 7],\n+ \"datatypes.html#autotoc_md10\": [2, 5, 0],\n+ \"datatypes.html#autotoc_md11\": [2, 5, 1],\n+ \"datatypes.html#autotoc_md12\": [2, 5, 2],\n+ \"datatypes.html#autotoc_md13\": [2, 5, 3],\n+ \"datatypes.html#autotoc_md14\": [2, 6],\n+ \"datatypes.html#autotoc_md15\": [2, 7],\n+ \"datatypes.html#autotoc_md4\": [2, 0],\n+ \"datatypes.html#autotoc_md5\": [2, 1],\n+ \"datatypes.html#autotoc_md6\": [2, 2],\n+ \"datatypes.html#autotoc_md7\": [2, 3],\n+ \"datatypes.html#autotoc_md8\": [2, 4],\n+ \"datatypes.html#autotoc_md9\": [2, 5],\n \"dbtransaction_8hxx_source.html\": [14, 0, 0, 0, 12],\n \"deprecated.html\": [10],\n \"dir_3abbb4e2076021b5d2239498be5fcb30.html\": [14, 0, 0, 0, 0, 0],\n \"dir_3d7cbfaf9a6edea0a348c9e21a88d076.html\": [14, 0, 0, 0],\n \"dir_5888f4161601606935227ca5b99308b1.html\": [14, 0, 0, 0, 0],\n \"dir_68267d1309a1af8e8297ef4c3efbcdba.html\": [14, 0, 1],\n \"dir_d44c64559bbebec7f509842c48db8b23.html\": [14, 0, 0],\n \"encoding__group_8hxx_source.html\": [14, 0, 0, 0, 0, 5],\n \"encodings_8hxx_source.html\": [14, 0, 0, 0, 0, 6],\n \"errorhandler-connection_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 8],\n \"errorhandler_8hxx_source.html\": [14, 0, 0, 0, 13],\n \"escaping.html\": [3],\n- \"escaping.html#autotoc_md4\": [3, 0],\n- \"escaping.html#autotoc_md5\": [3, 1],\n+ \"escaping.html#autotoc_md16\": [3, 0],\n+ \"escaping.html#autotoc_md17\": [3, 1],\n \"except_8hxx_source.html\": [14, 0, 0, 0, 14],\n \"field_8hxx_source.html\": [14, 0, 0, 0, 15],\n \"files.html\": [14, 0],\n- \"functions.html\": [13, 3, 0, 0],\n \"functions.html\": [13, 3, 0],\n+ \"functions.html\": [13, 3, 0, 0],\n \"functions_b.html\": [13, 3, 0, 1],\n \"functions_c.html\": [13, 3, 0, 2],\n \"functions_d.html\": [13, 3, 0, 3],\n \"functions_e.html\": [13, 3, 0, 4],\n \"functions_enum.html\": [13, 3, 4],\n \"functions_eval.html\": [13, 3, 5],\n \"functions_f.html\": [13, 3, 0, 5],\n- \"functions_func.html\": [13, 3, 1],\n \"functions_func.html\": [13, 3, 1, 0],\n+ \"functions_func.html\": [13, 3, 1],\n \"functions_func_b.html\": [13, 3, 1, 1],\n \"functions_func_c.html\": [13, 3, 1, 2],\n \"functions_func_d.html\": [13, 3, 1, 3],\n \"functions_func_e.html\": [13, 3, 1, 4],\n \"functions_func_f.html\": [13, 3, 1, 5],\n \"functions_func_g.html\": [13, 3, 1, 6],\n \"functions_func_h.html\": [13, 3, 1, 7],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex5.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/navtreeindex5.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -14,26 +14,26 @@\n \"namespacepqxx_1_1internal_1_1pq.html#a801c6ee404adc53ef147e3f4990551d0\": [12, 0, 0, 0, 0, 0],\n \"namespacepqxx_1_1prepare.html\": [12, 0, 0, 1],\n \"namespaces.html\": [12, 0],\n \"nontransaction_8hxx_source.html\": [14, 0, 0, 0, 18],\n \"notification_8hxx_source.html\": [14, 0, 0, 0, 19],\n \"pages.html\": [],\n \"parameters.html\": [5],\n- \"parameters.html#autotoc_md6\": [5, 0],\n- \"parameters.html#autotoc_md7\": [5, 1],\n+ \"parameters.html#autotoc_md18\": [5, 0],\n+ \"parameters.html#autotoc_md28\": [5, 1],\n \"params_8hxx_source.html\": [14, 0, 0, 0, 20],\n \"performance.html\": [6],\n \"pipeline_8hxx_source.html\": [14, 0, 0, 0, 21],\n \"pqxx-source_8hxx_source.html\": [14, 0, 1, 0],\n \"prepared.html\": [7],\n- \"prepared.html#autotoc_md10\": [7, 2],\n- \"prepared.html#autotoc_md11\": [7, 3],\n- \"prepared.html#autotoc_md12\": [7, 4],\n- \"prepared.html#autotoc_md8\": [7, 0],\n- \"prepared.html#autotoc_md9\": [7, 1],\n+ \"prepared.html#autotoc_md19\": [7, 0],\n+ \"prepared.html#autotoc_md20\": [7, 1],\n+ \"prepared.html#autotoc_md21\": [7, 2],\n+ \"prepared.html#autotoc_md22\": [7, 3],\n+ \"prepared.html#autotoc_md23\": [7, 4],\n \"prepared__statement_8hxx_source.html\": [14, 0, 0, 0, 22],\n \"range_8hxx_source.html\": [14, 0, 0, 0, 23],\n \"result-connection_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 11],\n \"result-creation_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 12],\n \"result-pipeline_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 13],\n \"result-sql__cursor_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 14],\n \"result_8hxx_source.html\": [14, 0, 0, 0, 24],\n@@ -47,201 +47,201 @@\n \"strconv_8hxx_source.html\": [14, 0, 0, 0, 28],\n \"stream__from_8hxx_source.html\": [14, 0, 0, 0, 29],\n \"stream__iterator_8hxx_source.html\": [14, 0, 0, 0, 0, 16],\n \"stream__query_8hxx_source.html\": [14, 0, 0, 0, 0, 17],\n \"stream__query__impl_8hxx_source.html\": [14, 0, 0, 0, 0, 18],\n \"stream__to_8hxx_source.html\": [14, 0, 0, 0, 30],\n \"streams.html\": [8],\n- \"streams.html#autotoc_md13\": [8, 0],\n- \"streams.html#autotoc_md14\": [8, 1],\n- \"streams.html#autotoc_md15\": [8, 1, 0],\n- \"streams.html#autotoc_md16\": [8, 2],\n- \"structpqxx_1_1byte__char__traits.html\": [13, 0, 0, 11],\n+ \"streams.html#autotoc_md24\": [8, 0],\n+ \"streams.html#autotoc_md25\": [8, 1],\n+ \"streams.html#autotoc_md26\": [8, 1, 0],\n+ \"streams.html#autotoc_md27\": [8, 2],\n \"structpqxx_1_1byte__char__traits.html\": [12, 0, 0, 12],\n+ \"structpqxx_1_1byte__char__traits.html\": [13, 0, 0, 11],\n \"structpqxx_1_1forbidden__conversion.html\": [13, 0, 0, 32],\n \"structpqxx_1_1forbidden__conversion.html\": [12, 0, 0, 33],\n \"structpqxx_1_1has__generic__char__traits.html\": [13, 0, 0, 36],\n \"structpqxx_1_1has__generic__char__traits.html\": [12, 0, 0, 37],\n- \"structpqxx_1_1has__generic__char__traits_3_01TYPE_00_01std_1_1void__t_3_01decltype_07std_1_1char840b6ba899218b94596b7f0eb77dede3.html\": [13, 0, 0, 37],\n \"structpqxx_1_1has__generic__char__traits_3_01TYPE_00_01std_1_1void__t_3_01decltype_07std_1_1char840b6ba899218b94596b7f0eb77dede3.html\": [12, 0, 0, 38],\n- \"structpqxx_1_1internal_1_1array__string__traits.html\": [13, 0, 0, 0, 1],\n+ \"structpqxx_1_1has__generic__char__traits_3_01TYPE_00_01std_1_1void__t_3_01decltype_07std_1_1char840b6ba899218b94596b7f0eb77dede3.html\": [13, 0, 0, 37],\n \"structpqxx_1_1internal_1_1array__string__traits.html\": [12, 0, 0, 0, 1],\n+ \"structpqxx_1_1internal_1_1array__string__traits.html\": [13, 0, 0, 0, 1],\n \"structpqxx_1_1internal_1_1c__params.html\": [12, 0, 0, 0, 4],\n \"structpqxx_1_1internal_1_1c__params.html\": [13, 0, 0, 0, 4],\n- \"structpqxx_1_1internal_1_1c__params.html#a6f64b8c77bfbf311687be6e1313f27d8\": [13, 0, 0, 0, 4, 0],\n \"structpqxx_1_1internal_1_1c__params.html#a6f64b8c77bfbf311687be6e1313f27d8\": [12, 0, 0, 0, 4, 0],\n- \"structpqxx_1_1internal_1_1c__params.html#a7f7597e054124f94dc53c91d1048f0ee\": [12, 0, 0, 0, 4, 3],\n+ \"structpqxx_1_1internal_1_1c__params.html#a6f64b8c77bfbf311687be6e1313f27d8\": [13, 0, 0, 0, 4, 0],\n \"structpqxx_1_1internal_1_1c__params.html#a7f7597e054124f94dc53c91d1048f0ee\": [13, 0, 0, 0, 4, 3],\n+ \"structpqxx_1_1internal_1_1c__params.html#a7f7597e054124f94dc53c91d1048f0ee\": [12, 0, 0, 0, 4, 3],\n \"structpqxx_1_1internal_1_1c__params.html#a9a6d51da90f51c90d3044ad9261616b8\": [12, 0, 0, 0, 4, 2],\n \"structpqxx_1_1internal_1_1c__params.html#a9a6d51da90f51c90d3044ad9261616b8\": [13, 0, 0, 0, 4, 2],\n \"structpqxx_1_1internal_1_1c__params.html#aa0700df147dee1b1a38c37c43f268ba3\": [13, 0, 0, 0, 4, 1],\n \"structpqxx_1_1internal_1_1c__params.html#aa0700df147dee1b1a38c37c43f268ba3\": [12, 0, 0, 0, 4, 1],\n \"structpqxx_1_1internal_1_1c__params.html#aad4eb2f440fe907fcf11467effbbff15\": [12, 0, 0, 0, 4, 4],\n \"structpqxx_1_1internal_1_1c__params.html#aad4eb2f440fe907fcf11467effbbff15\": [13, 0, 0, 0, 4, 4],\n- \"structpqxx_1_1internal_1_1disallowed__ambiguous__char__conversion.html\": [13, 0, 0, 0, 6],\n \"structpqxx_1_1internal_1_1disallowed__ambiguous__char__conversion.html\": [12, 0, 0, 0, 6],\n+ \"structpqxx_1_1internal_1_1disallowed__ambiguous__char__conversion.html\": [13, 0, 0, 0, 6],\n \"structpqxx_1_1internal_1_1enum__traits.html\": [12, 0, 0, 0, 8],\n \"structpqxx_1_1internal_1_1enum__traits.html\": [13, 0, 0, 0, 8],\n \"structpqxx_1_1internal_1_1float__traits.html\": [13, 0, 0, 0, 9],\n \"structpqxx_1_1internal_1_1float__traits.html\": [12, 0, 0, 0, 9],\n \"structpqxx_1_1internal_1_1gate_1_1connection__stream__from.html\": [13, 0, 0, 0, 0, 5],\n- \"structpqxx_1_1internal_1_1glyph__scanner.html\": [13, 0, 0, 0, 10],\n \"structpqxx_1_1internal_1_1glyph__scanner.html\": [12, 0, 0, 0, 10],\n+ \"structpqxx_1_1internal_1_1glyph__scanner.html\": [13, 0, 0, 0, 10],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1BIG5_01_4.html\": [12, 0, 0, 0, 11],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1BIG5_01_4.html\": [13, 0, 0, 0, 11],\n- \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__CN_01_4.html\": [12, 0, 0, 0, 12],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__CN_01_4.html\": [13, 0, 0, 0, 12],\n- \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__JP_01_4.html\": [12, 0, 0, 0, 13],\n+ \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__CN_01_4.html\": [12, 0, 0, 0, 12],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__JP_01_4.html\": [13, 0, 0, 0, 13],\n+ \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__JP_01_4.html\": [12, 0, 0, 0, 13],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__KR_01_4.html\": [12, 0, 0, 0, 14],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__KR_01_4.html\": [13, 0, 0, 0, 14],\n- \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__TW_01_4.html\": [13, 0, 0, 0, 15],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__TW_01_4.html\": [12, 0, 0, 0, 15],\n+ \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1EUC__TW_01_4.html\": [13, 0, 0, 0, 15],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1GB18030_01_4.html\": [12, 0, 0, 0, 16],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1GB18030_01_4.html\": [13, 0, 0, 0, 16],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1GBK_01_4.html\": [13, 0, 0, 0, 17],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1GBK_01_4.html\": [12, 0, 0, 0, 17],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1JOHAB_01_4.html\": [13, 0, 0, 0, 18],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1JOHAB_01_4.html\": [12, 0, 0, 0, 18],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1MONOBYTE_01_4.html\": [13, 0, 0, 0, 19],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1MONOBYTE_01_4.html\": [12, 0, 0, 0, 19],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1MULE__INTERNAL_01_4.html\": [13, 0, 0, 0, 20],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1MULE__INTERNAL_01_4.html\": [12, 0, 0, 0, 20],\n- \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1SJIS_01_4.html\": [13, 0, 0, 0, 21],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1SJIS_01_4.html\": [12, 0, 0, 0, 21],\n- \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1UHC_01_4.html\": [12, 0, 0, 0, 22],\n+ \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1SJIS_01_4.html\": [13, 0, 0, 0, 21],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1UHC_01_4.html\": [13, 0, 0, 0, 22],\n+ \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1UHC_01_4.html\": [12, 0, 0, 0, 22],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1UTF8_01_4.html\": [13, 0, 0, 0, 23],\n \"structpqxx_1_1internal_1_1glyph__scanner_3_01encoding__group_1_1UTF8_01_4.html\": [12, 0, 0, 0, 23],\n- \"structpqxx_1_1internal_1_1integral__traits.html\": [13, 0, 0, 0, 24],\n \"structpqxx_1_1internal_1_1integral__traits.html\": [12, 0, 0, 0, 24],\n+ \"structpqxx_1_1internal_1_1integral__traits.html\": [13, 0, 0, 0, 24],\n \"structpqxx_1_1no__bound.html\": [12, 0, 0, 51],\n \"structpqxx_1_1no__bound.html\": [13, 0, 0, 50],\n- \"structpqxx_1_1no__null.html\": [12, 0, 0, 52],\n \"structpqxx_1_1no__null.html\": [13, 0, 0, 51],\n+ \"structpqxx_1_1no__null.html\": [12, 0, 0, 52],\n \"structpqxx_1_1nullness.html\": [13, 0, 0, 55],\n \"structpqxx_1_1nullness.html\": [12, 0, 0, 56],\n- \"structpqxx_1_1nullness_3_01ENUM_00_01std_1_1enable__if__t_3_01std_1_1is__enum__v_3_01ENUM_01_4_01_4_01_4.html\": [13, 0, 0, 62],\n \"structpqxx_1_1nullness_3_01ENUM_00_01std_1_1enable__if__t_3_01std_1_1is__enum__v_3_01ENUM_01_4_01_4_01_4.html\": [12, 0, 0, 63],\n+ \"structpqxx_1_1nullness_3_01ENUM_00_01std_1_1enable__if__t_3_01std_1_1is__enum__v_3_01ENUM_01_4_01_4_01_4.html\": [13, 0, 0, 62],\n \"structpqxx_1_1nullness_3_01T_00_01std_1_1enable__if__t_3_01std_1_1is__arithmetic__v_3_01T_01_4_01_4_01_4.html\": [13, 0, 0, 76],\n \"structpqxx_1_1nullness_3_01T_00_01std_1_1enable__if__t_3_01std_1_1is__arithmetic__v_3_01T_01_4_01_4_01_4.html\": [12, 0, 0, 77],\n- \"structpqxx_1_1nullness_3_01binarystring_01_4.html\": [12, 0, 0, 57],\n \"structpqxx_1_1nullness_3_01binarystring_01_4.html\": [13, 0, 0, 56],\n- \"structpqxx_1_1nullness_3_01bytes_01_4.html\": [13, 0, 0, 57],\n+ \"structpqxx_1_1nullness_3_01binarystring_01_4.html\": [12, 0, 0, 57],\n \"structpqxx_1_1nullness_3_01bytes_01_4.html\": [12, 0, 0, 58],\n+ \"structpqxx_1_1nullness_3_01bytes_01_4.html\": [13, 0, 0, 57],\n \"structpqxx_1_1nullness_3_01bytes__view_01_4.html\": [12, 0, 0, 59],\n \"structpqxx_1_1nullness_3_01bytes__view_01_4.html\": [13, 0, 0, 58],\n- \"structpqxx_1_1nullness_3_01char_01_5_01_4.html\": [12, 0, 0, 60],\n \"structpqxx_1_1nullness_3_01char_01_5_01_4.html\": [13, 0, 0, 59],\n- \"structpqxx_1_1nullness_3_01char_01const_01_5_01_4.html\": [12, 0, 0, 61],\n+ \"structpqxx_1_1nullness_3_01char_01_5_01_4.html\": [12, 0, 0, 60],\n \"structpqxx_1_1nullness_3_01char_01const_01_5_01_4.html\": [13, 0, 0, 60],\n- \"structpqxx_1_1nullness_3_01char_0fN_0e_4.html\": [12, 0, 0, 62],\n+ \"structpqxx_1_1nullness_3_01char_01const_01_5_01_4.html\": [12, 0, 0, 61],\n \"structpqxx_1_1nullness_3_01char_0fN_0e_4.html\": [13, 0, 0, 61],\n+ \"structpqxx_1_1nullness_3_01char_0fN_0e_4.html\": [12, 0, 0, 62],\n \"structpqxx_1_1nullness_3_01range_3_01TYPE_01_4_01_4.html\": [12, 0, 0, 64],\n \"structpqxx_1_1nullness_3_01range_3_01TYPE_01_4_01_4.html\": [13, 0, 0, 63],\n- \"structpqxx_1_1nullness_3_01std_1_1array_3_01T_00_01N_01_4_01_4.html\": [12, 0, 0, 65],\n \"structpqxx_1_1nullness_3_01std_1_1array_3_01T_00_01N_01_4_01_4.html\": [13, 0, 0, 64],\n+ \"structpqxx_1_1nullness_3_01std_1_1array_3_01T_00_01N_01_4_01_4.html\": [12, 0, 0, 65],\n \"structpqxx_1_1nullness_3_01std_1_1monostate_01_4.html\": [13, 0, 0, 65],\n \"structpqxx_1_1nullness_3_01std_1_1monostate_01_4.html\": [12, 0, 0, 66],\n \"structpqxx_1_1nullness_3_01std_1_1nullopt__t_01_4.html\": [13, 0, 0, 66],\n \"structpqxx_1_1nullness_3_01std_1_1nullopt__t_01_4.html\": [12, 0, 0, 67],\n- \"structpqxx_1_1nullness_3_01std_1_1nullptr__t_01_4.html\": [12, 0, 0, 68],\n \"structpqxx_1_1nullness_3_01std_1_1nullptr__t_01_4.html\": [13, 0, 0, 67],\n- \"structpqxx_1_1nullness_3_01std_1_1optional_3_01T_01_4_01_4.html\": [12, 0, 0, 69],\n+ \"structpqxx_1_1nullness_3_01std_1_1nullptr__t_01_4.html\": [12, 0, 0, 68],\n \"structpqxx_1_1nullness_3_01std_1_1optional_3_01T_01_4_01_4.html\": [13, 0, 0, 68],\n+ \"structpqxx_1_1nullness_3_01std_1_1optional_3_01T_01_4_01_4.html\": [12, 0, 0, 69],\n \"structpqxx_1_1nullness_3_01std_1_1shared__ptr_3_01T_01_4_01_4.html\": [12, 0, 0, 70],\n \"structpqxx_1_1nullness_3_01std_1_1shared__ptr_3_01T_01_4_01_4.html\": [13, 0, 0, 69],\n \"structpqxx_1_1nullness_3_01std_1_1string_01_4.html\": [12, 0, 0, 71],\n \"structpqxx_1_1nullness_3_01std_1_1string_01_4.html\": [13, 0, 0, 70],\n \"structpqxx_1_1nullness_3_01std_1_1string__view_01_4.html\": [13, 0, 0, 71],\n \"structpqxx_1_1nullness_3_01std_1_1string__view_01_4.html\": [12, 0, 0, 72],\n- \"structpqxx_1_1nullness_3_01std_1_1stringstream_01_4.html\": [13, 0, 0, 72],\n \"structpqxx_1_1nullness_3_01std_1_1stringstream_01_4.html\": [12, 0, 0, 73],\n- \"structpqxx_1_1nullness_3_01std_1_1unique__ptr_3_01T_01_4_01_4.html\": [13, 0, 0, 73],\n+ \"structpqxx_1_1nullness_3_01std_1_1stringstream_01_4.html\": [13, 0, 0, 72],\n \"structpqxx_1_1nullness_3_01std_1_1unique__ptr_3_01T_01_4_01_4.html\": [12, 0, 0, 74],\n- \"structpqxx_1_1nullness_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html\": [13, 0, 0, 74],\n+ \"structpqxx_1_1nullness_3_01std_1_1unique__ptr_3_01T_01_4_01_4.html\": [13, 0, 0, 73],\n \"structpqxx_1_1nullness_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html\": [12, 0, 0, 75],\n- \"structpqxx_1_1nullness_3_01std_1_1vector_3_01T_00_01Args_8_8_8_01_4_01_4.html\": [13, 0, 0, 75],\n+ \"structpqxx_1_1nullness_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html\": [13, 0, 0, 74],\n \"structpqxx_1_1nullness_3_01std_1_1vector_3_01T_00_01Args_8_8_8_01_4_01_4.html\": [12, 0, 0, 76],\n- \"structpqxx_1_1nullness_3_01zview_01_4.html\": [13, 0, 0, 77],\n+ \"structpqxx_1_1nullness_3_01std_1_1vector_3_01T_00_01Args_8_8_8_01_4_01_4.html\": [13, 0, 0, 75],\n \"structpqxx_1_1nullness_3_01zview_01_4.html\": [12, 0, 0, 78],\n- \"structpqxx_1_1string__traits.html\": [12, 0, 0, 102],\n+ \"structpqxx_1_1nullness_3_01zview_01_4.html\": [13, 0, 0, 77],\n \"structpqxx_1_1string__traits.html\": [13, 0, 0, 101],\n- \"structpqxx_1_1string__traits_3_01binarystring_01_4.html\": [12, 0, 0, 103],\n+ \"structpqxx_1_1string__traits.html\": [12, 0, 0, 102],\n \"structpqxx_1_1string__traits_3_01binarystring_01_4.html\": [13, 0, 0, 102],\n- \"structpqxx_1_1string__traits_3_01bool_01_4.html\": [12, 0, 0, 104],\n+ \"structpqxx_1_1string__traits_3_01binarystring_01_4.html\": [12, 0, 0, 103],\n \"structpqxx_1_1string__traits_3_01bool_01_4.html\": [13, 0, 0, 103],\n- \"structpqxx_1_1string__traits_3_01bytes_01_4.html\": [13, 0, 0, 104],\n+ \"structpqxx_1_1string__traits_3_01bool_01_4.html\": [12, 0, 0, 104],\n \"structpqxx_1_1string__traits_3_01bytes_01_4.html\": [12, 0, 0, 105],\n- \"structpqxx_1_1string__traits_3_01bytes__view_01_4.html\": [13, 0, 0, 105],\n+ \"structpqxx_1_1string__traits_3_01bytes_01_4.html\": [13, 0, 0, 104],\n \"structpqxx_1_1string__traits_3_01bytes__view_01_4.html\": [12, 0, 0, 106],\n- \"structpqxx_1_1string__traits_3_01char_01_4.html\": [13, 0, 0, 107],\n+ \"structpqxx_1_1string__traits_3_01bytes__view_01_4.html\": [13, 0, 0, 105],\n \"structpqxx_1_1string__traits_3_01char_01_4.html\": [12, 0, 0, 108],\n- \"structpqxx_1_1string__traits_3_01char_01_5_01_4.html\": [13, 0, 0, 106],\n+ \"structpqxx_1_1string__traits_3_01char_01_4.html\": [13, 0, 0, 107],\n \"structpqxx_1_1string__traits_3_01char_01_5_01_4.html\": [12, 0, 0, 107],\n+ \"structpqxx_1_1string__traits_3_01char_01_5_01_4.html\": [13, 0, 0, 106],\n \"structpqxx_1_1string__traits_3_01char_01const_01_5_01_4.html\": [12, 0, 0, 109],\n \"structpqxx_1_1string__traits_3_01char_01const_01_5_01_4.html\": [13, 0, 0, 108],\n \"structpqxx_1_1string__traits_3_01char_0fN_0e_4.html\": [13, 0, 0, 109],\n \"structpqxx_1_1string__traits_3_01char_0fN_0e_4.html\": [12, 0, 0, 110],\n \"structpqxx_1_1string__traits_3_01double_01_4.html\": [13, 0, 0, 110],\n \"structpqxx_1_1string__traits_3_01double_01_4.html\": [12, 0, 0, 111],\n- \"structpqxx_1_1string__traits_3_01float_01_4.html\": [12, 0, 0, 112],\n \"structpqxx_1_1string__traits_3_01float_01_4.html\": [13, 0, 0, 111],\n+ \"structpqxx_1_1string__traits_3_01float_01_4.html\": [12, 0, 0, 112],\n \"structpqxx_1_1string__traits_3_01int_01_4.html\": [13, 0, 0, 112],\n \"structpqxx_1_1string__traits_3_01int_01_4.html\": [12, 0, 0, 113],\n- \"structpqxx_1_1string__traits_3_01long_01_4.html\": [12, 0, 0, 114],\n \"structpqxx_1_1string__traits_3_01long_01_4.html\": [13, 0, 0, 113],\n+ \"structpqxx_1_1string__traits_3_01long_01_4.html\": [12, 0, 0, 114],\n \"structpqxx_1_1string__traits_3_01long_01double_01_4.html\": [13, 0, 0, 114],\n \"structpqxx_1_1string__traits_3_01long_01double_01_4.html\": [12, 0, 0, 115],\n \"structpqxx_1_1string__traits_3_01long_01long_01_4.html\": [12, 0, 0, 116],\n \"structpqxx_1_1string__traits_3_01long_01long_01_4.html\": [13, 0, 0, 115],\n \"structpqxx_1_1string__traits_3_01pqxx_1_1internal_1_1encoding__group_01_4.html\": [13, 0, 0, 116],\n \"structpqxx_1_1string__traits_3_01pqxx_1_1internal_1_1encoding__group_01_4.html\": [12, 0, 0, 117],\n \"structpqxx_1_1string__traits_3_01range_3_01TYPE_01_4_01_4.html\": [13, 0, 0, 117],\n \"structpqxx_1_1string__traits_3_01range_3_01TYPE_01_4_01_4.html\": [12, 0, 0, 118],\n \"structpqxx_1_1string__traits_3_01short_01_4.html\": [13, 0, 0, 118],\n \"structpqxx_1_1string__traits_3_01short_01_4.html\": [12, 0, 0, 119],\n- \"structpqxx_1_1string__traits_3_01signed_01char_01_4.html\": [13, 0, 0, 119],\n \"structpqxx_1_1string__traits_3_01signed_01char_01_4.html\": [12, 0, 0, 120],\n+ \"structpqxx_1_1string__traits_3_01signed_01char_01_4.html\": [13, 0, 0, 119],\n \"structpqxx_1_1string__traits_3_01std_1_1array_3_01T_00_01N_01_4_01_4.html\": [12, 0, 0, 121],\n \"structpqxx_1_1string__traits_3_01std_1_1array_3_01T_00_01N_01_4_01_4.html\": [13, 0, 0, 120],\n- \"structpqxx_1_1string__traits_3_01std_1_1byte_01_4.html\": [12, 0, 0, 122],\n \"structpqxx_1_1string__traits_3_01std_1_1byte_01_4.html\": [13, 0, 0, 121],\n- \"structpqxx_1_1string__traits_3_01std_1_1monostate_01_4.html\": [12, 0, 0, 123],\n+ \"structpqxx_1_1string__traits_3_01std_1_1byte_01_4.html\": [12, 0, 0, 122],\n \"structpqxx_1_1string__traits_3_01std_1_1monostate_01_4.html\": [13, 0, 0, 122],\n+ \"structpqxx_1_1string__traits_3_01std_1_1monostate_01_4.html\": [12, 0, 0, 123],\n \"structpqxx_1_1string__traits_3_01std_1_1nullopt__t_01_4.html\": [13, 0, 0, 123],\n \"structpqxx_1_1string__traits_3_01std_1_1nullopt__t_01_4.html\": [12, 0, 0, 124],\n- \"structpqxx_1_1string__traits_3_01std_1_1nullptr__t_01_4.html\": [13, 0, 0, 124],\n \"structpqxx_1_1string__traits_3_01std_1_1nullptr__t_01_4.html\": [12, 0, 0, 125],\n- \"structpqxx_1_1string__traits_3_01std_1_1optional_3_01T_01_4_01_4.html\": [13, 0, 0, 125],\n+ \"structpqxx_1_1string__traits_3_01std_1_1nullptr__t_01_4.html\": [13, 0, 0, 124],\n \"structpqxx_1_1string__traits_3_01std_1_1optional_3_01T_01_4_01_4.html\": [12, 0, 0, 126],\n- \"structpqxx_1_1string__traits_3_01std_1_1shared__ptr_3_01T_01_4_01_4.html\": [13, 0, 0, 126],\n+ \"structpqxx_1_1string__traits_3_01std_1_1optional_3_01T_01_4_01_4.html\": [13, 0, 0, 125],\n \"structpqxx_1_1string__traits_3_01std_1_1shared__ptr_3_01T_01_4_01_4.html\": [12, 0, 0, 127],\n- \"structpqxx_1_1string__traits_3_01std_1_1string_01_4.html\": [13, 0, 0, 127],\n+ \"structpqxx_1_1string__traits_3_01std_1_1shared__ptr_3_01T_01_4_01_4.html\": [13, 0, 0, 126],\n \"structpqxx_1_1string__traits_3_01std_1_1string_01_4.html\": [12, 0, 0, 128],\n- \"structpqxx_1_1string__traits_3_01std_1_1string__view_01_4.html\": [13, 0, 0, 128],\n+ \"structpqxx_1_1string__traits_3_01std_1_1string_01_4.html\": [13, 0, 0, 127],\n \"structpqxx_1_1string__traits_3_01std_1_1string__view_01_4.html\": [12, 0, 0, 129],\n- \"structpqxx_1_1string__traits_3_01std_1_1stringstream_01_4.html\": [12, 0, 0, 130],\n+ \"structpqxx_1_1string__traits_3_01std_1_1string__view_01_4.html\": [13, 0, 0, 128],\n \"structpqxx_1_1string__traits_3_01std_1_1stringstream_01_4.html\": [13, 0, 0, 129],\n+ \"structpqxx_1_1string__traits_3_01std_1_1stringstream_01_4.html\": [12, 0, 0, 130],\n \"structpqxx_1_1string__traits_3_01std_1_1unique__ptr_3_01T_00_01Args_8_8_8_01_4_01_4.html\": [12, 0, 0, 131],\n \"structpqxx_1_1string__traits_3_01std_1_1unique__ptr_3_01T_00_01Args_8_8_8_01_4_01_4.html\": [13, 0, 0, 130],\n \"structpqxx_1_1string__traits_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html\": [13, 0, 0, 131],\n \"structpqxx_1_1string__traits_3_01std_1_1variant_3_01T_8_8_8_01_4_01_4.html\": [12, 0, 0, 132],\n \"structpqxx_1_1string__traits_3_01std_1_1vector_3_01T_00_01Args_8_8_8_01_4_01_4.html\": [13, 0, 0, 132],\n \"structpqxx_1_1string__traits_3_01std_1_1vector_3_01T_00_01Args_8_8_8_01_4_01_4.html\": [12, 0, 0, 133],\n- \"structpqxx_1_1string__traits_3_01unsigned_01_4.html\": [12, 0, 0, 134],\n \"structpqxx_1_1string__traits_3_01unsigned_01_4.html\": [13, 0, 0, 133],\n+ \"structpqxx_1_1string__traits_3_01unsigned_01_4.html\": [12, 0, 0, 134],\n \"structpqxx_1_1string__traits_3_01unsigned_01char_01_4.html\": [13, 0, 0, 134],\n \"structpqxx_1_1string__traits_3_01unsigned_01char_01_4.html\": [12, 0, 0, 135],\n- \"structpqxx_1_1string__traits_3_01unsigned_01long_01_4.html\": [12, 0, 0, 136],\n \"structpqxx_1_1string__traits_3_01unsigned_01long_01_4.html\": [13, 0, 0, 135],\n- \"structpqxx_1_1string__traits_3_01unsigned_01long_01long_01_4.html\": [12, 0, 0, 137],\n+ \"structpqxx_1_1string__traits_3_01unsigned_01long_01_4.html\": [12, 0, 0, 136],\n \"structpqxx_1_1string__traits_3_01unsigned_01long_01long_01_4.html\": [13, 0, 0, 136],\n- \"structpqxx_1_1string__traits_3_01unsigned_01short_01_4.html\": [13, 0, 0, 137],\n+ \"structpqxx_1_1string__traits_3_01unsigned_01long_01long_01_4.html\": [12, 0, 0, 137],\n \"structpqxx_1_1string__traits_3_01unsigned_01short_01_4.html\": [12, 0, 0, 138],\n+ \"structpqxx_1_1string__traits_3_01unsigned_01short_01_4.html\": [13, 0, 0, 137],\n \"structpqxx_1_1string__traits_3_01zview_01_4.html\": [13, 0, 0, 138],\n \"structpqxx_1_1string__traits_3_01zview_01_4.html\": [12, 0, 0, 139],\n \"subtransaction_8hxx_source.html\": [14, 0, 0, 0, 31],\n \"thread-safety.html\": [9],\n \"time_8hxx_source.html\": [14, 0, 0, 0, 32],\n \"topics.html\": [11],\n \"transaction-sql__cursor_8hxx_source.html\": [14, 0, 0, 0, 0, 0, 15],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/parameters.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/parameters.html", "unified_diff": "@@ -95,22 +95,22 @@\n
    \n

    When you execute a prepared statement (see Prepared statements), or a parameterised statement (using functions like pqxx::connection::exec_params), you may write special placeholders in the query text. They look like $1, $2, and so on.

    \n

    If you execute the query and pass parameter values, the call will respectively substitute the first where it finds $1, the second where it finds $2, et cetera.

    \n

    Doing this saves you work. If you don't use statement parameters, you'll need to quote and escape your values (see connection::quote() and friends) as you insert them into your query as literal values.

    \n

    Or if you forget to do that, you leave yourself open to horrible SQL injection attacks. Trust me, I was born in a town whose name started with an apostrophe!

    \n

    Statement parameters save you this work. With these parameters you can pass your values as-is, and they will go across the wire to the database in a safe format.

    \n

    In some cases it may even be faster! When a parameter represents binary data (as in the SQL BYTEA type), libpqxx will send it directly as binary, which is a bit more efficient. If you insert the binary data directly in your query text, your CPU will have some extra work to do, converting the data into a text format, escaping it, and adding quotes.

    \n-

    \n+

    \n Dynamic parameter lists

    \n

    In rare cases you may just not know how many parameters you'll pass into your statement when you call it.

    \n

    For these situations, have a look at params. It lets you compose your parameters list on the fly, even add whole ranges of parameters at a time.

    \n

    You can pass a params into your statement as a normal parameter. It will fill in all the parameter values it contains into that position of the statement's overall parameter list.

    \n

    So if you call your statement passing a regular parameter a, a params containing just a parameter b, and another regular parameter c, then your call will pass parameters a, b, and c. Or if the params object is empty, it will pass just a and c. If the params object contains x and y, your call will pass a, x, y, c.

    \n

    You can mix static and dynamic parameters freely. Don't go overboard though: complexity is where bugs happen!

    \n-

    \n+

    \n Generating placeholders

    \n

    If your code gets particularly complex, it may sometimes happen that it becomes hard to track which parameter value belongs with which placeholder. Did you intend to pass this numeric value as $7, or as $8? The answer may depend on an if that happened earlier in a different function.

    \n

    (Generally if things get that complex, it's a good idea to look for simpler solutions. But especially when performance matters, sometimes you can't avoid complexity like that.)

    \n

    There's a little helper class called placeholders. You can use it as a counter which produces those placeholder strings, $1, $2, $3, et cetera. When you start generating a complex statement, you can create both a params and a placeholders:

    \n
    pqxx::params values;
    \n \n
    Build a parameter list for a parameterised or prepared statement.
    Definition params.hxx:46
    \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/prepared.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/prepared.html", "unified_diff": "@@ -91,15 +91,15 @@\n \n
    \n
    Prepared statements
    \n
    \n
    \n

    Prepared statements are SQL queries that you define once and then invoke as many times as you like, typically with varying parameters. It's basically a function that you can define ad hoc.

    \n

    If you have an SQL statement that you're going to execute many times in quick succession, it may be more efficient to prepare it once and reuse it. This saves the database backend the effort of parsing complex SQL and figuring out an efficient execution plan. Another nice side effect is that you don't need to worry about escaping parameters. Some corporate coding standards require all SQL parameters to be passed in this way, to reduce the risk of programmer mistakes leaving room for SQL injections.

    \n-

    \n+

    \n Preparing a statement

    \n

    You create a prepared statement by preparing it on the connection (using the pqxx::connection::prepare functions), passing an identifier and its SQL text.

    \n

    The identifier is the name by which the prepared statement will be known; it should consist of ASCII letters, digits, and underscores only, and start with an ASCII letter. The name is case-sensitive.

    \n
    void prepare_my_statement(pqxx::connection &c)
    \n
    {
    \n \n
    "my_statement",
    \n@@ -111,15 +111,15 @@\n
    pqxx::result execute_my_statement(pqxx::transaction_base &t)
    \n
    {
    \n
    return t.exec_prepared("my_statement");
    \n
    }
    \n
    Result set containing data returned by a query or command.
    Definition result.hxx:73
    \n
    result exec_prepared(zview statement, Args &&...args)
    Execute a prepared statement, with optional arguments.
    Definition transaction_base.hxx:948
    \n
    Interface definition (and common code) for "transaction" classes.
    Definition transaction_base.hxx:150
    \n-

    \n+

    \n Parameters

    \n

    Did I mention that prepared statements can have parameters? The query text can contain $1, $2 etc. as placeholders for parameter values that you will provide when you invoke the prepared satement.

    \n

    See Statement parameters for more about this. And here's a simple example of preparing a statement and invoking it with parameters:

    \n
    void prepare_find(pqxx::connection &c)
    \n
    {
    \n
    // Prepare a statement called "find" that looks for employees with a
    \n
    // given name (parameter 1) whose salary exceeds a given number
    \n@@ -130,23 +130,23 @@\n
    }
    \n

    This example looks up the prepared statement \"find,\" passes name and min_salary as parameters, and invokes the statement with those values:

    \n
    pqxx::result execute_find(
    \n
    pqxx::transaction_base &t, std::string name, int min_salary)
    \n
    {
    \n
    return t.exec_prepared("find", name, min_salary);
    \n
    }
    \n-

    \n+

    \n A special prepared statement

    \n

    There is one special case: the nameless prepared statement. You may prepare a statement without a name, i.e. whose name is an empty string. The unnamed statement can be redefined at any time, without un-preparing it first.

    \n-

    \n+

    \n Performance note

    \n

    Don't assume that using prepared statements will speed up your application. There are cases where prepared statements are actually slower than plain SQL.

    \n

    The reason is that the backend can often produce a better execution plan when it knows the statement's actual parameter values.

    \n

    For example, say you've got a web application and you're querying for users with status \"inactive\" who have email addresses in a given domain name X. If X is a very popular provider, the best way for the database engine to plan the query may be to list the inactive users first and then filter for the email addresses you're looking for. But in other cases, it may be much faster to find matching email addresses first and then see which of their owners are \"inactive.\" A prepared statement must be planned to fit either case, but a direct query will be optimised based on table statistics, partial indexes, etc.

    \n-

    \n+

    \n Zero bytes

    \n
    Warning
    Beware of \"nul\" bytes!
    \n

    Any string you pass as a parameter will end at the first char with value zero. If you pass a string that contains a zero byte, the last byte in the value will be the one just before the zero.

    \n

    So, if you need a zero byte in a string, consider that it's really a binary string, which is not the same thing as a text string. SQL represents binary data as the BYTEA type, or in binary large objects (\"blobs\").

    \n

    In libpqxx, you represent binary data as a range of std::byte. They must be contiguous in memory, so that libpqxx can pass pointers to the underlying C library. So you might use pqxx::bytes, or pqxx::bytes_view, or std::vector<std::byte>.

    \n
    \n
    \n"}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/result_8hxx_source.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/result_8hxx_source.html", "unified_diff": "@@ -158,31 +158,31 @@\n
    77 using reference = row;
    \n \n
    79 using pointer = const_iterator;
    \n \n \n \n
    83
    \n-
    84 result() noexcept :
    \n+\n
    85 m_data{}, m_query{}, m_encoding{internal::encoding_group::MONOBYTE}
    \n
    86 {}
    \n
    87
    \n-
    88 result(result const &rhs) noexcept = default;
    \n-
    89 result(result &&rhs) noexcept = default;
    \n+
    88 result(result const &rhs) noexcept = default;
    \n+
    89 result(result &&rhs) noexcept = default;
    \n
    90
    \n
    92
    \n-
    95 result &operator=(result const &rhs) noexcept = default;
    \n+
    95 result &operator=(result const &rhs) noexcept = default;
    \n
    96
    \n-
    98 result &operator=(result &&rhs) noexcept = default;
    \n+
    98 result &operator=(result &&rhs) noexcept = default;
    \n
    99
    \n-
    109 [[nodiscard]] bool operator==(result const &) const noexcept;
    \n+
    109 [[nodiscard]] bool operator==(result const &) const noexcept;
    \n
    \n-
    111 [[nodiscard]] bool operator!=(result const &rhs) const noexcept
    \n+
    111 [[nodiscard]] bool operator!=(result const &rhs) const noexcept
    \n
    112 {
    \n-
    113 return not operator==(rhs);
    \n+
    113 return not operator==(rhs);
    \n
    114 }
    \n
    \n
    116
    \n
    118
    \n
    124 template<typename... TYPE> auto iter() const;
    \n
    125
    \n
    126 [[nodiscard]] const_reverse_iterator rbegin() const;
    \n@@ -215,15 +215,15 @@\n
    161
    \n
    163 row at(size_type) const;
    \n
    164
    \n
    166 field at(size_type, row_size_type) const;
    \n
    167
    \n
    169
    \n
    \n-
    176 void clear() noexcept
    \n+\n
    177 {
    \n
    178 m_data.reset();
    \n
    179 m_query = nullptr;
    \n
    180 }
    \n
    \n
    181
    \n
    187 [[nodiscard]] PQXX_PURE row_size_type columns() const noexcept;
    \n@@ -237,35 +237,35 @@\n
    200
    \n
    202
    \n
    212 [[nodiscard]] int column_type_modifier(row_size_type number) const noexcept;
    \n
    213
    \n
    215 [[nodiscard]] oid column_type(row_size_type col_num) const;
    \n
    216
    \n
    \n-
    218 [[nodiscard]] oid column_type(zview col_name) const
    \n+
    218 [[nodiscard]] oid column_type(zview col_name) const
    \n
    219 {
    \n-
    220 return column_type(column_number(col_name));
    \n+
    220 return column_type(column_number(col_name));
    \n
    221 }
    \n
    \n
    222
    \n
    224 [[nodiscard]] oid column_table(row_size_type col_num) const;
    \n
    225
    \n
    \n-
    227 [[nodiscard]] oid column_table(zview col_name) const
    \n+\n
    228 {
    \n-
    229 return column_table(column_number(col_name));
    \n+
    229 return column_table(column_number(col_name));
    \n
    230 }
    \n
    \n
    231
    \n
    233 [[nodiscard]] row_size_type table_column(row_size_type col_num) const;
    \n
    234
    \n
    \n-
    236 [[nodiscard]] row_size_type table_column(zview col_name) const
    \n+\n
    237 {
    \n-
    238 return table_column(column_number(col_name));
    \n+
    238 return table_column(column_number(col_name));
    \n
    239 }
    \n
    \n
    241
    \n
    243 [[nodiscard]] PQXX_PURE std::string const &query() const & noexcept;
    \n
    244
    \n
    246
    \n
    249 [[nodiscard]] PQXX_PURE oid inserted_oid() const;
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -63,30 +63,30 @@\n 77 using _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be = _\br_\bo_\bw;\n 78 using _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 79 using _\bp_\bo_\bi_\bn_\bt_\be_\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 80 using _\bi_\bt_\be_\br_\ba_\bt_\bo_\br = _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 81 using _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 82 using _\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 83\n-84 _\br_\be_\bs_\bu_\bl_\bt() noexcept :\n+84 _\br_\be_\bs_\bu_\bl_\bt() _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt :\n 85 m_data{}, m_query{}, m_encoding{internal::encoding_group::MONOBYTE}\n 86 {}\n 87\n-88 _\br_\be_\bs_\bu_\bl_\bt(_\br_\be_\bs_\bu_\bl_\bt const &rhs) noexcept = default;\n-89 _\br_\be_\bs_\bu_\bl_\bt(_\br_\be_\bs_\bu_\bl_\bt &&rhs) noexcept = default;\n+88 _\br_\be_\bs_\bu_\bl_\bt(_\br_\be_\bs_\bu_\bl_\bt const &_\br_\bh_\bs) noexcept = default;\n+89 _\br_\be_\bs_\bu_\bl_\bt(_\br_\be_\bs_\bu_\bl_\bt &&_\br_\bh_\bs) noexcept = default;\n 90\n 92\n-_\b9_\b5 _\br_\be_\bs_\bu_\bl_\bt &_\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b=(_\br_\be_\bs_\bu_\bl_\bt const &rhs) noexcept = default;\n+_\b9_\b5 _\br_\be_\bs_\bu_\bl_\bt &_\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b=(_\br_\be_\bs_\bu_\bl_\bt const &_\br_\bh_\bs) noexcept = default;\n 96\n-_\b9_\b8 _\br_\be_\bs_\bu_\bl_\bt &_\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b=(_\br_\be_\bs_\bu_\bl_\bt &&rhs) noexcept = default;\n+_\b9_\b8 _\br_\be_\bs_\bu_\bl_\bt &_\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b=(_\br_\be_\bs_\bu_\bl_\bt &&_\br_\bh_\bs) noexcept = default;\n 99\n-109 [[nodiscard]] bool operator==(_\br_\be_\bs_\bu_\bl_\bt const &) const noexcept;\n-_\b1_\b1_\b1 [[nodiscard]] bool _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b!_\b=(_\br_\be_\bs_\bu_\bl_\bt const &rhs) const noexcept\n+109 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] bool operator==(_\br_\be_\bs_\bu_\bl_\bt const &) const noexcept;\n+_\b1_\b1_\b1 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] bool _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b!_\b=(_\br_\be_\bs_\bu_\bl_\bt const &_\br_\bh_\bs) const noexcept\n 112 {\n-113 return not operator==(rhs);\n+113 return _\bn_\bo_\bt operator==(_\br_\bh_\bs);\n 114 }\n 116\n 118\n 124 template auto iter() const;\n 125\n 126 [[nodiscard]] const_reverse_iterator rbegin() const;\n 127 [[nodiscard]] const_reverse_iterator crbegin() const;\n@@ -117,15 +117,15 @@\n 160#endif // PQXX_HAVE_MULTIDIM\n 161\n 163 row at(size_type) const;\n 164\n 166 field at(size_type, row_size_type) const;\n 167\n 169\n-_\b1_\b7_\b6 void _\bc_\bl_\be_\ba_\br() noexcept\n+_\b1_\b7_\b6 void _\bc_\bl_\be_\ba_\br() _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n 177 {\n 178 m_data.reset();\n 179 m_query = nullptr;\n 180 }\n 181\n 187 [[nodiscard]] PQXX_PURE _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be columns() const noexcept;\n 188\n@@ -138,31 +138,31 @@\n 200\n 202\n 212 [[nodiscard]] int column_type_modifier(_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be number) const\n noexcept;\n 213\n 215 [[nodiscard]] _\bo_\bi_\bd column_type(_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be col_num) const;\n 216\n-_\b2_\b1_\b8 [[nodiscard]] _\bo_\bi_\bd column_type(_\bz_\bv_\bi_\be_\bw col_name) const\n+_\b2_\b1_\b8 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bo_\bi_\bd column_type(_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const\n 219 {\n-220 return column_type(column_number(col_name));\n+220 return column_type(column_number(_\bc_\bo_\bl_\b__\bn_\ba_\bm_\be));\n 221 }\n 222\n 224 [[nodiscard]] _\bo_\bi_\bd column_table(_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be col_num) const;\n 225\n-_\b2_\b2_\b7 [[nodiscard]] _\bo_\bi_\bd _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\ba_\bb_\bl_\be(_\bz_\bv_\bi_\be_\bw col_name) const\n+_\b2_\b2_\b7 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bo_\bi_\bd _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\ba_\bb_\bl_\be(_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const\n 228 {\n-229 return column_table(column_number(col_name));\n+229 return column_table(column_number(_\bc_\bo_\bl_\b__\bn_\ba_\bm_\be));\n 230 }\n 231\n 233 [[nodiscard]] _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be table_column(_\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be col_num) const;\n 234\n-_\b2_\b3_\b6 [[nodiscard]] _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn(_\bz_\bv_\bi_\be_\bw col_name) const\n+_\b2_\b3_\b6 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\br_\bo_\bw_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn(_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const\n 237 {\n-238 return table_column(column_number(col_name));\n+238 return table_column(column_number(_\bc_\bo_\bl_\b__\bn_\ba_\bm_\be));\n 239 }\n 241\n 243 [[nodiscard]] PQXX_PURE std::string const &query() const & noexcept;\n 244\n 246\n 249 [[nodiscard]] PQXX_PURE _\bo_\bi_\bd inserted_oid() const;\n 250\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/result__iter_8hxx_source.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/result__iter_8hxx_source.html", "unified_diff": "@@ -189,43 +189,44 @@\n
    94 pqxx::result const m_home;
    \n
    95};
    \n
    \n
    96} // namespace pqxx::internal
    \n
    97
    \n
    98
    \n
    \n-
    99template<typename... TYPE> inline auto pqxx::result::iter() const
    \n+
    99template<typename... TYPE> inline auto pqxx::result::iter() const
    \n
    100{
    \n-
    101 return pqxx::internal::result_iteration<TYPE...>{*this};
    \n+
    101 return pqxx::internal::result_iteration<TYPE...>{*this};
    \n
    102}
    \n
    \n
    103
    \n
    104
    \n
    105template<typename CALLABLE>
    \n
    \n-
    106inline void pqxx::result::for_each(CALLABLE &&func) const
    \n+\n
    107{
    \n-
    108 using args_tuple = internal::args_t<decltype(func)>;
    \n-
    109 constexpr auto sz{std::tuple_size_v<args_tuple>};
    \n+
    108 using args_tuple = internal::args_t<decltype(func)>;
    \n+
    109 constexpr auto sz{std::tuple_size_v<args_tuple>};
    \n
    110 static_assert(
    \n-
    111 sz > 0,
    \n+
    111 sz > 0,
    \n
    112 "Callback for for_each must take parameters, one for each column in the "
    \n
    113 "result.");
    \n
    114
    \n-
    115 auto const cols{this->columns()};
    \n-
    116 if (sz != cols)
    \n+
    115 auto const cols{this->columns()};
    \n+
    116 if (sz != cols)
    \n \n-
    118 "Callback to for_each takes ", sz, "parameter", (sz == 1) ? "" : "s",
    \n-
    119 ", but result set has ", cols, "field", (cols == 1) ? "" : "s", ".")};
    \n+
    118 "Callback to for_each takes ", sz, "parameter", (sz == 1) ? "" : "s",
    \n+
    119 ", but result set has ", cols, "field", (cols == 1) ? "" : "s", ".")};
    \n
    120
    \n-\n-
    122 for (auto const r : *this) std::apply(func, r.as_tuple<pass_tuple>());
    \n+\n+
    122 for (auto const r : *this) std::apply(func, r.as_tuple<pass_tuple>());
    \n
    123}
    \n
    \n
    124#endif
    \n+
    Reverse iterator for result. Use as result::const_reverse_iterator.
    Definition result_iterator.hxx:194
    \n
    Iterator for looped unpacking of a result.
    Definition result_iter.hxx:27
    \n
    result_iter()=default
    Construct an "end" iterator.
    \n
    bool operator==(result_iter const &rhs) const
    Comparison only works for comparing to end().
    Definition result_iter.hxx:53
    \n
    Definition result_iter.hxx:72
    \n
    Result set containing data returned by a query or command.
    Definition result.hxx:73
    \n
    PQXX_PURE row_size_type columns() const noexcept
    Number of columns in result.
    Definition result.cxx:493
    \n
    void for_each(CALLABLE &&func) const
    Run func on each row, passing the row's fields as parameters.
    Definition result_iter.hxx:106
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -88,40 +88,43 @@\n 92\n 93private:\n 94 _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt const m_home;\n 95};\n 96} // namespace pqxx::internal\n 97\n 98\n-_\b9_\b9template inline auto _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b:_\b:_\bi_\bt_\be_\br() const\n+_\b9_\b9template inline auto _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b:_\b:_\bi_\bt_\be_\br() const\n 100{\n-101 return _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bi_\bo_\bn{*this};\n+101 return _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bi_\bo_\bn<_\bT_\bY_\bP_\bE...>{*this};\n 102}\n 103\n 104\n 105template\n-_\b1_\b0_\b6inline void _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b:_\b:_\bf_\bo_\br_\b__\be_\ba_\bc_\bh(CALLABLE &&func) const\n+_\b1_\b0_\b6inline void _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b:_\b:_\bf_\bo_\br_\b__\be_\ba_\bc_\bh(_\bC_\bA_\bL_\bL_\bA_\bB_\bL_\bE &&_\bf_\bu_\bn_\bc) const\n 107{\n-108 using args_tuple = _\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\ba_\br_\bg_\bs_\b__\bt;\n-109 constexpr auto sz{std::tuple_size_v};\n+108 using _\ba_\br_\bg_\bs_\b__\bt_\bu_\bp_\bl_\be = _\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\ba_\br_\bg_\bs_\b__\bt;\n+109 constexpr auto _\bs_\bz{std::tuple_size_v};\n 110 static_assert(\n-111 sz > 0,\n+111 _\bs_\bz > 0,\n 112 \"Callback for for_each must take parameters, one for each column in the \"\n 113 \"result.\");\n 114\n-115 auto const cols{this->columns()};\n-116 if (sz != cols)\n+115 auto const _\bc_\bo_\bl_\bs{this->columns()};\n+116 if (_\bs_\bz != _\bc_\bo_\bl_\bs)\n 117 throw _\bu_\bs_\ba_\bg_\be_\b__\be_\br_\br_\bo_\br{_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\bc_\bo_\bn_\bc_\ba_\bt(\n-118 \"Callback to for_each takes \", sz, \"parameter\", (sz == 1) ? \"\" : \"s\",\n-119 \", but result set has \", cols, \"field\", (cols == 1) ? \"\" : \"s\", \".\")};\n+118 \"Callback to for_each takes \", _\bs_\bz, \"parameter\", (_\bs_\bz == 1) ? \"\" : \"s\",\n+119 \", but result set has \", _\bc_\bo_\bl_\bs, \"field\", (_\bc_\bo_\bl_\bs == 1) ? \"\" : \"s\", \".\")};\n 120\n-121 using pass_tuple = _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\bs_\bt_\br_\bi_\bp_\b__\bt_\by_\bp_\be_\bs_\b__\bt_\b<_\ba_\br_\bg_\bs_\b__\bt_\bu_\bp_\bl_\be_\b>;\n-122 for (auto const r : *this) std::apply(func, r.as_tuple());\n+121 using _\bp_\ba_\bs_\bs_\b__\bt_\bu_\bp_\bl_\be = _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\bs_\bt_\br_\bi_\bp_\b__\bt_\by_\bp_\be_\bs_\b__\bt_\b<_\ba_\br_\bg_\bs_\b__\bt_\bu_\bp_\bl_\be_\b>;\n+122 for (auto const _\br : *this) std::apply(_\bf_\bu_\bn_\bc, _\br.as_tuple<_\bp_\ba_\bs_\bs_\b__\bt_\bu_\bp_\bl_\be>());\n 123}\n 124#endif\n+_\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+Reverse iterator for result. Use as result::const_reverse_iterator.\n+D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn result_iterator.hxx:194\n _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br\n Iterator for looped unpacking of a result.\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn result_iter.hxx:27\n _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br\n result_iter()=default\n Construct an \"end\" iterator.\n _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\b:_\b:_\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b=_\b=\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/result__iterator_8hxx_source.html", "unified_diff": "@@ -126,32 +126,32 @@\n
    26{
    \n
    28
    \n
    \n
    32class PQXX_LIBEXPORT const_result_iterator : public row
    \n
    33{
    \n
    34public:
    \n
    35 using iterator_category = std::random_access_iterator_tag;
    \n-
    36 using value_type = row const;
    \n-
    37 using pointer = row const *;
    \n+
    36 using value_type = row const;
    \n+
    37 using pointer = row const *;
    \n
    38 using reference = row;
    \n
    39 using size_type = result_size_type;
    \n
    40 using difference_type = result_difference_type;
    \n
    41
    \n
    42#include "pqxx/internal/ignore-deprecated-pre.hxx"
    \n-
    44 const_result_iterator() noexcept = default;
    \n-
    46 const_result_iterator(const_result_iterator const &) noexcept = default;
    \n-\n+\n+\n+\n
    49
    \n-
    51 const_result_iterator(row const &t) noexcept : row{t} {}
    \n+\n
    52#include "pqxx/internal/ignore-deprecated-post.hxx"
    \n
    53
    \n-
    69 [[nodiscard]] pointer operator->() const { return this; }
    \n+
    69 [[nodiscard]] pointer operator->() const { return this; }
    \n
    70
    \n
    71#include "pqxx/internal/ignore-deprecated-pre.hxx"
    \n-
    73 [[nodiscard]] reference operator*() const { return *this; }
    \n+
    73 [[nodiscard]] reference operator*() const { return *this; }
    \n
    74#include "pqxx/internal/ignore-deprecated-post.hxx"
    \n
    76
    \n
    81 using row::back;
    \n
    82 using row::front;
    \n
    83 using row::operator[];
    \n
    84 using row::at;
    \n
    85 using row::rownumber;
    \n@@ -193,18 +193,18 @@\n
    126 const_result_iterator &operator-=(difference_type i)
    \n
    127 {
    \n
    128 m_index -= i;
    \n
    129 return *this;
    \n
    130 }
    \n
    131
    \n
    \n-
    133 void swap(const_result_iterator &other) noexcept
    \n+\n
    134 {
    \n
    135#include "pqxx/internal/ignore-deprecated-pre.hxx"
    \n-
    136 row::swap(other);
    \n+
    136 row::swap(other);
    \n
    137#include "pqxx/internal/ignore-deprecated-post.hxx"
    \n
    138 }
    \n
    \n
    140
    \n
    145 [[nodiscard]] bool operator==(const_result_iterator const &i) const
    \n
    146 {
    \n
    147 return m_index == i.m_index;
    \n@@ -230,54 +230,54 @@\n
    167 return m_index >= i.m_index;
    \n
    168 }
    \n
    170
    \n
    175 [[nodiscard]] inline const_result_iterator operator+(difference_type) const;
    \n
    176 friend const_result_iterator
    \n
    177 operator+(difference_type, const_result_iterator const &);
    \n
    \n-
    178 [[nodiscard]] inline const_result_iterator operator-(difference_type) const;
    \n-
    179 [[nodiscard]] inline difference_type
    \n+
    178 [[nodiscard]] inline const_result_iterator operator-(difference_type) const;
    \n+
    179 [[nodiscard]] inline difference_type
    \n
    \n
    180 operator-(const_result_iterator const &) const;
    \n
    182
    \n
    183private:
    \n
    184 friend class pqxx::result;
    \n-\n-
    186 row{*r, i, r->columns()}
    \n+\n+
    186 row{*r, i, r->columns()}
    \n
    187 {}
    \n
    188};
    \n
    189
    \n
    190
    \n
    \n \n
    193 : private const_result_iterator
    \n
    194{
    \n
    195public:
    \n \n \n
    198 using iterator_type::difference_type;
    \n
    199 using iterator_type::iterator_category;
    \n-
    200 using iterator_type::pointer;
    \n-
    201 using value_type = iterator_type::value_type;
    \n+\n+\n \n
    203
    \n \n-\n+\n
    208 default;
    \n
    \n-\n-\n+\n+\n
    212 {
    \n
    213 super::operator--();
    \n
    214 }
    \n
    \n
    215
    \n
    \n-\n-
    218 const_result_iterator{std::move(rhs)}
    \n+\n+
    218 const_result_iterator{std::move(rhs)}
    \n
    219 {
    \n
    220 super::operator--();
    \n
    221 }
    \n
    \n
    222
    \n
    224 [[nodiscard]] PQXX_PURE const_result_iterator base() const noexcept;
    \n
    225
    \n@@ -428,14 +428,15 @@\n
    const_result_iterator() noexcept=default
    Create an iterator, but in an unusable state.
    \n
    reference operator*() const
    Dereference the iterator.
    Definition result_iterator.hxx:73
    \n
    Reverse iterator for result. Use as result::const_reverse_iterator.
    Definition result_iterator.hxx:194
    \n
    const_reverse_result_iterator(const_reverse_result_iterator const &rhs)=default
    Copy an iterator.
    \n
    const_reverse_result_iterator(const_result_iterator const &rhs)
    Copy a reverse iterator from a regular iterator.
    Definition result_iterator.hxx:210
    \n
    const_reverse_result_iterator(const_result_iterator const &&rhs)
    Move a regular iterator into a reverse iterator.
    Definition result_iterator.hxx:217
    \n
    const_reverse_result_iterator()=default
    Create an iterator, but in an unusable state.
    \n+
    Reverse iterator for a row. Use as row::const_reverse_iterator.
    Definition row.hxx:406
    \n
    Result set containing data returned by a query or command.
    Definition result.hxx:73
    \n
    Reference to one row in a result.
    Definition row.hxx:47
    \n
    result m_result
    Result set of which this is one row.
    Definition row.hxx:249
    \n
    result::size_type m_index
    Row number.
    Definition row.hxx:256
    \n
    The home of all libpqxx classes, functions, templates, etc.
    Definition array.cxx:27
    \n
    int result_difference_type
    Difference between result sizes.
    Definition types.hxx:31
    \n
    int result_size_type
    Number of rows in a result set.
    Definition types.hxx:28
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -32,32 +32,32 @@\n 25namespace _\bp_\bq_\bx_\bx\n 26{\n 28\n _\b3_\b2class PQXX_LIBEXPORT _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br : public _\br_\bo_\bw\n 33{\n 34public:\n 35 using iterator_category = std::random_access_iterator_tag;\n-36 using value_type = _\br_\bo_\bw const;\n-37 using pointer = _\br_\bo_\bw const *;\n+36 using _\bv_\ba_\bl_\bu_\be_\b__\bt_\by_\bp_\be = _\br_\bo_\bw const;\n+37 using _\bp_\bo_\bi_\bn_\bt_\be_\br = _\br_\bo_\bw const *;\n 38 using _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be = _\br_\bo_\bw;\n 39 using size_type = _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be;\n 40 using difference_type = _\br_\be_\bs_\bu_\bl_\bt_\b__\bd_\bi_\bf_\bf_\be_\br_\be_\bn_\bc_\be_\b__\bt_\by_\bp_\be;\n 41\n 42#include \"pqxx/internal/ignore-deprecated-pre.hxx\"\n-_\b4_\b4 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br() noexcept = default;\n-_\b4_\b6 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &) noexcept = default;\n-_\b4_\b8 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &&) noexcept = default;\n+_\b4_\b4 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br() _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt = _\bd_\be_\bf_\ba_\bu_\bl_\bt;\n+_\b4_\b6 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br _\bc_\bo_\bn_\bs_\bt &) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt = _\bd_\be_\bf_\ba_\bu_\bl_\bt;\n+_\b4_\b8 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &&) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt = _\bd_\be_\bf_\ba_\bu_\bl_\bt;\n 49\n-_\b5_\b1 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\br_\bo_\bw const &t) noexcept : _\br_\bo_\bw{t} {}\n+_\b5_\b1 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\br_\bo_\bw _\bc_\bo_\bn_\bs_\bt &_\bt) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt : _\br_\bo_\bw{_\bt} {}\n 52#include \"pqxx/internal/ignore-deprecated-post.hxx\"\n 53\n-_\b6_\b9 [[nodiscard]] pointer _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b-_\b>() const { return this; }\n+_\b6_\b9 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bp_\bo_\bi_\bn_\bt_\be_\br _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b-_\b>() const { return this; }\n 70\n 71#include \"pqxx/internal/ignore-deprecated-pre.hxx\"\n-_\b7_\b3 [[nodiscard]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b*() const { return *this; }\n+_\b7_\b3 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be _\bo_\bp_\be_\br_\ba_\bt_\bo_\br_\b*() const { return *this; }\n 74#include \"pqxx/internal/ignore-deprecated-post.hxx\"\n 76\n 81 using row::back;\n 82 using row::front;\n 83 using row::operator[];\n 84 using row::at;\n 85 using row::rownumber;\n@@ -98,18 +98,18 @@\n 125 }\n 126 const_result_iterator &operator-=(difference_type i)\n 127 {\n 128 m_index -= i;\n 129 return *this;\n 130 }\n 131\n-_\b1_\b3_\b3 void _\bs_\bw_\ba_\bp(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &other) noexcept\n+_\b1_\b3_\b3 void _\bs_\bw_\ba_\bp(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br &_\bo_\bt_\bh_\be_\br) noexcept\n 134 {\n 135#include \"pqxx/internal/ignore-deprecated-pre.hxx\"\n-136 row::swap(other);\n+136 row::swap(_\bo_\bt_\bh_\be_\br);\n 137#include \"pqxx/internal/ignore-deprecated-post.hxx\"\n 138 }\n 140\n 145 [[nodiscard]] bool operator==(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &i) const\n 146 {\n 147 return m_index == i._\bm_\b__\bi_\bn_\bd_\be_\bx;\n 148 }\n@@ -134,50 +134,50 @@\n 167 return m_index >= i.m_index;\n 168 }\n 170\n 175 [[nodiscard]] inline const_result_iterator operator+(difference_type)\n const;\n 176 friend const_result_iterator\n 177 operator+(difference_type, const_result_iterator const &);\n-_\b1_\b7_\b8 [[nodiscard]] inline _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br operator-(difference_type)\n+_\b1_\b7_\b8 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] inline _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br operator-(difference_type)\n const;\n-179 [[nodiscard]] inline difference_type\n+179 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] inline difference_type\n _\b1_\b8_\b0 operator-(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &) const;\n 182\n 183private:\n 184 friend class _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt;\n-185 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt const *r, _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be i) noexcept :\n-186 _\br_\bo_\bw{*r, i, r->columns()}\n+185 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt const *_\br, _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be _\bi) _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt :\n+186 _\br_\bo_\bw{*_\br, _\bi, _\br->columns()}\n 187 {}\n 188};\n 189\n 190\n _\b1_\b9_\b2class PQXX_LIBEXPORT _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n 193 : private _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n 194{\n 195public:\n 196 using _\bs_\bu_\bp_\be_\br = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 197 using _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b__\bt_\by_\bp_\be = _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 198 using iterator_type::difference_type;\n 199 using iterator_type::iterator_category;\n-200 using iterator_type::pointer;\n-201 using value_type = iterator_type::value_type;\n+200 using _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b__\bt_\by_\bp_\be_\b:_\b:_\bp_\bo_\bi_\bn_\bt_\be_\br;\n+201 using _\bv_\ba_\bl_\bu_\be_\b__\bt_\by_\bp_\be = _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b__\bt_\by_\bp_\be_\b:_\b:_\bv_\ba_\bl_\bu_\be_\b__\bt_\by_\bp_\be;\n 202 using _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be = _\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b__\bt_\by_\bp_\be_\b:_\b:_\br_\be_\bf_\be_\br_\be_\bn_\bc_\be;\n 203\n _\b2_\b0_\b5 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br() = default;\n-_\b2_\b0_\b7 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &rhs) =\n+_\b2_\b0_\b7 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &_\br_\bh_\bs) =\n 208 default;\n-_\b2_\b1_\b0 explicit _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &rhs) :\n-211 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br{rhs}\n+_\b2_\b1_\b0 explicit _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &_\br_\bh_\bs) :\n+211 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br{_\br_\bh_\bs}\n 212 {\n 213 super::operator--();\n 214 }\n 215\n-_\b2_\b1_\b7 explicit _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &&rhs) :\n-218 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br{std::move(rhs)}\n+_\b2_\b1_\b7 explicit _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br(_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br const &&_\br_\bh_\bs) :\n+218 _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br{std::move(_\br_\bh_\bs)}\n 219 {\n 220 super::operator--();\n 221 }\n 222\n 224 [[nodiscard]] PQXX_PURE _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br base() const noexcept;\n 225\n 231 using _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br::operator->;\n@@ -352,14 +352,17 @@\n _\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n const_reverse_result_iterator(const_result_iterator const &&rhs)\n Move a regular iterator into a reverse iterator.\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn result_iterator.hxx:217\n _\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n const_reverse_result_iterator()=default\n Create an iterator, but in an unusable state.\n+_\bp_\bq_\bx_\bx_\b:_\b:_\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br\n+Reverse iterator for a row. Use as row::const_reverse_iterator.\n+D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn row.hxx:406\n _\bp_\bq_\bx_\bx_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt\n Result set containing data returned by a query or command.\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn result.hxx:73\n _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw\n Reference to one row in a result.\n D\bDe\bef\bfi\bin\bni\bit\bti\bio\bon\bn row.hxx:47\n _\bp_\bq_\bx_\bx_\b:_\b:_\br_\bo_\bw_\b:_\b:_\bm_\b__\br_\be_\bs_\bu_\bl_\bt\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/row_8hxx_source.html", "unified_diff": "@@ -149,102 +149,102 @@\n
    59
    \n
    60 row() noexcept = default;
    \n
    61 row(row &&) noexcept = default;
    \n
    62 row(row const &) noexcept = default;
    \n
    63 row &operator=(row const &) noexcept = default;
    \n
    64 row &operator=(row &&) noexcept = default;
    \n
    65
    \n-
    70 [[nodiscard]] PQXX_PURE bool operator==(row const &) const noexcept;
    \n-
    71 [[nodiscard]] bool operator!=(row const &rhs) const noexcept
    \n+
    70 [[nodiscard]] PQXX_PURE bool operator==(row const &) const noexcept;
    \n+
    71 [[nodiscard]] bool operator!=(row const &rhs) const noexcept
    \n
    72 {
    \n-
    73 return not operator==(rhs);
    \n+
    73 return not operator==(rhs);
    \n
    74 }
    \n
    76
    \n-
    77 [[nodiscard]] const_iterator begin() const noexcept;
    \n-
    78 [[nodiscard]] const_iterator cbegin() const noexcept;
    \n-
    79 [[nodiscard]] const_iterator end() const noexcept;
    \n-
    80 [[nodiscard]] const_iterator cend() const noexcept;
    \n+
    77 [[nodiscard]] const_iterator begin() const noexcept;
    \n+
    78 [[nodiscard]] const_iterator cbegin() const noexcept;
    \n+
    79 [[nodiscard]] const_iterator end() const noexcept;
    \n+
    80 [[nodiscard]] const_iterator cend() const noexcept;
    \n
    81
    \n-
    86 [[nodiscard]] reference front() const noexcept;
    \n-
    87 [[nodiscard]] reference back() const noexcept;
    \n+
    86 [[nodiscard]] reference front() const noexcept;
    \n+
    87 [[nodiscard]] reference back() const noexcept;
    \n
    88
    \n-
    89 [[nodiscard]] const_reverse_row_iterator rbegin() const noexcept;
    \n-
    90 [[nodiscard]] const_reverse_row_iterator crbegin() const noexcept;
    \n-
    91 [[nodiscard]] const_reverse_row_iterator rend() const noexcept;
    \n-
    92 [[nodiscard]] const_reverse_row_iterator crend() const noexcept;
    \n+
    89 [[nodiscard]] const_reverse_row_iterator rbegin() const noexcept;
    \n+
    90 [[nodiscard]] const_reverse_row_iterator crbegin() const noexcept;
    \n+
    91 [[nodiscard]] const_reverse_row_iterator rend() const noexcept;
    \n+
    92 [[nodiscard]] const_reverse_row_iterator crend() const noexcept;
    \n
    93
    \n-
    94 [[nodiscard]] reference operator[](size_type) const noexcept;
    \n-
    98 [[nodiscard]] reference operator[](zview col_name) const;
    \n+
    94 [[nodiscard]] reference operator[](size_type) const noexcept;
    \n+
    98 [[nodiscard]] reference operator[](zview col_name) const;
    \n
    99
    \n
    100 reference at(size_type) const;
    \n-
    104 reference at(zview col_name) const;
    \n+
    104 reference at(zview col_name) const;
    \n
    105
    \n-
    106 [[nodiscard]] constexpr size_type size() const noexcept
    \n+
    106 [[nodiscard]] constexpr size_type size() const noexcept
    \n
    107 {
    \n
    108 return m_end - m_begin;
    \n
    109 }
    \n
    110
    \n
    \n-
    112 [[nodiscard]] constexpr result::size_type rownumber() const noexcept
    \n+
    112 [[nodiscard]] constexpr result::size_type rownumber() const noexcept
    \n
    113 {
    \n
    114 return m_index;
    \n
    115 }
    \n
    \n
    116
    \n
    122 [[nodiscard]] size_type column_number(zview col_name) const;
    \n
    123
    \n
    125 [[nodiscard]] oid column_type(size_type) const;
    \n
    126
    \n
    \n-
    128 [[nodiscard]] oid column_type(zview col_name) const
    \n+\n
    129 {
    \n-
    130 return column_type(column_number(col_name));
    \n+
    130 return column_type(column_number(col_name));
    \n
    131 }
    \n
    \n
    132
    \n
    134 [[nodiscard]] oid column_table(size_type col_num) const;
    \n
    135
    \n
    \n-
    137 [[nodiscard]] oid column_table(zview col_name) const
    \n+\n
    138 {
    \n-
    139 return column_table(column_number(col_name));
    \n+
    139 return column_table(column_number(col_name));
    \n
    140 }
    \n
    \n
    141
    \n
    143
    \n
    150 [[nodiscard]] size_type table_column(size_type) const;
    \n
    151
    \n
    \n-
    153 [[nodiscard]] size_type table_column(zview col_name) const
    \n+\n
    154 {
    \n-
    155 return table_column(column_number(col_name));
    \n+
    155 return table_column(column_number(col_name));
    \n
    156 }
    \n
    \n
    158
    \n
    159 [[nodiscard]] constexpr result::size_type num() const noexcept
    \n
    160 {
    \n
    161 return rownumber();
    \n
    162 }
    \n
    163
    \n
    165
    \n
    \n-
    173 template<typename Tuple> void to(Tuple &t) const
    \n+
    173 template<typename Tuple> void to(Tuple &t) const
    \n
    174 {
    \n
    175 check_size(std::tuple_size_v<Tuple>);
    \n-
    176 convert(t);
    \n+
    176 convert(t);
    \n
    177 }
    \n
    \n
    178
    \n
    180
    \n
    \n-
    188 template<typename... TYPE> std::tuple<TYPE...> as() const
    \n+
    188 template<typename... TYPE> std::tuple<TYPE...> as() const
    \n
    189 {
    \n-
    190 check_size(sizeof...(TYPE));
    \n-
    191 using seq = std::make_index_sequence<sizeof...(TYPE)>;
    \n-
    192 return get_tuple<std::tuple<TYPE...>>(seq{});
    \n+
    190 check_size(sizeof...(TYPE));
    \n+
    191 using seq = std::make_index_sequence<sizeof...(TYPE)>;
    \n+
    192 return get_tuple<std::tuple<TYPE...>>(seq{});
    \n
    193 }
    \n
    \n
    194
    \n
    195 [[deprecated("Swap iterators, not rows.")]] void swap(row &) noexcept;
    \n
    196
    \n
    208 [[deprecated("Row slicing is going away. File a bug if you need it.")]] row
    \n
    209 slice(size_type sbegin, size_type send) const;
    \n@@ -254,37 +254,37 @@\n
    214
    \n
    215protected:
    \n
    216 friend class const_row_iterator;
    \n
    217 friend class result;
    \n
    218 row(result const &r, result_size_type index, size_type cols) noexcept;
    \n
    219
    \n
    \n-
    221 void check_size(size_type expected) const
    \n+
    221 void check_size(size_type expected) const
    \n
    222 {
    \n-
    223 if (size() != expected)
    \n+
    223 if (size() != expected)
    \n
    224 throw usage_error{internal::concat(
    \n-
    225 "Tried to extract ", expected, " field(s) from a row of ", size(),
    \n+
    225 "Tried to extract ", expected, " field(s) from a row of ", size(),
    \n
    226 ".")};
    \n
    227 }
    \n
    \n
    228
    \n
    230
    \n
    \n-
    233 template<typename TUPLE> TUPLE as_tuple() const
    \n+
    233 template<typename TUPLE> TUPLE as_tuple() const
    \n
    234 {
    \n-
    235 using seq = std::make_index_sequence<std::tuple_size_v<TUPLE>>;
    \n-
    236 return get_tuple<TUPLE>(seq{});
    \n+
    235 using seq = std::make_index_sequence<std::tuple_size_v<TUPLE>>;
    \n+
    236 return get_tuple<TUPLE>(seq{});
    \n
    237 }
    \n
    \n
    238
    \n
    239 template<typename... T> friend class pqxx::internal::result_iter;
    \n
    \n-
    241 template<typename Tuple> void convert(Tuple &t) const
    \n+
    241 template<typename Tuple> void convert(Tuple &t) const
    \n
    242 {
    \n-
    243 extract_fields(t, std::make_index_sequence<std::tuple_size_v<Tuple>>{});
    \n+
    243 extract_fields(t, std::make_index_sequence<std::tuple_size_v<Tuple>>{});
    \n
    244 }
    \n
    \n
    245
    \n
    246 friend class field;
    \n
    247
    \n \n
    250
    \n@@ -292,18 +292,18 @@\n
    256 result::size_type m_index = 0;
    \n
    257
    \n
    258 // TODO: Remove m_begin and (if possible) m_end when we remove slice().
    \n
    260 size_type m_begin = 0;
    \n
    262 size_type m_end = 0;
    \n
    263
    \n
    264private:
    \n-
    265 template<typename Tuple, std::size_t... indexes>
    \n-
    266 void extract_fields(Tuple &t, std::index_sequence<indexes...>) const
    \n+
    265 template<typename Tuple, std::size_t... indexes>
    \n+
    266 void extract_fields(Tuple &t, std::index_sequence<indexes...>) const
    \n
    267 {
    \n-
    268 (extract_value<Tuple, indexes>(t), ...);
    \n+\n
    269 }
    \n
    270
    \n
    271 template<typename Tuple, std::size_t index>
    \n
    272 void extract_value(Tuple &t) const;
    \n
    273
    \n
    275 template<typename TUPLE, std::size_t... indexes>
    \n
    276 auto get_tuple(std::index_sequence<indexes...>) const
    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -54,91 +54,91 @@\n 59\n 60 _\br_\bo_\bw() noexcept = default;\n 61 _\br_\bo_\bw(_\br_\bo_\bw &&) noexcept = default;\n 62 _\br_\bo_\bw(_\br_\bo_\bw const &) noexcept = default;\n 63 _\br_\bo_\bw &operator=(_\br_\bo_\bw const &) noexcept = default;\n 64 _\br_\bo_\bw &operator=(_\br_\bo_\bw &&) noexcept = default;\n 65\n-70 [[nodiscard]] PQXX_PURE bool operator==(_\br_\bo_\bw const &) const noexcept;\n-71 [[nodiscard]] bool operator!=(_\br_\bo_\bw const &rhs) const noexcept\n+70 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] PQXX_PURE bool operator==(_\br_\bo_\bw const &) const noexcept;\n+71 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] bool operator!=(_\br_\bo_\bw const &_\br_\bh_\bs) const noexcept\n 72 {\n-73 return not operator==(rhs);\n+73 return _\bn_\bo_\bt operator==(_\br_\bh_\bs);\n 74 }\n 76\n-77 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br begin() const noexcept;\n-78 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br cbegin() const noexcept;\n-79 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br end() const noexcept;\n-80 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br cend() const noexcept;\n+77 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br begin() const noexcept;\n+78 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br cbegin() const noexcept;\n+79 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br end() const noexcept;\n+80 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br cend() const noexcept;\n 81\n-86 [[nodiscard]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be front() const noexcept;\n-87 [[nodiscard]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be back() const noexcept;\n+86 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be front() const noexcept;\n+87 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be back() const noexcept;\n 88\n-89 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br rbegin() const noexcept;\n-90 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br crbegin() const noexcept;\n-91 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br rend() const noexcept;\n-92 [[nodiscard]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br crend() const noexcept;\n+89 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br rbegin() const noexcept;\n+90 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br crbegin() const noexcept;\n+91 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br rend() const noexcept;\n+92 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bc_\bo_\bn_\bs_\bt_\b__\br_\be_\bv_\be_\br_\bs_\be_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br crend() const noexcept;\n 93\n-94 [[nodiscard]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be operator[](size_type) const noexcept;\n-98 [[nodiscard]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be operator[](_\bz_\bv_\bi_\be_\bw col_name) const;\n+94 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be operator[](size_type) const noexcept;\n+98 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be operator[](_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const;\n 99\n 100 _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be at(size_type) const;\n-104 _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be at(_\bz_\bv_\bi_\be_\bw col_name) const;\n+104 _\br_\be_\bf_\be_\br_\be_\bn_\bc_\be at(_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const;\n 105\n-106 [[nodiscard]] constexpr size_type size() const noexcept\n+106 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] constexpr size_type size() const noexcept\n 107 {\n 108 return m_end - m_begin;\n 109 }\n 110\n-_\b1_\b1_\b2 [[nodiscard]] constexpr result::size_type _\br_\bo_\bw_\bn_\bu_\bm_\bb_\be_\br() const noexcept\n+_\b1_\b1_\b2 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] constexpr result::size_type _\br_\bo_\bw_\bn_\bu_\bm_\bb_\be_\br() _\bc_\bo_\bn_\bs_\bt _\bn_\bo_\be_\bx_\bc_\be_\bp_\bt\n 113 {\n 114 return m_index;\n 115 }\n 116\n 122 [[nodiscard]] size_type column_number(_\bz_\bv_\bi_\be_\bw col_name) const;\n 123\n 125 [[nodiscard]] _\bo_\bi_\bd column_type(size_type) const;\n 126\n-_\b1_\b2_\b8 [[nodiscard]] _\bo_\bi_\bd _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\by_\bp_\be(_\bz_\bv_\bi_\be_\bw col_name) const\n+_\b1_\b2_\b8 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bo_\bi_\bd _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\by_\bp_\be(_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const\n 129 {\n-130 return column_type(column_number(col_name));\n+130 return column_type(column_number(_\bc_\bo_\bl_\b__\bn_\ba_\bm_\be));\n 131 }\n 132\n 134 [[nodiscard]] _\bo_\bi_\bd column_table(size_type col_num) const;\n 135\n-_\b1_\b3_\b7 [[nodiscard]] _\bo_\bi_\bd _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\ba_\bb_\bl_\be(_\bz_\bv_\bi_\be_\bw col_name) const\n+_\b1_\b3_\b7 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] _\bo_\bi_\bd _\bc_\bo_\bl_\bu_\bm_\bn_\b__\bt_\ba_\bb_\bl_\be(_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const\n 138 {\n-139 return column_table(column_number(col_name));\n+139 return column_table(column_number(_\bc_\bo_\bl_\b__\bn_\ba_\bm_\be));\n 140 }\n 141\n 143\n 150 [[nodiscard]] size_type table_column(size_type) const;\n 151\n-_\b1_\b5_\b3 [[nodiscard]] size_type _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn(_\bz_\bv_\bi_\be_\bw col_name) const\n+_\b1_\b5_\b3 [[_\bn_\bo_\bd_\bi_\bs_\bc_\ba_\br_\bd]] size_type _\bt_\ba_\bb_\bl_\be_\b__\bc_\bo_\bl_\bu_\bm_\bn(_\bz_\bv_\bi_\be_\bw _\bc_\bo_\bl_\b__\bn_\ba_\bm_\be) const\n 154 {\n-155 return table_column(column_number(col_name));\n+155 return table_column(column_number(_\bc_\bo_\bl_\b__\bn_\ba_\bm_\be));\n 156 }\n 158\n 159 [[nodiscard]] constexpr result::size_type num() const noexcept\n 160 {\n 161 return rownumber();\n 162 }\n 163\n 165\n-_\b1_\b7_\b3 template void _\bt_\bo(Tuple &t) const\n+_\b1_\b7_\b3 template void _\bt_\bo(_\bT_\bu_\bp_\bl_\be &_\bt) const\n 174 {\n 175 check_size(std::tuple_size_v);\n-176 convert(t);\n+176 convert(_\bt);\n 177 }\n 178\n 180\n-_\b1_\b8_\b8 template std::tuple _\ba_\bs() const\n+_\b1_\b8_\b8 template std::tuple<_\bT_\bY_\bP_\bE...> _\ba_\bs() const\n 189 {\n-190 check_size(sizeof...(TYPE));\n-191 using seq = std::make_index_sequence;\n-192 return get_tuple>(seq{});\n+190 check_size(sizeof...(_\bT_\bY_\bP_\bE));\n+191 using _\bs_\be_\bq = std::make_index_sequence;\n+192 return get_tuple>(_\bs_\be_\bq{});\n 193 }\n 194\n 195 [[deprecated(\"Swap iterators, not rows.\")]] void swap(_\br_\bo_\bw &) noexcept;\n 196\n 208 [[deprecated(\"Row slicing is going away. File a bug if you need it.\")]] _\br_\bo_\bw\n 209 slice(size_type sbegin, size_type send) const;\n 210\n@@ -146,51 +146,51 @@\n 213 empty() const noexcept;\n 214\n 215protected:\n 216 friend class _\bc_\bo_\bn_\bs_\bt_\b__\br_\bo_\bw_\b__\bi_\bt_\be_\br_\ba_\bt_\bo_\br;\n 217 friend class _\br_\be_\bs_\bu_\bl_\bt;\n 218 _\br_\bo_\bw(_\br_\be_\bs_\bu_\bl_\bt const &r, _\br_\be_\bs_\bu_\bl_\bt_\b__\bs_\bi_\bz_\be_\b__\bt_\by_\bp_\be index, size_type cols) noexcept;\n 219\n-_\b2_\b2_\b1 void check_size(size_type expected) const\n+_\b2_\b2_\b1 void check_size(size_type _\be_\bx_\bp_\be_\bc_\bt_\be_\bd) const\n 222 {\n-223 if (size() != expected)\n+223 if (size() != _\be_\bx_\bp_\be_\bc_\bt_\be_\bd)\n 224 throw _\bu_\bs_\ba_\bg_\be_\b__\be_\br_\br_\bo_\br{internal::concat(\n-225 \"Tried to extract \", expected, \" field(s) from a row of \", size(),\n+225 \"Tried to extract \", _\be_\bx_\bp_\be_\bc_\bt_\be_\bd, \" field(s) from a row of \", size(),\n 226 \".\")};\n 227 }\n 228\n 230\n-_\b2_\b3_\b3 template TUPLE _\ba_\bs_\b__\bt_\bu_\bp_\bl_\be() const\n+_\b2_\b3_\b3 template _\bT_\bU_\bP_\bL_\bE _\ba_\bs_\b__\bt_\bu_\bp_\bl_\be() const\n 234 {\n-235 using seq = std::make_index_sequence>;\n-236 return get_tuple(seq{});\n+235 using _\bs_\be_\bq = std::make_index_sequence>;\n+236 return _\bg_\be_\bt_\b__\bt_\bu_\bp_\bl_\be_\b<_\bT_\bU_\bP_\bL_\bE_\b>(_\bs_\be_\bq{});\n 237 }\n 238\n 239 template friend class _\bp_\bq_\bx_\bx_\b:_\b:_\bi_\bn_\bt_\be_\br_\bn_\ba_\bl_\b:_\b:_\br_\be_\bs_\bu_\bl_\bt_\b__\bi_\bt_\be_\br;\n-_\b2_\b4_\b1 template void _\bc_\bo_\bn_\bv_\be_\br_\bt(Tuple &t) const\n+_\b2_\b4_\b1 template void _\bc_\bo_\bn_\bv_\be_\br_\bt(_\bT_\bu_\bp_\bl_\be &_\bt) const\n 242 {\n-243 extract_fields(t, std::make_index_sequence>{});\n+243 extract_fields(_\bt, std::make_index_sequence>{});\n 244 }\n 245\n 246 friend class _\bf_\bi_\be_\bl_\bd;\n 247\n _\b2_\b4_\b9 _\br_\be_\bs_\bu_\bl_\bt _\bm_\b__\br_\be_\bs_\bu_\bl_\bt;\n 250\n 252\n _\b2_\b5_\b6 result::size_type m_index = 0;\n 257\n 258 // TODO: Remove m_begin and (if possible) m_end when we remove slice().\n _\b2_\b6_\b0 size_type m_begin = 0;\n _\b2_\b6_\b2 size_type m_end = 0;\n 263\n 264private:\n-265 template\n-266 void extract_fields(Tuple &t, std::index_sequence) const\n+265 template\n+266 void extract_fields(_\bT_\bu_\bp_\bl_\be &_\bt, std::index_sequence) const\n 267 {\n-268 (extract_value(t), ...);\n+268 (_\be_\bx_\bt_\br_\ba_\bc_\bt_\b__\bv_\ba_\bl_\bu_\be_\b<_\bT_\bu_\bp_\bl_\be_\b,_\b _\bi_\bn_\bd_\be_\bx_\be_\bs_\b>(_\bt), ...);\n 269 }\n 270\n 271 template\n 272 void extract_value(Tuple &t) const;\n 273\n 275 template\n 276 auto get_tuple(std::index_sequence) const\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_0.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_0.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,13 +1,13 @@\n var searchData = [\n- ['a_20new_20type_0', ['Supporting a new type', ['../datatypes.html#autotoc_md18', 1, '']]],\n- ['a_20query_20em_1', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md14', 1, '']]],\n- ['a_20special_20prepared_20statement_2', ['A special prepared statement', ['../prepared.html#autotoc_md10', 1, '']]],\n- ['a_20statement_3', ['Preparing a statement', ['../prepared.html#autotoc_md8', 1, '']]],\n- ['a_20table_20em_4', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md16', 1, '']]],\n+ ['a_20new_20type_0', ['Supporting a new type', ['../datatypes.html#autotoc_md5', 1, '']]],\n+ ['a_20query_20em_1', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md25', 1, '']]],\n+ ['a_20special_20prepared_20statement_2', ['A special prepared statement', ['../prepared.html#autotoc_md21', 1, '']]],\n+ ['a_20statement_3', ['Preparing a statement', ['../prepared.html#autotoc_md19', 1, '']]],\n+ ['a_20table_20em_4', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md27', 1, '']]],\n ['abort_5', ['abort', ['../group__transactions.html#a955f2497216d9eae268ac662b46d5a45', 1, 'pqxx::transaction_base']]],\n ['access_5fpolicy_6', ['access_policy', ['../classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2', 1, 'pqxx::cursor_base']]],\n ['accessing_20results_20and_20result_20rows_7', ['Accessing results and result rows', ['../accessing-results.html', 1, '']]],\n ['additional_20data_20types_8', ['Supporting additional data types', ['../datatypes.html', 1, '']]],\n ['adorn_5fname_9', ['adorn_name', ['../classpqxx_1_1connection.html#ab4cbd2e2d30694fcaf0969c33fbeaa8f', 1, 'pqxx::connection']]],\n ['affected_5frows_10', ['affected_rows', ['../classpqxx_1_1result.html#af73d036566ef69618f8b22ba9a220a2e', 1, 'pqxx::result']]],\n ['all_11', ['all', ['../classpqxx_1_1cursor__base.html#a8ce6273da334bfd0a571c47a7eece137', 1, 'pqxx::cursor_base']]],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_1.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_1.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -35,13 +35,13 @@\n ['../classpqxx_1_1blob.html#a3c1c5fcc157476dfe938c6901059502f', 1, 'pqxx::blob::blob()=default'],\n ['../classpqxx_1_1blob.html#aafa3ce93f6401c592f8985217be1d416', 1, 'pqxx::blob::blob(blob &&)']\n ]],\n ['broken_5fconnection_15', ['broken_connection', ['../group__exception.html#structpqxx_1_1broken__connection', 1, 'pqxx']]],\n ['byte_5fchar_5ftraits_16', ['byte_char_traits', ['../structpqxx_1_1byte__char__traits.html', 1, 'pqxx']]],\n ['bytes_17', ['bytes', ['../group__escaping-functions.html#a9c32ded06d7701f6aec265699b09a3d7', 1, 'pqxx::binarystring::bytes()'],\n ['../namespacepqxx.html#ac5e2f3e80ccc3a5f58bab7d699c9be05', 1, 'pqxx::bytes'],\n- ['../prepared.html#autotoc_md12', 1, 'Zero bytes']\n+ ['../prepared.html#autotoc_md23', 1, 'Zero bytes']\n ]],\n ['bytes_5fview_18', ['bytes_view', ['../group__escaping-functions.html#a896578493ce8e0a82e1b2de5fc786c17', 1, 'pqxx::binarystring::bytes_view()'],\n ['../namespacepqxx.html#adf98e8b2ed585c586f9575928421e07d', 1, 'pqxx::bytes_view']\n ]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_10.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_10.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -39,31 +39,31 @@\n ['../classpqxx_1_1internal_1_1result__iter.html#a0c920149f5043b7d03b7ac765447a929', 1, 'pqxx::internal::result_iter::result_iter()']\n ]],\n ['result_5fiteration_24', ['result_iteration', ['../classpqxx_1_1internal_1_1result__iteration.html', 1, 'pqxx::internal']]],\n ['result_5fpipeline_25', ['result_pipeline', ['../classpqxx_1_1internal_1_1gate_1_1result__pipeline.html', 1, 'pqxx::internal::gate']]],\n ['result_5fsize_5ftype_26', ['result_size_type', ['../namespacepqxx.html#a937d9f67d0bc04774b85efa58736852b', 1, 'pqxx']]],\n ['result_5fsql_5fcursor_27', ['result_sql_cursor', ['../classpqxx_1_1internal_1_1gate_1_1result__sql__cursor.html', 1, 'pqxx::internal::gate']]],\n ['results_20and_20result_20rows_28', ['Accessing results and result rows', ['../accessing-results.html', 1, '']]],\n- ['results_20with_20metadata_29', ['Results with metadata', ['../accessing-results.html#autotoc_md3', 1, '']]],\n+ ['results_20with_20metadata_29', ['Results with metadata', ['../accessing-results.html#autotoc_md2', 1, '']]],\n ['resume_30', ['resume', ['../classpqxx_1_1pipeline.html#a06667e2e73b597586e61cae8533a2874', 1, 'pqxx::pipeline']]],\n ['retain_31', ['retain', ['../classpqxx_1_1pipeline.html#a5de968e394d7d9b68cfd84f9ae93f5bb', 1, 'pqxx::pipeline']]],\n ['retrieve_32', ['retrieve', ['../classpqxx_1_1pipeline.html#a5f8dfe951c18c19f24dd2e7a30ef276d', 1, 'pqxx::pipeline::retrieve()'],\n ['../classpqxx_1_1pipeline.html#a19c508710d0025993e41512f23de56be', 1, 'pqxx::pipeline::retrieve(query_id qid)'],\n ['../classpqxx_1_1stateless__cursor.html#a97046479f709ae621473c48ed7a0932d', 1, 'pqxx::stateless_cursor::retrieve()']\n ]],\n- ['right_20for_20my_20query_33', ['Is streaming right for my query?', ['../streams.html#autotoc_md15', 1, '']]],\n+ ['right_20for_20my_20query_33', ['Is streaming right for my query?', ['../streams.html#autotoc_md26', 1, '']]],\n ['row_34', ['row', ['../classpqxx_1_1row.html#a734e6042a829b78c4abef2cfd77d1025', 1, 'pqxx::row::row()'],\n ['../classpqxx_1_1row.html', 1, 'pqxx::row']\n ]],\n ['row_5fdifference_5ftype_35', ['row_difference_type', ['../namespacepqxx.html#a3269cdd94e1966b5d9e5d175f27741db', 1, 'pqxx']]],\n ['row_5fend_36', ['row_end', ['../classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189eab11c3eff6dd36f1f7136020d32b38051', 1, 'pqxx::array_parser']]],\n ['row_5fsize_5ftype_37', ['row_size_type', ['../namespacepqxx.html#a2dedde27863671a16a59f2625bf03d03', 1, 'pqxx']]],\n ['row_5fstart_38', ['row_start', ['../classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea776234b9f0a5c0e802f2790824042092', 1, 'pqxx::array_parser']]],\n ['rownumber_39', ['rownumber', ['../classpqxx_1_1const__reverse__result__iterator.html#aadd30c2141060d954c16301e3711a02c', 1, 'pqxx::const_reverse_result_iterator::rownumber()'],\n ['../classpqxx_1_1const__result__iterator.html#aadd30c2141060d954c16301e3711a02c', 1, 'pqxx::const_result_iterator::rownumber()'],\n ['../classpqxx_1_1row.html#aadd30c2141060d954c16301e3711a02c', 1, 'pqxx::row::rownumber()']\n ]],\n ['rows_40', ['rows', ['../accessing-results.html', 1, 'Accessing results and result rows'],\n- ['../accessing-results.html#autotoc_md2', 1, 'Streaming rows']\n+ ['../accessing-results.html#autotoc_md1', 1, 'Streaming rows']\n ]],\n- ['rows_20of_20data_41', ['Querying rows of data', ['../accessing-results.html#autotoc_md1', 1, '']]]\n+ ['rows_20of_20data_41', ['Querying rows of data', ['../accessing-results.html#autotoc_md0', 1, '']]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_11.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -29,50 +29,50 @@\n ['size_19', ['size', ['../classpqxx_1_1params.html#a1a3ca8939fbeec4db4f7d69c8014a937', 1, 'pqxx::params::size()'],\n ['../classpqxx_1_1array.html#a592afe2ec16fbb793501e84d805c87eb', 1, 'pqxx::array::size()'],\n ['../group__escaping-functions.html#afa6be7a52ce16a143ce6ebf640ff3aea', 1, 'pqxx::binarystring::size()'],\n ['../classpqxx_1_1stateless__cursor.html#ae278f24bab98d3946061934a48992067', 1, 'pqxx::stateless_cursor::size()'],\n ['../classpqxx_1_1field.html#a20ceb9e1dd63c481e412af866e88ccaa', 1, 'pqxx::field::size()']\n ]],\n ['size_5fbuffer_20', ['size_buffer', ['../structpqxx_1_1string__traits.html#a16b9aef87d46bafdcfcfdaca42f2f73f', 1, 'pqxx::string_traits']]],\n- ['size_5fbuffer_20tt_21', ['<tt>size_buffer</tt>', ['../datatypes.html#autotoc_md26', 1, '']]],\n+ ['size_5fbuffer_20tt_21', ['<tt>size_buffer</tt>', ['../datatypes.html#autotoc_md13', 1, '']]],\n ['size_5fcomposite_5ffield_5fbuffer_22', ['size_composite_field_buffer', ['../namespacepqxx_1_1internal.html#a28ae4ea69fdef1f1eba5a771ccd1dc2f', 1, 'pqxx::internal']]],\n ['size_5fesc_5fbin_23', ['size_esc_bin', ['../namespacepqxx_1_1internal.html#a297e2d7f026b9baf4b8a57872ea345fc', 1, 'pqxx::internal']]],\n ['size_5funesc_5fbin_24', ['size_unesc_bin', ['../namespacepqxx_1_1internal.html#aff5de6ade6ae7234093bac118bf7ab8c', 1, 'pqxx::internal']]],\n ['sizes_25', ['sizes', ['../classpqxx_1_1array.html#ad0bf0e010691f056bebaa506f9e034dc', 1, 'pqxx::array']]],\n ['skip_5finit_26', ['skip_init', ['../namespacepqxx.html#adabe80e8385e85d663acc6e44332070d', 1, 'pqxx']]],\n ['skip_5finit_5fssl_27', ['skip_init_ssl', ['../namespacepqxx_1_1internal.html#a2ff078037fe1e6ca2b76fd9e0ac94b87', 1, 'pqxx::internal::skip_init_ssl()'],\n ['../namespacepqxx.html#a71f4fd3d06b6e0a849c58a8160380a86', 1, 'pqxx::skip_init_ssl()']\n ]],\n ['slice_28', ['slice', ['../classpqxx_1_1row.html#a4195a594e4f11829637820cd89e39c7b', 1, 'pqxx::row']]],\n ['sock_29', ['sock', ['../classpqxx_1_1connection.html#af312d26f21b1cfd4d063e3b591fb7579', 1, 'pqxx::connection::sock()'],\n ['../classpqxx_1_1connecting.html#a26fe754177b77ce5d62a7de871d79b7b', 1, 'pqxx::connecting::sock()']\n ]],\n- ['special_20prepared_20statement_30', ['A special prepared statement', ['../prepared.html#autotoc_md10', 1, '']]],\n- ['specialise_20tt_20is_5funquoted_5fsafe_20tt_31', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md27', 1, '']]],\n- ['specialise_20tt_20nullness_20tt_32', ['Specialise <tt>nullness</tt>', ['../datatypes.html#autotoc_md21', 1, '']]],\n- ['specialise_20tt_20param_5fformat_20tt_33', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md28', 1, '']]],\n- ['specialise_20tt_20string_5ftraits_20tt_34', ['Specialise <tt>string_traits</tt>', ['../datatypes.html#autotoc_md22', 1, '']]],\n- ['specialise_20tt_20type_5fname_20tt_35', ['Specialise <tt>type_name</tt>', ['../datatypes.html#autotoc_md20', 1, '']]],\n+ ['special_20prepared_20statement_30', ['A special prepared statement', ['../prepared.html#autotoc_md21', 1, '']]],\n+ ['specialise_20tt_20is_5funquoted_5fsafe_20tt_31', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md14', 1, '']]],\n+ ['specialise_20tt_20nullness_20tt_32', ['Specialise <tt>nullness</tt>', ['../datatypes.html#autotoc_md8', 1, '']]],\n+ ['specialise_20tt_20param_5fformat_20tt_33', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md15', 1, '']]],\n+ ['specialise_20tt_20string_5ftraits_20tt_34', ['Specialise <tt>string_traits</tt>', ['../datatypes.html#autotoc_md9', 1, '']]],\n+ ['specialise_20tt_20type_5fname_20tt_35', ['Specialise <tt>type_name</tt>', ['../datatypes.html#autotoc_md7', 1, '']]],\n ['specialize_5fparse_5fcomposite_5ffield_36', ['specialize_parse_composite_field', ['../namespacepqxx_1_1internal.html#ab1007038de5942f048d5da32e49b6b07', 1, 'pqxx::internal']]],\n- ['sql_20injection_37', ['SQL injection', ['../escaping.html#autotoc_md4', 1, '']]],\n+ ['sql_20injection_37', ['SQL injection', ['../escaping.html#autotoc_md16', 1, '']]],\n ['sql_5fcursor_38', ['sql_cursor', ['../classpqxx_1_1internal_1_1sql__cursor.html', 1, 'pqxx::internal']]],\n ['sql_5ferror_39', ['sql_error', ['../group__exception.html#classpqxx_1_1sql__error', 1, 'pqxx']]],\n ['sqlstate_40', ['sqlstate', ['../group__exception.html#a31ffc7a42e9a388eb2b7cb46647e4282', 1, 'pqxx::sql_error']]],\n ['ssize_41', ['ssize', ['../classpqxx_1_1array.html#a707b514df7835fa198a29ae68897efd8', 1, 'pqxx::array::ssize()'],\n ['../classpqxx_1_1params.html#ab23b2a3b2a58bfd03fca36022ebce8b4', 1, 'pqxx::params::ssize()'],\n ['../namespacepqxx_1_1internal.html#af21d8461eaf6d185ed98ab88b2edac6e', 1, 'pqxx::internal::ssize()']\n ]],\n ['started_42', ['Getting started', ['../getting-started.html', 1, '']]],\n ['state_5fbuffer_5foverrun_43', ['state_buffer_overrun', ['../namespacepqxx_1_1internal.html#ac32dacb4b6c712d3d7b1de9ebad0e1d5', 1, 'pqxx::internal']]],\n ['stateless_5fcursor_44', ['stateless_cursor', ['../classpqxx_1_1stateless__cursor.html', 1, 'pqxx::stateless_cursor< up, op >'],\n ['../classpqxx_1_1stateless__cursor.html#afe5492d726a1765647985874d17f4149', 1, 'pqxx::stateless_cursor::stateless_cursor(transaction_base &tx, std::string_view adopted_cursor)'],\n ['../classpqxx_1_1stateless__cursor.html#ad77d68832afb8572fd976fc816bec89a', 1, 'pqxx::stateless_cursor::stateless_cursor(transaction_base &tx, std::string_view query, std::string_view cname, bool hold)']\n ]],\n- ['statement_45', ['statement', ['../prepared.html#autotoc_md10', 1, 'A special prepared statement'],\n- ['../prepared.html#autotoc_md8', 1, 'Preparing a statement']\n+ ['statement_45', ['statement', ['../prepared.html#autotoc_md21', 1, 'A special prepared statement'],\n+ ['../prepared.html#autotoc_md19', 1, 'Preparing a statement']\n ]],\n ['statement_20parameters_46', ['Statement parameters', ['../parameters.html', 1, '']]],\n ['statement_5fcompletion_5funknown_47', ['statement_completion_unknown', ['../group__exception.html#structpqxx_1_1statement__completion__unknown', 1, 'pqxx']]],\n ['statements_48', ['Prepared statements', ['../prepared.html', 1, '']]],\n ['str_49', ['str', ['../group__escaping-functions.html#a9686dbe184806d5e115d9842aa3484dd', 1, 'pqxx::binarystring']]],\n ['stream_50', ['stream', ['../group__transactions.html#aec4d0f102c2c0fab8fa1a48f452abc0f', 1, 'pqxx::transaction_base']]],\n ['stream_5ffrom_51', ['stream_from', ['../classpqxx_1_1stream__from.html#a11a6e30a28260f10fa9bfbd6f7ea36c4', 1, 'pqxx::stream_from::stream_from(transaction_base &, from_query_t, std::string_view query)'],\n@@ -95,24 +95,24 @@\n ['stream_5fquery_5fend_5fiterator_55', ['stream_query_end_iterator', ['../namespacepqxx_1_1internal.html#classpqxx_1_1internal_1_1stream__query__end__iterator', 1, 'pqxx::internal']]],\n ['stream_5fquery_5finput_5fiterator_56', ['stream_query_input_iterator', ['../classpqxx_1_1internal_1_1stream__query__input__iterator.html', 1, 'pqxx::internal']]],\n ['stream_5fto_57', ['stream_to', ['../classpqxx_1_1stream__to.html#a726187a18a93a4c5cc2343bcb9e97da8', 1, 'pqxx::stream_to::stream_to(transaction_base &tx, std::string_view table_name)'],\n ['../classpqxx_1_1stream__to.html#af7d4df107f7c1db0bff89a61ae5df7a3', 1, 'pqxx::stream_to::stream_to(transaction_base &, std::string_view table_name, Iter columns_begin, Iter columns_end)'],\n ['../classpqxx_1_1stream__to.html', 1, 'pqxx::stream_to'],\n ['../classpqxx_1_1stream__to.html#a3491f56118589adff7b7fc214689ad67', 1, 'pqxx::stream_to::stream_to()']\n ]],\n- ['streaming_20data_20em_20from_20a_20query_20em_58', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md14', 1, '']]],\n- ['streaming_20data_20em_20into_20a_20table_20em_59', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md16', 1, '']]],\n- ['streaming_20right_20for_20my_20query_60', ['Is streaming right for my query?', ['../streams.html#autotoc_md15', 1, '']]],\n- ['streaming_20rows_61', ['Streaming rows', ['../accessing-results.html#autotoc_md2', 1, '']]],\n+ ['streaming_20data_20em_20from_20a_20query_20em_58', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md25', 1, '']]],\n+ ['streaming_20data_20em_20into_20a_20table_20em_59', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md27', 1, '']]],\n+ ['streaming_20right_20for_20my_20query_60', ['Is streaming right for my query?', ['../streams.html#autotoc_md26', 1, '']]],\n+ ['streaming_20rows_61', ['Streaming rows', ['../accessing-results.html#autotoc_md1', 1, '']]],\n ['streams_62', ['Streams', ['../streams.html', 1, '']]],\n ['string_20conversion_63', ['String conversion', ['../group__stringconversion.html', 1, '']]],\n ['string_20escaping_64', ['String escaping', ['../escaping.html', 1, '']]],\n ['string_20escaping_20functions_65', ['String-escaping functions', ['../group__escaping-functions.html', 1, '']]],\n ['string_5ftraits_66', ['string_traits', ['../structpqxx_1_1string__traits.html', 1, 'pqxx']]],\n- ['string_5ftraits_20tt_67', ['Specialise <tt>string_traits</tt>', ['../datatypes.html#autotoc_md22', 1, '']]],\n+ ['string_5ftraits_20tt_67', ['Specialise <tt>string_traits</tt>', ['../datatypes.html#autotoc_md9', 1, '']]],\n ['string_5ftraits_3c_20binarystring_20_3e_68', ['string_traits< binarystring >', ['../structpqxx_1_1string__traits_3_01binarystring_01_4.html', 1, 'pqxx']]],\n ['string_5ftraits_3c_20bool_20_3e_69', ['string_traits< bool >', ['../structpqxx_1_1string__traits_3_01bool_01_4.html', 1, 'pqxx']]],\n ['string_5ftraits_3c_20bytes_20_3e_70', ['string_traits< bytes >', ['../structpqxx_1_1string__traits_3_01bytes_01_4.html', 1, 'pqxx']]],\n ['string_5ftraits_3c_20bytes_5fview_20_3e_71', ['string_traits< bytes_view >', ['../structpqxx_1_1string__traits_3_01bytes__view_01_4.html', 1, 'pqxx']]],\n ['string_5ftraits_3c_20char_20_2a_20_3e_72', ['string_traits< char * >', ['../structpqxx_1_1string__traits_3_01char_01_5_01_4.html', 1, 'pqxx']]],\n ['string_5ftraits_3c_20char_20_3e_73', ['string_traits< char >', ['../structpqxx_1_1string__traits_3_01char_01_4.html', 1, 'pqxx']]],\n ['string_5ftraits_3c_20char_20const_20_2a_20_3e_74', ['string_traits< char const * >', ['../structpqxx_1_1string__traits_3_01char_01const_01_5_01_4.html', 1, 'pqxx']]],\n@@ -151,15 +151,15 @@\n ['strip_5ftypes_107', ['strip_types', ['../namespacepqxx_1_1internal.html#a9b4647a83a27f2d3adc9add80c55dec3', 1, 'pqxx::internal']]],\n ['strip_5ftypes_5ft_108', ['strip_types_t', ['../namespacepqxx_1_1internal.html#a8e0a910c85d42eaa8d5948fae092cf16', 1, 'pqxx::internal']]],\n ['subtransaction_109', ['subtransaction', ['../group__transactions.html#aa351325206ada1be7f3db4fa69145c4d', 1, 'pqxx::subtransaction::subtransaction(subtransaction &t, std::string_view name=""sv)'],\n ['../group__transactions.html#abec3848ca61ae755fab531e791ce89d8', 1, 'pqxx::subtransaction::subtransaction(dbtransaction &t, std::string_view tname=""sv)'],\n ['../group__transactions.html#classpqxx_1_1subtransaction', 1, 'pqxx::subtransaction']\n ]],\n ['super_110', ['super', ['../classpqxx_1_1internal_1_1callgate.html#afb620090453fc901f4fa147ee60bde36', 1, 'pqxx::internal::callgate']]],\n- ['supporting_20a_20new_20type_111', ['Supporting a new type', ['../datatypes.html#autotoc_md18', 1, '']]],\n+ ['supporting_20a_20new_20type_111', ['Supporting a new type', ['../datatypes.html#autotoc_md5', 1, '']]],\n ['supporting_20additional_20data_20types_112', ['Supporting additional data types', ['../datatypes.html', 1, '']]],\n- ['swap_113', ['swap', ['../group__escaping-functions.html#ad6e5000885dd6f0b7bdf1f5d7f365dd9', 1, 'pqxx::binarystring::swap()'],\n+ ['swap_113', ['swap', ['../classpqxx_1_1result.html#ad1d929a8c555ef0e4e84d4dbcf56c05e', 1, 'pqxx::result::swap()'],\n ['../classpqxx_1_1const__result__iterator.html#a3a7cd99d4e801fca6a538dbad3c7bba6', 1, 'pqxx::const_result_iterator::swap()'],\n- ['../classpqxx_1_1result.html#ad1d929a8c555ef0e4e84d4dbcf56c05e', 1, 'pqxx::result::swap()']\n+ ['../group__escaping-functions.html#ad6e5000885dd6f0b7bdf1f5d7f365dd9', 1, 'pqxx::binarystring::swap()']\n ]],\n ['syntax_5ferror_114', ['syntax_error', ['../group__exception.html#structpqxx_1_1syntax__error', 1, 'pqxx']]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_12.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_12.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,39 +1,39 @@\n var searchData = [\n ['table_0', ['table', ['../classpqxx_1_1field.html#aee9267454dca1a3457fb86e2f0046feb', 1, 'pqxx::field::table()'],\n ['../classpqxx_1_1stream__from.html#a8bd03db93560766414f74258202f86fd', 1, 'pqxx::stream_from::table()'],\n ['../classpqxx_1_1stream__to.html#a34d7ca93963c0b5733a9ebcc10f2429b', 1, 'pqxx::stream_to::table()']\n ]],\n- ['table_20em_1', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md16', 1, '']]],\n+ ['table_20em_1', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md27', 1, '']]],\n ['table_5fcolumn_2', ['table_column', ['../classpqxx_1_1field.html#a884880e40a43bad2733a167340896192', 1, 'pqxx::field::table_column()'],\n ['../classpqxx_1_1result.html#ae65c4fb3934978bba367ab61811aabec', 1, 'pqxx::result::table_column(row_size_type col_num) const'],\n ['../classpqxx_1_1result.html#a22161b4bebb52ef85a51509302b5a8a9', 1, 'pqxx::result::table_column(zview col_name) const'],\n ['../classpqxx_1_1row.html#a0cc2133611f007e7390988f6110245c8', 1, 'pqxx::row::table_column(size_type) const'],\n ['../classpqxx_1_1row.html#add6bd3b28ccb8178a072e8d3d19b9616', 1, 'pqxx::row::table_column(zview col_name) const']\n ]],\n ['table_5fpath_3', ['table_path', ['../namespacepqxx.html#a7f913d1e427c805856ac303db75c1e57', 1, 'pqxx']]],\n ['tell_4', ['tell', ['../classpqxx_1_1largeobjectaccess.html#a972d8559cae789984a194c98a88b943b', 1, 'pqxx::largeobjectaccess::tell()'],\n ['../classpqxx_1_1blob.html#a88f116eb30c662386e02a1a47fd859b8', 1, 'pqxx::blob::tell()']\n ]],\n- ['the_20esc_20functions_5', ['Using the esc functions', ['../escaping.html#autotoc_md5', 1, '']]],\n+ ['the_20esc_20functions_5', ['Using the esc functions', ['../escaping.html#autotoc_md17', 1, '']]],\n ['thread_20safety_6', ['Thread safety', ['../thread-safety.html', 1, '']]],\n ['thread_5fsafety_5fmodel_7', ['thread_safety_model', ['../namespacepqxx.html#structpqxx_1_1thread__safety__model', 1, 'pqxx']]],\n ['throw_5fnull_5fconversion_8', ['throw_null_conversion', ['../namespacepqxx_1_1internal.html#ab228c862d33c75405472dccf8a34dfa3', 1, 'pqxx::internal::throw_null_conversion(std::string_view type)'],\n ['../namespacepqxx_1_1internal.html#a14aec6b418ba2b5867987eb22bd867ce', 1, 'pqxx::internal::throw_null_conversion(std::string const &type)']\n ]],\n ['to_9', ['to', ['../classpqxx_1_1field.html#a31433b3a426646a23e1d11f3242a3885', 1, 'pqxx::field::to(T &obj, T const &default_value) const -> typename std::enable_if_t<(not std::is_pointer< T >::value or std::is_same< T, char const * >::value), bool >'],\n ['../classpqxx_1_1field.html#a1e87e9981c60d37516326e7ab6b26da6', 1, 'pqxx::field::to(char const *&obj) const'],\n ['../classpqxx_1_1row.html#ac478a252d2bac75e1fe0d65fd99f9042', 1, 'pqxx::row::to()'],\n ['../classpqxx_1_1field.html#a5c13391d9f288b83419cca7865b5be62', 1, 'pqxx::field::to()']\n ]],\n ['to_5fbuf_10', ['to_buf', ['../classpqxx_1_1blob.html#abfc3b8c4faeab1f394422d474114e121', 1, 'pqxx::blob::to_buf()'],\n ['../structpqxx_1_1internal_1_1float__traits.html#ad1728a05cf18dfe9e200b54b9d8fb38d', 1, 'pqxx::internal::float_traits::to_buf()'],\n ['../structpqxx_1_1string__traits.html#a81b2526f70d7191c37e36fb78530b977', 1, 'pqxx::string_traits::to_buf()']\n ]],\n- ['to_5fbuf_20tt_11', ['<tt>to_buf</tt>', ['../datatypes.html#autotoc_md24', 1, '']]],\n+ ['to_5fbuf_20tt_11', ['<tt>to_buf</tt>', ['../datatypes.html#autotoc_md11', 1, '']]],\n ['to_5ffile_12', ['to_file', ['../classpqxx_1_1blob.html#a373c4d3df0068d18e75f8bdbf619ac90', 1, 'pqxx::blob::to_file()'],\n ['../classpqxx_1_1largeobject.html#a4fb862c252771c8ad4449f8badf2b26f', 1, 'pqxx::largeobject::to_file()'],\n ['../classpqxx_1_1largeobjectaccess.html#acdbc859cf3afd0ddcc4aa555ef36c35a', 1, 'pqxx::largeobjectaccess::to_file(std::string_view file) const'],\n ['../classpqxx_1_1largeobjectaccess.html#a4fb862c252771c8ad4449f8badf2b26f', 1, 'pqxx::largeobjectaccess::to_file(dbtransaction &t, std::string_view file) const']\n ]],\n ['to_5fstring_13', ['to_string', ['../namespacepqxx.html#accab0ae142ee4c6789f5252578d0d478', 1, 'pqxx']]],\n ['to_5fstring_5ffloat_14', ['to_string_float', ['../namespacepqxx_1_1internal.html#acc9749f398f41d29c41e5b4475735f3d', 1, 'pqxx::internal::to_string_float(T)'],\n@@ -49,26 +49,26 @@\n ]],\n ['transaction_5fbase_3a_3aquery_5fvalue_3c_20std_3a_3astring_5fview_20_3e_19', ['query_value< std::string_view >', ['../namespacepqxx.html#a8f5d10354025255ae20e29fa024d22b3', 1, 'pqxx']]],\n ['transaction_5ffocus_20', ['transaction_focus', ['../classpqxx_1_1transaction__focus.html', 1, 'pqxx']]],\n ['transaction_5frollback_21', ['transaction_rollback', ['../group__exception.html#structpqxx_1_1transaction__rollback', 1, 'pqxx']]],\n ['transaction_5fsql_5fcursor_22', ['transaction_sql_cursor', ['../classpqxx_1_1internal_1_1gate_1_1transaction__sql__cursor.html', 1, 'pqxx::internal::gate']]],\n ['transaction_5ftransaction_5ffocus_23', ['transaction_transaction_focus', ['../classpqxx_1_1internal_1_1gate_1_1transaction__transaction__focus.html', 1, 'pqxx::internal::gate']]],\n ['transactor_20framework_24', ['Transactor framework', ['../group__transactor.html', 1, '']]],\n- ['tt_20from_5fstring_20tt_25', ['<tt>from_string</tt>', ['../datatypes.html#autotoc_md23', 1, '']]],\n- ['tt_20into_5fbuf_20tt_26', ['<tt>into_buf</tt>', ['../datatypes.html#autotoc_md25', 1, '']]],\n- ['tt_20is_5funquoted_5fsafe_20tt_27', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md27', 1, '']]],\n- ['tt_20nullness_20tt_28', ['Specialise <tt>nullness</tt>', ['../datatypes.html#autotoc_md21', 1, '']]],\n- ['tt_20param_5fformat_20tt_29', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md28', 1, '']]],\n- ['tt_20size_5fbuffer_20tt_30', ['<tt>size_buffer</tt>', ['../datatypes.html#autotoc_md26', 1, '']]],\n- ['tt_20string_5ftraits_20tt_31', ['Specialise <tt>string_traits</tt>', ['../datatypes.html#autotoc_md22', 1, '']]],\n- ['tt_20to_5fbuf_20tt_32', ['<tt>to_buf</tt>', ['../datatypes.html#autotoc_md24', 1, '']]],\n- ['tt_20type_5fname_20tt_33', ['Specialise <tt>type_name</tt>', ['../datatypes.html#autotoc_md20', 1, '']]],\n- ['type_34', ['type', ['../datatypes.html#autotoc_md18', 1, 'Supporting a new type'],\n+ ['tt_20from_5fstring_20tt_25', ['<tt>from_string</tt>', ['../datatypes.html#autotoc_md10', 1, '']]],\n+ ['tt_20into_5fbuf_20tt_26', ['<tt>into_buf</tt>', ['../datatypes.html#autotoc_md12', 1, '']]],\n+ ['tt_20is_5funquoted_5fsafe_20tt_27', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md14', 1, '']]],\n+ ['tt_20nullness_20tt_28', ['Specialise <tt>nullness</tt>', ['../datatypes.html#autotoc_md8', 1, '']]],\n+ ['tt_20param_5fformat_20tt_29', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md15', 1, '']]],\n+ ['tt_20size_5fbuffer_20tt_30', ['<tt>size_buffer</tt>', ['../datatypes.html#autotoc_md13', 1, '']]],\n+ ['tt_20string_5ftraits_20tt_31', ['Specialise <tt>string_traits</tt>', ['../datatypes.html#autotoc_md9', 1, '']]],\n+ ['tt_20to_5fbuf_20tt_32', ['<tt>to_buf</tt>', ['../datatypes.html#autotoc_md11', 1, '']]],\n+ ['tt_20type_5fname_20tt_33', ['Specialise <tt>type_name</tt>', ['../datatypes.html#autotoc_md7', 1, '']]],\n+ ['type_34', ['type', ['../datatypes.html#autotoc_md5', 1, 'Supporting a new type'],\n ['../classpqxx_1_1field.html#ad2da9b613fdf2b38a36e92eafd9b223a', 1, 'pqxx::field::type()'],\n- ['../datatypes.html#autotoc_md19', 1, 'Your type']\n+ ['../datatypes.html#autotoc_md6', 1, 'Your type']\n ]],\n ['type_5fname_35', ['type_name', ['../namespacepqxx.html#a03b51dc175989959be170596670dafa4', 1, 'pqxx']]],\n- ['type_5fname_20tt_36', ['Specialise <tt>type_name</tt>', ['../datatypes.html#autotoc_md20', 1, '']]],\n- ['types_37', ['types', ['../datatypes.html#autotoc_md17', 1, 'Converting types'],\n+ ['type_5fname_20tt_36', ['Specialise <tt>type_name</tt>', ['../datatypes.html#autotoc_md7', 1, '']]],\n+ ['types_37', ['types', ['../datatypes.html#autotoc_md4', 1, 'Converting types'],\n ['../datatypes.html', 1, 'Supporting additional data types']\n ]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_13.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_13.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -18,10 +18,10 @@\n ['unexpected_5frows_7', ['unexpected_rows', ['../group__exception.html#structpqxx_1_1unexpected__rows', 1, 'pqxx']]],\n ['unique_5fviolation_8', ['unique_violation', ['../group__exception.html#structpqxx_1_1unique__violation', 1, 'pqxx']]],\n ['unprepare_9', ['unprepare', ['../classpqxx_1_1connection.html#a5cbd8240e3c74b595ccb535c941433ae', 1, 'pqxx::connection']]],\n ['update_10', ['update', ['../classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083a12fa229ee3e760f1ca86d66304554b63', 1, 'pqxx::cursor_base']]],\n ['update_5fpolicy_11', ['update_policy', ['../classpqxx_1_1cursor__base.html#ace67894e61fba0ce9f9f6e5b9dd33083', 1, 'pqxx::cursor_base']]],\n ['usage_5ferror_12', ['usage_error', ['../group__exception.html#structpqxx_1_1usage__error', 1, 'pqxx']]],\n ['username_13', ['username', ['../classpqxx_1_1connection.html#a9d7c7ab0c54a258ac4fab0d562fdbacd', 1, 'pqxx::connection']]],\n- ['using_20the_20esc_20functions_14', ['Using the esc functions', ['../escaping.html#autotoc_md5', 1, '']]],\n+ ['using_20the_20esc_20functions_14', ['Using the esc functions', ['../escaping.html#autotoc_md17', 1, '']]],\n ['utility_20functions_15', ['Utility functions', ['../group__utility.html', 1, '']]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_14.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_14.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n var searchData = [\n ['value_0', ['value', ['../classpqxx_1_1range__bound.html#a76d25b17ed6af78070b888f5effe70ba', 1, 'pqxx::range_bound']]],\n ['value_5ftype_1', ['value_type', ['../namespacepqxx.html#a934fca7aa1250b4c488ac2f09ac2bf1b', 1, 'pqxx']]],\n- ['values_2', ['values', ['../streams.html#autotoc_md13', 1, 'Interlude: null values'],\n+ ['values_2', ['values', ['../streams.html#autotoc_md24', 1, 'Interlude: null values'],\n ['../structpqxx_1_1internal_1_1c__params.html#aad4eb2f440fe907fcf11467effbbff15', 1, 'pqxx::internal::c_params::values']\n ]],\n ['variable_5fset_5fto_5fnull_3', ['variable_set_to_null', ['../group__exception.html#structpqxx_1_1variable__set__to__null', 1, 'pqxx']]],\n ['view_4', ['view', ['../group__escaping-functions.html#a882b8988b2b48a9d3d254a25c559871e', 1, 'pqxx::binarystring::view()'],\n ['../classpqxx_1_1field.html#aa05908e8ed320fac8c96b9eb4cf46813', 1, 'pqxx::field::view()'],\n ['../classpqxx_1_1placeholders.html#a92d006575732b3ead81cbaf4892197ae', 1, 'pqxx::placeholders::view()']\n ]]\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_15.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_15.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,13 +1,13 @@\n var searchData = [\n ['wait_5ffd_0', ['wait_fd', ['../namespacepqxx_1_1internal.html#ae8a3cb88d2e0bc1f1125bee862fe100b', 1, 'pqxx::internal']]],\n ['wait_5ffor_1', ['wait_for', ['../namespacepqxx_1_1internal.html#ae95ba6e41e051ca26d13855aa2b512cb', 1, 'pqxx::internal']]],\n ['wait_5fto_5fread_2', ['wait_to_read', ['../classpqxx_1_1connecting.html#aa60ab98dc5a2702929765f05229bf160', 1, 'pqxx::connecting']]],\n ['wait_5fto_5fwrite_3', ['wait_to_write', ['../classpqxx_1_1connecting.html#a4b39dd46b61ea3e39242213bd4245eb0', 1, 'pqxx::connecting']]],\n- ['with_20metadata_4', ['Results with metadata', ['../accessing-results.html#autotoc_md3', 1, '']]],\n+ ['with_20metadata_4', ['Results with metadata', ['../accessing-results.html#autotoc_md2', 1, '']]],\n ['write_5', ['write', ['../classpqxx_1_1blob.html#a28ff055c22102e0d1bda250d20d265e8', 1, 'pqxx::blob::write()'],\n ['../classpqxx_1_1largeobjectaccess.html#a60ff3072349074e732d0c00e2aefc498', 1, 'pqxx::largeobjectaccess::write(char const buf[], std::size_t len)'],\n ['../classpqxx_1_1largeobjectaccess.html#addc309fe11d4d3e29547b149e4600199', 1, 'pqxx::largeobjectaccess::write(std::string_view buf)']\n ]],\n ['write_5fpolicy_6', ['write_policy', ['../namespacepqxx.html#a3a8103e375bc507b6e9df93e24121912', 1, 'pqxx']]],\n ['write_5frow_7', ['write_row', ['../classpqxx_1_1stream__to.html#ae628c71679b4ec6ebb4378b487e4f543', 1, 'pqxx::stream_to']]],\n ['write_5fvalues_8', ['write_values', ['../classpqxx_1_1stream__to.html#a41ffa59e4f36803f1e9473ed83b3c41d', 1, 'pqxx::stream_to']]]\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_16.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_16.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,3 +1,3 @@\n var searchData = [\n- ['your_20type_0', ['Your type', ['../datatypes.html#autotoc_md19', 1, '']]]\n+ ['your_20type_0', ['Your type', ['../datatypes.html#autotoc_md6', 1, '']]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_17.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_17.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,9 +1,9 @@\n var searchData = [\n- ['zero_20bytes_0', ['Zero bytes', ['../prepared.html#autotoc_md12', 1, '']]],\n+ ['zero_20bytes_0', ['Zero bytes', ['../prepared.html#autotoc_md23', 1, '']]],\n ['zview_1', ['zview', ['../classpqxx_1_1zview.html', 1, 'pqxx::zview'],\n ['../classpqxx_1_1zview.html#a766cc45a178d43b1471fdc025f01535d', 1, 'pqxx::zview::zview(char const text[], std::ptrdiff_t len) noexcept(noexcept(std::string_view{text, static_cast< std::size_t >(len)}))'],\n ['../classpqxx_1_1zview.html#a581b8c75e8c2c0de579debfca37cd725', 1, 'pqxx::zview::zview(char text[], std::ptrdiff_t len) noexcept(noexcept(std::string_view{text, static_cast< std::size_t >(len)}))'],\n ['../classpqxx_1_1zview.html#aa713ad5896e247699dcb5be68528b0e8', 1, 'pqxx::zview::zview(std::string_view other) noexcept'],\n ['../classpqxx_1_1zview.html#a3ddf4e0ff127e96f8f68361088f96d2e', 1, 'pqxx::zview::zview(Args &&...args)'],\n ['../classpqxx_1_1zview.html#ad5928543720ef457a1ca229920f33de6', 1, 'pqxx::zview::zview(std::string const &str) noexcept'],\n ['../classpqxx_1_1zview.html#a9297b1b431ea593ea2ec6c8f0beaefa9', 1, 'pqxx::zview::zview(char const str[]) noexcept(noexcept(std::string_view{str}))'],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_2.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_2.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -13,15 +13,15 @@\n ['callgate_3c_20icursor_5fiterator_20_3e_7', ['callgate< icursor_iterator >', ['../classpqxx_1_1internal_1_1callgate.html', 1, 'pqxx::internal']]],\n ['callgate_3c_20icursorstream_20_3e_8', ['callgate< icursorstream >', ['../classpqxx_1_1internal_1_1callgate.html', 1, 'pqxx::internal']]],\n ['callgate_3c_20result_20const_20_3e_9', ['callgate< result const >', ['../classpqxx_1_1internal_1_1callgate.html', 1, 'pqxx::internal']]],\n ['callgate_3c_20transaction_5fbase_20_3e_10', ['callgate< transaction_base >', ['../classpqxx_1_1internal_1_1callgate.html', 1, 'pqxx::internal']]],\n ['cancel_11', ['cancel', ['../classpqxx_1_1pipeline.html#ab375b0b4e02c7f1a48602c4186fbbbd7', 1, 'pqxx::pipeline']]],\n ['cancel_5fquery_12', ['cancel_query', ['../classpqxx_1_1connection.html#ad1719d51a24c5aa6bd58f03a328a3833', 1, 'pqxx::connection']]],\n ['cat2_13', ['cat2', ['../namespacepqxx_1_1internal.html#ae3d8bb14c1d7c63c57c59b61cf63ff09', 1, 'pqxx::internal']]],\n- ['caveats_14', ['Caveats', ['../binary.html#autotoc_md0', 1, '']]],\n+ ['caveats_14', ['Caveats', ['../binary.html#autotoc_md3', 1, '']]],\n ['cbegin_15', ['cbegin', ['../classpqxx_1_1array.html#aa091e8641639a3802f44b565194d1119', 1, 'pqxx::array']]],\n ['cend_16', ['cend', ['../classpqxx_1_1array.html#a14d57111c8af2324a8e9e8e3df162d9d', 1, 'pqxx::array']]],\n ['channel_17', ['channel', ['../classpqxx_1_1notification__receiver.html#a57732bae437844782bdfe6314f829d9a', 1, 'pqxx::notification_receiver']]],\n ['char_5ffinder_5ffunc_18', ['char_finder_func', ['../namespacepqxx_1_1internal.html#a93267405e140acb909fe17d58746f113', 1, 'pqxx::internal']]],\n ['check_5fcast_19', ['check_cast', ['../namespacepqxx.html#af61c9b8bf784c48b540deb2fe1c1f90c', 1, 'pqxx']]],\n ['check_5fpqxx_5fversion_5f7_5f9_20', ['check_pqxx_version_7_9', ['../namespacepqxx_1_1internal.html#acb3b2eaba1387069e7f2903330e4d458', 1, 'pqxx::internal']]],\n ['check_5fsize_21', ['check_size', ['../classpqxx_1_1row.html#ad786992d33d385865dbae17980345704', 1, 'pqxx::row']]],\n@@ -110,15 +110,15 @@\n ['contains_69', ['contains', ['../classpqxx_1_1range.html#a3f5071556ce9c0b77e6e4a006b6c51fe', 1, 'pqxx::range::contains(range< TYPE > const &other) const noexcept(noexcept((*this &other)==other))'],\n ['../classpqxx_1_1range.html#a2fa03d4ad40c545610bdc382e2aff187', 1, 'pqxx::range::contains(TYPE value) const noexcept(noexcept(m_lower.extends_down_to(value)) and noexcept(m_upper.extends_up_to(value)))']\n ]],\n ['conversion_70', ['String conversion', ['../group__stringconversion.html', 1, '']]],\n ['conversion_5ferror_71', ['conversion_error', ['../group__exception.html#structpqxx_1_1conversion__error', 1, 'pqxx']]],\n ['conversion_5foverrun_72', ['conversion_overrun', ['../group__exception.html#structpqxx_1_1conversion__overrun', 1, 'pqxx']]],\n ['convert_73', ['convert', ['../classpqxx_1_1row.html#af81dc44f173ab151bd052f339c10521f', 1, 'pqxx::row']]],\n- ['converting_20types_74', ['Converting types', ['../datatypes.html#autotoc_md17', 1, '']]],\n+ ['converting_20types_74', ['Converting types', ['../datatypes.html#autotoc_md4', 1, '']]],\n ['converts_5ffrom_5fstring_75', ['converts_from_string', ['../structpqxx_1_1string__traits.html#afc7783fd1fd1020f8d400b318f1a0c10', 1, 'pqxx::string_traits']]],\n ['converts_5fto_5fstring_76', ['converts_to_string', ['../structpqxx_1_1string__traits.html#ac537955384e39377e84fd71ad6c80bfd', 1, 'pqxx::string_traits']]],\n ['count_77', ['count', ['../classpqxx_1_1placeholders.html#a254b9519ce26aee58826afcd4dadb778', 1, 'pqxx::placeholders']]],\n ['crbegin_78', ['crbegin', ['../classpqxx_1_1array.html#a2499a20fcc7d9da7e7f303b6e16fb254', 1, 'pqxx::array']]],\n ['cread_79', ['cread', ['../classpqxx_1_1largeobjectaccess.html#ac43433ab08b3ccb34fc72ea4975bcda2', 1, 'pqxx::largeobjectaccess']]],\n ['create_80', ['create', ['../classpqxx_1_1blob.html#a008264c527d6806ea2b190dd8b75dc11', 1, 'pqxx::blob']]],\n ['crend_81', ['crend', ['../classpqxx_1_1array.html#ac2f300e0917b8e0afbc9d77bbc26534a', 1, 'pqxx::array']]],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_3.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_3.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,14 +1,14 @@\n var searchData = [\n ['data_0', ['data', ['../binary.html', 1, 'Binary data'],\n ['../group__escaping-functions.html#aa8e2854a33324620fb8ba3bb0176fa51', 1, 'pqxx::binarystring::data()'],\n- ['../accessing-results.html#autotoc_md1', 1, 'Querying rows of data']\n+ ['../accessing-results.html#autotoc_md0', 1, 'Querying rows of data']\n ]],\n- ['data_20em_20from_20a_20query_20em_1', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md14', 1, '']]],\n- ['data_20em_20into_20a_20table_20em_2', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md16', 1, '']]],\n+ ['data_20em_20from_20a_20query_20em_1', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md25', 1, '']]],\n+ ['data_20em_20into_20a_20table_20em_2', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md27', 1, '']]],\n ['data_20types_3', ['Supporting additional data types', ['../datatypes.html', 1, '']]],\n ['data_5fexception_4', ['data_exception', ['../group__exception.html#structpqxx_1_1data__exception', 1, 'pqxx']]],\n ['dbname_5', ['dbname', ['../classpqxx_1_1connection.html#a286e275a7701a8ac96f839cbf8205258', 1, 'pqxx::connection']]],\n ['dbtransaction_6', ['dbtransaction', ['../group__transactions.html#classpqxx_1_1dbtransaction', 1, 'pqxx::dbtransaction'],\n ['../group__transactions.html#aaf517316c584ca63213b8b8db06ea2e4', 1, 'pqxx::dbtransaction::dbtransaction(connection &c, std::string_view tname, std::shared_ptr< std::string > rollback_cmd)'],\n ['../group__transactions.html#ad41eb96e0cb743cace7c6420d55fdf0f', 1, 'pqxx::dbtransaction::dbtransaction(connection &c, std::string_view tname)'],\n ['../group__transactions.html#ac7c5607b7503cd50e53c9ff90362013a', 1, 'pqxx::dbtransaction::dbtransaction(connection &c)']\n@@ -29,15 +29,15 @@\n ['disk_5ffull_18', ['disk_full', ['../group__exception.html#structpqxx_1_1disk__full', 1, 'pqxx']]],\n ['do_5fabort_19', ['do_abort', ['../group__transactions.html#a4e7a3dd2de2aa993e8d13fa5e45fa13d', 1, 'pqxx::transaction_base']]],\n ['do_5fcommit_20', ['do_commit', ['../group__transactions.html#a475695c55439007cd2438fb184ed8be3', 1, 'pqxx::transaction_base']]],\n ['done_21', ['done', ['../classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea6b2ded51d81a4403d8a4bd25fa1e57ee', 1, 'pqxx::array_parser::done'],\n ['../classpqxx_1_1internal_1_1stream__query.html#a173d0e79729e42ccb3841f1e6d556376', 1, 'pqxx::internal::stream_query::done()'],\n ['../classpqxx_1_1connecting.html#a2859ca4422246743c85e4baf2ea00a1e', 1, 'pqxx::connecting::done()']\n ]],\n- ['dynamic_20parameter_20lists_22', ['Dynamic parameter lists', ['../parameters.html#autotoc_md6', 1, '']]],\n+ ['dynamic_20parameter_20lists_22', ['Dynamic parameter lists', ['../parameters.html#autotoc_md18', 1, '']]],\n ['dynamic_5fparams_23', ['dynamic_params', ['../classpqxx_1_1internal_1_1dynamic__params.html#a2135ab029e5235a29612ffdae27e93de', 1, 'pqxx::internal::dynamic_params::dynamic_params(C &container)'],\n ['../classpqxx_1_1internal_1_1dynamic__params.html#a6ee02fae3568c5656cb964f7a6d2a710', 1, 'pqxx::internal::dynamic_params::dynamic_params(C &container, ACCESSOR &acc)'],\n ['../classpqxx_1_1internal_1_1dynamic__params.html#aadfb6e389288cca5a5f5b89cc3a2fdc3', 1, 'pqxx::internal::dynamic_params::dynamic_params(IT begin, IT end, ACCESSOR &acc)'],\n ['../classpqxx_1_1internal_1_1dynamic__params.html#a5b59edc3a62998f76ef9996dda783b81', 1, 'pqxx::internal::dynamic_params::dynamic_params(IT begin, IT end)'],\n ['../classpqxx_1_1internal_1_1dynamic__params.html', 1, 'pqxx::internal::dynamic_params< IT, ACCESSOR >']\n ]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_4.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_4.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,10 +1,10 @@\n var searchData = [\n- ['em_20from_20a_20query_20em_0', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md14', 1, '']]],\n- ['em_20into_20a_20table_20em_1', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md16', 1, '']]],\n+ ['em_20from_20a_20query_20em_0', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md25', 1, '']]],\n+ ['em_20into_20a_20table_20em_1', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md27', 1, '']]],\n ['empty_2', ['empty', ['../classpqxx_1_1range.html#ac91cd0e74ae28042d8f887107f0aef76', 1, 'pqxx::range::empty()'],\n ['../classpqxx_1_1row.html#a05994def0b6c7b426bb13a7a95e9e035', 1, 'pqxx::row::empty()']\n ]],\n ['empty_5fresult_3', ['empty_result', ['../classpqxx_1_1internal_1_1sql__cursor.html#aa081894fff9516d7dc26a8f724db21aa', 1, 'pqxx::internal::sql_cursor']]],\n ['enc_5fgroup_4', ['enc_group', ['../namespacepqxx_1_1internal.html#aef85ea1bf0ba64165cf2719dc25b0424', 1, 'pqxx::internal::enc_group(int)'],\n ['../namespacepqxx_1_1internal.html#a6a4fef10718297b22be8627e18e20fe0', 1, 'pqxx::internal::enc_group(std::string_view encoding_name)']\n ]],\n@@ -29,15 +29,15 @@\n ]],\n ['errorhandler_5fconnection_17', ['errorhandler_connection', ['../classpqxx_1_1internal_1_1gate_1_1errorhandler__connection.html', 1, 'pqxx::internal::gate']]],\n ['esc_18', ['esc', ['../classpqxx_1_1connection.html#aa29f2e36001c4715e898f2c1a2ca9d5a', 1, 'pqxx::connection::esc(char const text[]) const'],\n ['../classpqxx_1_1connection.html#a6e6bc476091af546f880c9c572f05375', 1, 'pqxx::connection::esc(std::string_view text) const'],\n ['../classpqxx_1_1connection.html#ab2fd28a1d384854642cc84dcd54cd450', 1, 'pqxx::connection::esc(char const text[], std::size_t maxlen) const'],\n ['../group__escaping-functions.html#ga6710c7298c40ae41b5d8326cbf2ad20e', 1, 'pqxx::transaction_base::esc()']\n ]],\n- ['esc_20functions_19', ['Using the esc functions', ['../escaping.html#autotoc_md5', 1, '']]],\n+ ['esc_20functions_19', ['Using the esc functions', ['../escaping.html#autotoc_md17', 1, '']]],\n ['esc_5fbin_20', ['esc_bin', ['../namespacepqxx_1_1internal.html#a842929aed32b7ff0f3178a7539b595d9', 1, 'pqxx::internal::esc_bin(bytes_view binary_data)'],\n ['../namespacepqxx_1_1internal.html#a89a78387ec5faabb426e0f519cad2b56', 1, 'pqxx::internal::esc_bin(bytes_view binary_data, char buffer[]) noexcept']\n ]],\n ['esc_5flike_21', ['esc_like', ['../classpqxx_1_1connection.html#a7e8f054f91d4e61879039bfdff9b2889', 1, 'pqxx::connection::esc_like()'],\n ['../group__transactions.html#abb28d39ae66b1f36f7297b1e9d1c4e1a', 1, 'pqxx::transaction_base::esc_like()']\n ]],\n ['esc_5fraw_22', ['esc_raw', ['../classpqxx_1_1connection.html#a22d2c852a4e1c159c021b04efc04f8e1', 1, 'pqxx::connection::esc_raw(unsigned char const bin[], std::size_t len) const'],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_5.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_5.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -15,15 +15,15 @@\n ['find_5fchar_8', ['find_char', ['../namespacepqxx_1_1internal.html#ac7f47e680c4aba12c395e1a854966a8e', 1, 'pqxx::internal']]],\n ['find_5fs_5fascii_5fchar_9', ['find_s_ascii_char', ['../namespacepqxx_1_1internal.html#a47911290f09c40ca080108ea376ffca9', 1, 'pqxx::internal']]],\n ['float_5ftraits_10', ['float_traits', ['../structpqxx_1_1internal_1_1float__traits.html', 1, 'pqxx::internal']]],\n ['float_5ftraits_3c_20double_20_3e_11', ['float_traits< double >', ['../structpqxx_1_1internal_1_1float__traits.html', 1, 'pqxx::internal']]],\n ['float_5ftraits_3c_20float_20_3e_12', ['float_traits< float >', ['../structpqxx_1_1internal_1_1float__traits.html', 1, 'pqxx::internal']]],\n ['float_5ftraits_3c_20long_20double_20_3e_13', ['float_traits< long double >', ['../structpqxx_1_1internal_1_1float__traits.html', 1, 'pqxx::internal']]],\n ['flush_14', ['flush', ['../classpqxx_1_1pipeline.html#a33a890c64efc37d76f3c649f145ff950', 1, 'pqxx::pipeline']]],\n- ['for_20my_20query_15', ['Is streaming right for my query?', ['../streams.html#autotoc_md15', 1, '']]],\n+ ['for_20my_20query_15', ['Is streaming right for my query?', ['../streams.html#autotoc_md26', 1, '']]],\n ['for_5feach_16', ['for_each', ['../classpqxx_1_1result.html#a9302f9b61826f8b7b213f13b30453c0b', 1, 'pqxx::result']]],\n ['for_5fglyphs_17', ['for_glyphs', ['../namespacepqxx_1_1internal.html#a6d813d2723b73f1e674a9aa3229ab060', 1, 'pqxx::internal']]],\n ['for_5fquery_18', ['for_query', ['../group__transactions.html#aed05d9bf4a4d29e8f13ef92174489d86', 1, 'pqxx::transaction_base::for_query(zview query, CALLABLE &&func)'],\n ['../group__transactions.html#a2b72c8c8dec3714ba9bda0c4546e9c2f', 1, 'pqxx::transaction_base::for_query(zview query, CALLABLE &&func, params const &parms)']\n ]],\n ['for_5fstream_19', ['for_stream', ['../group__transactions.html#aaf86f83eff8c7ca945c9921bddb75b14', 1, 'pqxx::transaction_base']]],\n ['forbidden_5fconversion_20', ['forbidden_conversion', ['../structpqxx_1_1forbidden__conversion.html', 1, 'pqxx']]],\n@@ -32,32 +32,32 @@\n ['forbidden_5fconversion_3c_20std_3a_3abyte_20_3e_23', ['forbidden_conversion< std::byte >', ['../structpqxx_1_1forbidden__conversion.html', 1, 'pqxx']]],\n ['forbidden_5fconversion_3c_20unsigned_20char_20_3e_24', ['forbidden_conversion< unsigned char >', ['../structpqxx_1_1forbidden__conversion.html', 1, 'pqxx']]],\n ['foreign_5fkey_5fviolation_25', ['foreign_key_violation', ['../group__exception.html#structpqxx_1_1foreign__key__violation', 1, 'pqxx']]],\n ['format_26', ['format', ['../namespacepqxx.html#afac7ada3a82bcd0e70131f9aede360ce', 1, 'pqxx']]],\n ['formats_27', ['formats', ['../structpqxx_1_1internal_1_1c__params.html#a9a6d51da90f51c90d3044ad9261616b8', 1, 'pqxx::internal::c_params']]],\n ['forward_5fonly_28', ['forward_only', ['../classpqxx_1_1cursor__base.html#ab2dbdc503c97b0200dd3eca6ae22f0a2af440221f717464c87f043899cc117cbf', 1, 'pqxx::cursor_base']]],\n ['framework_29', ['Transactor framework', ['../group__transactor.html', 1, '']]],\n- ['from_20a_20query_20em_30', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md14', 1, '']]],\n+ ['from_20a_20query_20em_30', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md25', 1, '']]],\n ['from_5fbuf_31', ['from_buf', ['../classpqxx_1_1blob.html#ab1f3e5e083f3c69ecc32cc87aa4d8f90', 1, 'pqxx::blob']]],\n ['from_5ffile_32', ['from_file', ['../classpqxx_1_1blob.html#a41ea99b2f59cf0946986c14371915980', 1, 'pqxx::blob::from_file(dbtransaction &, char const path[])'],\n ['../classpqxx_1_1blob.html#acd468aa64cdd17c3dec34cb059721842', 1, 'pqxx::blob::from_file(dbtransaction &, char const path[], oid)']\n ]],\n ['from_5fquery_33', ['from_query', ['../namespacepqxx.html#a31fff381823ee2bc5af1f47139b3b48c', 1, 'pqxx']]],\n ['from_5fquery_5ft_34', ['from_query_t', ['../namespacepqxx.html#structpqxx_1_1from__query__t', 1, 'pqxx']]],\n ['from_5fstring_35', ['from_string', ['../structpqxx_1_1string__traits.html#a09bce703d8e0234e84605038189381e8', 1, 'pqxx::string_traits::from_string()'],\n ['../structpqxx_1_1string__traits_3_01zview_01_4.html#a3b78a0d0dfbd5bf56c18d02e8a2ae184', 1, 'pqxx::string_traits< zview >::from_string()'],\n ['../structpqxx_1_1string__traits_3_01std_1_1string__view_01_4.html#a98acdd0a20f834be7670763ae0f93bcb', 1, 'pqxx::string_traits< std::string_view >::from_string()'],\n ['../structpqxx_1_1string__traits_3_01char_0fN_0e_4.html#a45384953864d4858e8fa8549e4eeabf7', 1, 'pqxx::string_traits< char[N]>::from_string()'],\n ['../structpqxx_1_1string__traits_3_01char_01_5_01_4.html#af0ea80b9d8301a1a3211a1a5891521ea', 1, 'pqxx::string_traits< char * >::from_string()'],\n ['../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()'],\n ['../namespacepqxx.html#ae3697fd4a0fc1fcdb40937e16e1ec878', 1, 'pqxx::from_string()']\n ]],\n- ['from_5fstring_20tt_36', ['<tt>from_string</tt>', ['../datatypes.html#autotoc_md23', 1, '']]],\n+ ['from_5fstring_20tt_36', ['<tt>from_string</tt>', ['../datatypes.html#autotoc_md10', 1, '']]],\n ['from_5fstring_3c_20std_3a_3anullptr_5ft_20_3e_37', ['from_string< std::nullptr_t >', ['../namespacepqxx.html#ac676a8d392370a92f0a2ef0f0bbf2043', 1, 'pqxx']]],\n ['from_5ftable_38', ['from_table', ['../namespacepqxx.html#a66648ed503eb162846c41247daa32660', 1, 'pqxx']]],\n ['from_5ftable_5ft_39', ['from_table_t', ['../namespacepqxx.html#structpqxx_1_1from__table__t', 1, 'pqxx']]],\n ['front_40', ['front', ['../classpqxx_1_1array.html#af0f6cbf8e3621dc46e59b9563ed436b1', 1, 'pqxx::array']]],\n ['functions_41', ['functions', ['../group__escaping-functions.html', 1, 'String-escaping functions'],\n- ['../escaping.html#autotoc_md5', 1, 'Using the esc functions'],\n+ ['../escaping.html#autotoc_md17', 1, 'Using the esc functions'],\n ['../group__utility.html', 1, 'Utility functions']\n ]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_6.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_6.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,9 +1,9 @@\n var searchData = [\n- ['generating_20placeholders_0', ['Generating placeholders', ['../parameters.html#autotoc_md7', 1, '']]],\n+ ['generating_20placeholders_0', ['Generating placeholders', ['../parameters.html#autotoc_md28', 1, '']]],\n ['generic_5finto_5fbuf_1', ['generic_into_buf', ['../namespacepqxx_1_1internal.html#ad36377dfe85994d97cb1aaa942100b6b', 1, 'pqxx::internal']]],\n ['get_2', ['get', ['../classpqxx_1_1placeholders.html#a4bdc5f0c544e544a62af6d2fc2309c58', 1, 'pqxx::placeholders::get()'],\n ['../classpqxx_1_1field.html#adb7ec4ecef586ebbab147b5b181dfff3', 1, 'pqxx::field::get()'],\n ['../group__escaping-functions.html#a22a65469db21930a72c82178f37b568a', 1, 'pqxx::binarystring::get()']\n ]],\n ['get_5fchar_5ffinder_3', ['get_char_finder', ['../namespacepqxx_1_1internal.html#a16e6f54fdf88d18355e1a3a570fa175f', 1, 'pqxx::internal']]],\n ['get_5fclient_5fencoding_4', ['get_client_encoding', ['../classpqxx_1_1connection.html#a777daa7f80f3e55df9ee50e236f74653', 1, 'pqxx::connection']]],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_8.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_8.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -3,47 +3,47 @@\n ['icursorstream_5ficursor_5fiterator_1', ['icursorstream_icursor_iterator', ['../classpqxx_1_1internal_1_1gate_1_1icursorstream__icursor__iterator.html', 1, 'pqxx::internal::gate']]],\n ['id_2', ['id', ['../classpqxx_1_1largeobjectaccess.html#af210c3d0b39442a5ce9b3b1508d96c84', 1, 'pqxx::largeobjectaccess::id()'],\n ['../classpqxx_1_1largeobject.html#af210c3d0b39442a5ce9b3b1508d96c84', 1, 'pqxx::largeobject::id()']\n ]],\n ['ignore_5funused_3', ['ignore_unused', ['../namespacepqxx.html#a9dd8124be2fccf97ece84ae958c175a0', 1, 'pqxx']]],\n ['in_5fdoubt_5ferror_4', ['in_doubt_error', ['../group__exception.html#structpqxx_1_1in__doubt__error', 1, 'pqxx']]],\n ['inclusive_5fbound_5', ['inclusive_bound', ['../classpqxx_1_1inclusive__bound.html', 1, 'pqxx']]],\n- ['injection_6', ['SQL injection', ['../escaping.html#autotoc_md4', 1, '']]],\n+ ['injection_6', ['SQL injection', ['../escaping.html#autotoc_md16', 1, '']]],\n ['insert_7', ['insert', ['../classpqxx_1_1pipeline.html#a808f4fc39c77e490171d54a5554b337d', 1, 'pqxx::pipeline']]],\n ['inserted_5foid_8', ['inserted_oid', ['../classpqxx_1_1result.html#a5094a7be5f02f0f4c641fbd5ccb1a4da', 1, 'pqxx::result']]],\n ['insufficient_5fprivilege_9', ['insufficient_privilege', ['../group__exception.html#structpqxx_1_1insufficient__privilege', 1, 'pqxx']]],\n ['insufficient_5fresources_10', ['insufficient_resources', ['../group__exception.html#structpqxx_1_1insufficient__resources', 1, 'pqxx']]],\n ['integral_5ftraits_11', ['integral_traits', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20int_20_3e_12', ['integral_traits< int >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20long_20_3e_13', ['integral_traits< long >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20long_20long_20_3e_14', ['integral_traits< long long >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20short_20_3e_15', ['integral_traits< short >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20unsigned_20_3e_16', ['integral_traits< unsigned >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20unsigned_20long_20_3e_17', ['integral_traits< unsigned long >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20unsigned_20long_20long_20_3e_18', ['integral_traits< unsigned long long >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integral_5ftraits_3c_20unsigned_20short_20_3e_19', ['integral_traits< unsigned short >', ['../structpqxx_1_1internal_1_1integral__traits.html', 1, 'pqxx::internal']]],\n ['integrity_5fconstraint_5fviolation_20', ['integrity_constraint_violation', ['../group__exception.html#structpqxx_1_1integrity__constraint__violation', 1, 'pqxx']]],\n- ['interlude_3a_20null_20values_21', ['Interlude: null values', ['../streams.html#autotoc_md13', 1, '']]],\n+ ['interlude_3a_20null_20values_21', ['Interlude: null values', ['../streams.html#autotoc_md24', 1, '']]],\n ['internal_5ferror_22', ['internal_error', ['../group__exception.html#structpqxx_1_1internal__error', 1, 'pqxx']]],\n- ['into_20a_20table_20em_23', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md16', 1, '']]],\n+ ['into_20a_20table_20em_23', ['Streaming data <em>into a table</em>', ['../streams.html#autotoc_md27', 1, '']]],\n ['into_5fbuf_24', ['into_buf', ['../structpqxx_1_1string__traits.html#ad0fa1a3d75ba56a58c39822d25c14a0c', 1, 'pqxx::string_traits']]],\n- ['into_5fbuf_20tt_25', ['<tt>into_buf</tt>', ['../datatypes.html#autotoc_md25', 1, '']]],\n+ ['into_5fbuf_20tt_25', ['<tt>into_buf</tt>', ['../datatypes.html#autotoc_md12', 1, '']]],\n ['invalid_5fcursor_5fname_26', ['invalid_cursor_name', ['../group__exception.html#structpqxx_1_1invalid__cursor__name', 1, 'pqxx']]],\n ['invalid_5fcursor_5fstate_27', ['invalid_cursor_state', ['../group__exception.html#structpqxx_1_1invalid__cursor__state', 1, 'pqxx']]],\n ['invalid_5fsql_5fstatement_5fname_28', ['invalid_sql_statement_name', ['../group__exception.html#structpqxx_1_1invalid__sql__statement__name', 1, 'pqxx']]],\n- ['is_20streaming_20right_20for_20my_20query_29', ['Is streaming right for my query?', ['../streams.html#autotoc_md15', 1, '']]],\n+ ['is_20streaming_20right_20for_20my_20query_29', ['Is streaming right for my query?', ['../streams.html#autotoc_md26', 1, '']]],\n ['is_5fdigit_30', ['is_digit', ['../namespacepqxx_1_1internal.html#ace1c90d8dab0dafc4764c89ff09fa938', 1, 'pqxx::internal']]],\n ['is_5fexclusive_31', ['is_exclusive', ['../classpqxx_1_1range__bound.html#a5e36faad60586213187bbe1735f00c5b', 1, 'pqxx::range_bound']]],\n ['is_5ffinished_32', ['is_finished', ['../classpqxx_1_1pipeline.html#adb318eea9147fb82d67c43a430722283', 1, 'pqxx::pipeline']]],\n ['is_5finclusive_33', ['is_inclusive', ['../classpqxx_1_1range__bound.html#abe993384f178fe7ac1143e88a3dbcaeb', 1, 'pqxx::range_bound']]],\n ['is_5flimited_34', ['is_limited', ['../classpqxx_1_1range__bound.html#a62434321bfbc5f66bf3921ea2fb31274', 1, 'pqxx::range_bound']]],\n ['is_5fnull_35', ['is_null', ['../structpqxx_1_1no__null.html#ab53a311556c321a9dd10229b5b64773b', 1, 'pqxx::no_null::is_null()'],\n ['../structpqxx_1_1nullness.html#a309fcad467f815a9fbccbea0c2a6608a', 1, 'pqxx::nullness::is_null()'],\n ['../classpqxx_1_1field.html#ad3f84cc67637ba99b7128db75603d03c', 1, 'pqxx::field::is_null()']\n ]],\n ['is_5fopen_36', ['is_open', ['../classpqxx_1_1connection.html#a1e401dd0dbd1be80176a691a864f652b', 1, 'pqxx::connection']]],\n- ['is_5funquoted_5fsafe_20tt_37', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md27', 1, '']]],\n+ ['is_5funquoted_5fsafe_20tt_37', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md14', 1, '']]],\n ['isolation_5flevel_38', ['isolation_level', ['../namespacepqxx.html#a8f05a60f9e1f7dc4e4af5dce6b987c8c', 1, 'pqxx']]],\n ['iter_39', ['iter', ['../classpqxx_1_1stream__from.html#acb595a8190351f2a8b594518351c40f3', 1, 'pqxx::stream_from::iter()'],\n ['../classpqxx_1_1result.html#afb672c73ca193aaf2fc5ba4d5c8a96f8', 1, 'pqxx::result::iter()']\n ]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_a.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_a.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -17,10 +17,10 @@\n ]],\n ['length_5', ['length', ['../group__escaping-functions.html#abac0db9f28acffc553d18002b8df0e6b', 1, 'pqxx::binarystring::length()'],\n ['../structpqxx_1_1byte__char__traits.html#a577df64c0aa007334dfa5ae84acbf153', 1, 'pqxx::byte_char_traits::length()']\n ]],\n ['lengths_6', ['lengths', ['../structpqxx_1_1internal_1_1c__params.html#a7f7597e054124f94dc53c91d1048f0ee', 1, 'pqxx::internal::c_params']]],\n ['libpqxx_7', ['libpqxx', ['../index.html', 1, '']]],\n ['list_8', ['Deprecated List', ['../deprecated.html', 1, '']]],\n- ['lists_9', ['Dynamic parameter lists', ['../parameters.html#autotoc_md6', 1, '']]],\n+ ['lists_9', ['Dynamic parameter lists', ['../parameters.html#autotoc_md18', 1, '']]],\n ['loose_10', ['loose', ['../classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a4c37408c49492bfe9f012812226dd1fd', 1, 'pqxx::cursor_base']]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_b.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_b.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -4,10 +4,10 @@\n ['m_5fend_2', ['m_end', ['../classpqxx_1_1row.html#a0ec7d11b9721ab7bb54ec5df113ab8f5', 1, 'pqxx::row']]],\n ['m_5findex_3', ['m_index', ['../classpqxx_1_1row.html#a859f508b95f424531247427189a529ef', 1, 'pqxx::row']]],\n ['m_5fresult_4', ['m_result', ['../classpqxx_1_1row.html#a83a21b69ee9c581fc449d24dc33d8e65', 1, 'pqxx::row']]],\n ['make_5fc_5fparams_5', ['make_c_params', ['../classpqxx_1_1params.html#a6ecf59a6ac483fe23e051ae654abc2b0', 1, 'pqxx::params']]],\n ['map_5fascii_5fsearch_5fgroup_6', ['map_ascii_search_group', ['../namespacepqxx_1_1internal.html#ae26a85861af19d77bcc12ae448531d32', 1, 'pqxx::internal']]],\n ['max_5fparams_7', ['max_params', ['../classpqxx_1_1placeholders.html#a066068da0d7ca3d0b38ee47ce0098843', 1, 'pqxx::placeholders']]],\n ['member_5fargs_5ff_8', ['member_args_f', ['../namespacepqxx_1_1internal.html#a70ec299b53c60d248d0766cc11faacf1', 1, 'pqxx::internal']]],\n- ['metadata_9', ['Results with metadata', ['../accessing-results.html#autotoc_md3', 1, '']]],\n- ['my_20query_10', ['Is streaming right for my query?', ['../streams.html#autotoc_md15', 1, '']]]\n+ ['metadata_9', ['Results with metadata', ['../accessing-results.html#autotoc_md2', 1, '']]],\n+ ['my_20query_10', ['Is streaming right for my query?', ['../streams.html#autotoc_md26', 1, '']]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_c.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_c.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -2,15 +2,15 @@\n ['name_0', ['name', ['../classpqxx_1_1cursor__base.html#a580405381178880d7804180c0c396fe5', 1, 'pqxx::cursor_base::name()'],\n ['../classpqxx_1_1stateless__cursor.html#a0be6e4435c96296ab1f91f4769235dae', 1, 'pqxx::stateless_cursor::name()'],\n ['../classpqxx_1_1field.html#accb1b29590adaf1c265279fc410b2e59', 1, 'pqxx::field::name()'],\n ['../group__transactions.html#ae59455e1e8da50f0cb5901c1f72ff66e', 1, 'pqxx::transaction_base::name()'],\n ['../classpqxx_1_1transaction__focus.html#a4ccffff2688e9e7757acc385be1d781c', 1, 'pqxx::transaction_focus::name()']\n ]],\n ['name_5fencoding_1', ['name_encoding', ['../namespacepqxx_1_1internal.html#a51e0c4e1a45c85a3b625dc3d764684f5', 1, 'pqxx::internal']]],\n- ['new_20type_2', ['Supporting a new type', ['../datatypes.html#autotoc_md18', 1, '']]],\n+ ['new_20type_2', ['Supporting a new type', ['../datatypes.html#autotoc_md5', 1, '']]],\n ['next_3', ['next', ['../classpqxx_1_1cursor__base.html#a8084649c4f6be54a3c688908c1b9edf9', 1, 'pqxx::cursor_base::next()'],\n ['../classpqxx_1_1placeholders.html#aef09cd2fcb858917f33752a85e063bde', 1, 'pqxx::placeholders::next()']\n ]],\n ['no_5fbound_4', ['no_bound', ['../structpqxx_1_1no__bound.html', 1, 'pqxx']]],\n ['no_5fnull_5', ['no_null', ['../structpqxx_1_1no__null.html', 1, 'pqxx']]],\n ['no_5fnull_3c_20binarystring_20_3e_6', ['no_null< binarystring >', ['../structpqxx_1_1no__null.html', 1, 'pqxx']]],\n ['no_5fnull_3c_20bytes_20_3e_7', ['no_null< bytes >', ['../structpqxx_1_1no__null.html', 1, 'pqxx']]],\n@@ -26,28 +26,28 @@\n ['no_5fnull_3c_20t_20_3e_17', ['no_null< T >', ['../structpqxx_1_1no__null.html', 1, 'pqxx']]],\n ['no_5fnull_3c_20zview_20_3e_18', ['no_null< zview >', ['../structpqxx_1_1no__null.html', 1, 'pqxx']]],\n ['nontransaction_19', ['nontransaction', ['../group__transactions.html#classpqxx_1_1nontransaction', 1, 'pqxx::nontransaction'],\n ['../group__transactions.html#a556124900e411a1902b01bc4bb04fb0a', 1, 'pqxx::nontransaction::nontransaction()']\n ]],\n ['not_5feof_20', ['not_eof', ['../structpqxx_1_1byte__char__traits.html#a7c89d44e821a11f8336b70dc7891d7ac', 1, 'pqxx::byte_char_traits']]],\n ['not_5fnull_5fviolation_21', ['not_null_violation', ['../group__exception.html#structpqxx_1_1not__null__violation', 1, 'pqxx']]],\n- ['note_22', ['Performance note', ['../prepared.html#autotoc_md11', 1, '']]],\n+ ['note_22', ['Performance note', ['../prepared.html#autotoc_md22', 1, '']]],\n ['nothing_23', ['nothing', ['../namespacepqxx.html#adabe80e8385e85d663acc6e44332070da867e5843857acbeb150fcaf025825a6f', 1, 'pqxx']]],\n ['notification_5freceiver_24', ['notification_receiver', ['../classpqxx_1_1notification__receiver.html#a44ffe1ed8ec8020f4106ef8427e09d17', 1, 'pqxx::notification_receiver::notification_receiver(notification_receiver const &)=delete'],\n ['../classpqxx_1_1notification__receiver.html#ab28ec64678ada8dcc4868317b895e3c0', 1, 'pqxx::notification_receiver::notification_receiver(connection &c, std::string_view channel)'],\n ['../classpqxx_1_1notification__receiver.html', 1, 'pqxx::notification_receiver']\n ]],\n ['notifications_20and_20receivers_25', ['Notifications and Receivers', ['../group__notification.html', 1, '']]],\n ['null_26', ['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()'],\n ['../structpqxx_1_1nullness.html#a475f5e490aabd4934aa63a621ecfd0ab', 1, 'pqxx::nullness::null()']\n ]],\n- ['null_20values_27', ['Interlude: null values', ['../streams.html#autotoc_md13', 1, '']]],\n+ ['null_20values_27', ['Interlude: null values', ['../streams.html#autotoc_md24', 1, '']]],\n ['null_5fvalue_28', ['null_value', ['../classpqxx_1_1array__parser.html#a039577d83d313a6daf35fd7c273e189ea9e374dadbd88854fd5b2631a6b83a295', 1, 'pqxx::array_parser']]],\n ['nullness_29', ['nullness', ['../structpqxx_1_1nullness.html', 1, 'pqxx']]],\n- ['nullness_20tt_30', ['Specialise <tt>nullness</tt>', ['../datatypes.html#autotoc_md21', 1, '']]],\n+ ['nullness_20tt_30', ['Specialise <tt>nullness</tt>', ['../datatypes.html#autotoc_md8', 1, '']]],\n ['nullness_3c_20binarystring_20_3e_31', ['nullness< binarystring >', ['../structpqxx_1_1nullness_3_01binarystring_01_4.html', 1, 'pqxx']]],\n ['nullness_3c_20bytes_20_3e_32', ['nullness< bytes >', ['../structpqxx_1_1nullness_3_01bytes_01_4.html', 1, 'pqxx']]],\n ['nullness_3c_20bytes_5fview_20_3e_33', ['nullness< bytes_view >', ['../structpqxx_1_1nullness_3_01bytes__view_01_4.html', 1, 'pqxx']]],\n ['nullness_3c_20char_20_2a_20_3e_34', ['nullness< char * >', ['../structpqxx_1_1nullness_3_01char_01_5_01_4.html', 1, 'pqxx']]],\n ['nullness_3c_20char_20const_20_2a_20_3e_35', ['nullness< char const * >', ['../structpqxx_1_1nullness_3_01char_01const_01_5_01_4.html', 1, 'pqxx']]],\n ['nullness_3c_20char_5bn_5d_3e_36', ['nullness< char[N]>', ['../structpqxx_1_1nullness_3_01char_0fN_0e_4.html', 1, 'pqxx']]],\n ['nullness_3c_20enum_2c_20std_3a_3aenable_5fif_5ft_3c_20std_3a_3ais_5fenum_5fv_3c_20enum_20_3e_20_3e_20_3e_37', ['nullness< ENUM, std::enable_if_t< std::is_enum_v< ENUM > > >', ['../structpqxx_1_1nullness_3_01ENUM_00_01std_1_1enable__if__t_3_01std_1_1is__enum__v_3_01ENUM_01_4_01_4_01_4.html', 1, 'pqxx']]],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_d.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_d.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,9 +1,9 @@\n var searchData = [\n- ['of_20data_0', ['Querying rows of data', ['../accessing-results.html#autotoc_md1', 1, '']]],\n+ ['of_20data_0', ['Querying rows of data', ['../accessing-results.html#autotoc_md0', 1, '']]],\n ['oid_1', ['oid', ['../namespacepqxx.html#ac9eb697318d27a5b023609e0160f1ade', 1, 'pqxx']]],\n ['oid_5fnone_2', ['oid_none', ['../namespacepqxx.html#aea8d8e21558dad5b03ac2f73910c93e1', 1, 'pqxx']]],\n ['oops_5fforbidden_5fconversion_3', ['oops_forbidden_conversion', ['../namespacepqxx.html#a807bfd03b5fb6cf1bbcd9d728f2dd4e0', 1, 'pqxx']]],\n ['open_5fr_4', ['open_r', ['../classpqxx_1_1blob.html#a0d4a50c0d8862f98ce728647987f6d51', 1, 'pqxx::blob']]],\n ['openmode_5', ['openmode', ['../classpqxx_1_1largeobjectaccess.html#a6b09598014eca3c4c4b8a0c1495185d3', 1, 'pqxx::largeobjectaccess']]],\n ['openssl_6', ['openssl', ['../namespacepqxx.html#adabe80e8385e85d663acc6e44332070da5d4554eccdc33a1da0f98e9eadee475b', 1, 'pqxx']]],\n ['operator_20bool_7', ['operator bool', ['../classpqxx_1_1stream__to.html#a46f5520a97cc4eecbc75e4fbbfc2e9e3', 1, 'pqxx::stream_to::operator bool()'],\n@@ -71,13 +71,13 @@\n ['../classpqxx_1_1stream__from.html#a3694734ee04887d48fa799ab717787dd', 1, 'pqxx::stream_from::operator>>(Tuple &)'],\n ['../classpqxx_1_1stream__from.html#a0ea468c0d02f2a2c9c2c7ff41dbece3c', 1, 'pqxx::stream_from::operator>>(std::variant< Vs... > &)=delete']\n ]],\n ['operator_5b_5d_26', ['operator[]', ['../classpqxx_1_1result.html#a501bfb79335ea4c51bc55f9c0aa6c75f', 1, 'pqxx::result::operator[]()'],\n ['../classpqxx_1_1row.html#aee26781d8c0000bdc1d80c1624b17c81', 1, 'pqxx::row::operator[]()'],\n ['../classpqxx_1_1array.html#a36d27b1f7e366a07944115a382aa4087', 1, 'pqxx::array::operator[]()']\n ]],\n- ['optional_3a_20specialise_20tt_20is_5funquoted_5fsafe_20tt_27', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md27', 1, '']]],\n- ['optional_3a_20specialise_20tt_20param_5fformat_20tt_28', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md28', 1, '']]],\n+ ['optional_3a_20specialise_20tt_20is_5funquoted_5fsafe_20tt_27', ['Optional: Specialise <tt>is_unquoted_safe</tt>', ['../datatypes.html#autotoc_md14', 1, '']]],\n+ ['optional_3a_20specialise_20tt_20param_5fformat_20tt_28', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md15', 1, '']]],\n ['out_5fof_5fmemory_29', ['out_of_memory', ['../group__exception.html#structpqxx_1_1out__of__memory', 1, 'pqxx']]],\n ['owned_30', ['owned', ['../classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490a3ace6a7a5ca4ec3b486f2f35fd2420b0', 1, 'pqxx::cursor_base']]],\n ['ownership_5fpolicy_31', ['ownership_policy', ['../classpqxx_1_1cursor__base.html#ac06b19ea7f07f4e251560f49bee2e490', 1, 'pqxx::cursor_base']]]\n ];\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_e.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_e.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,36 +1,36 @@\n var searchData = [\n ['param_5fformat_0', ['param_format', ['../namespacepqxx.html#a9a3f3a97fd46497a008aaca323cc1958', 1, 'pqxx::param_format(std::vector< T, Args... > const &)'],\n ['../namespacepqxx.html#a194db2bb59425a2ff10187d2e81189d3', 1, 'pqxx::param_format(std::vector< std::byte, Args... > const &)'],\n ['../namespacepqxx.html#a5a183a730292cabcf9e64fdc6eb0faa5', 1, 'pqxx::param_format(std::array< T, args... > const &)'],\n ['../namespacepqxx.html#a0eaf71a6f4744e3d401d2f179d477e4a', 1, 'pqxx::param_format(std::array< std::byte, args... > const &)']\n ]],\n- ['param_5fformat_20tt_1', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md28', 1, '']]],\n- ['parameter_20lists_2', ['Dynamic parameter lists', ['../parameters.html#autotoc_md6', 1, '']]],\n- ['parameters_3', ['parameters', ['../prepared.html#autotoc_md9', 1, 'Parameters'],\n+ ['param_5fformat_20tt_1', ['Optional: Specialise <tt>param_format</tt>', ['../datatypes.html#autotoc_md15', 1, '']]],\n+ ['parameter_20lists_2', ['Dynamic parameter lists', ['../parameters.html#autotoc_md18', 1, '']]],\n+ ['parameters_3', ['parameters', ['../prepared.html#autotoc_md20', 1, 'Parameters'],\n ['../parameters.html', 1, 'Statement parameters']\n ]],\n ['params_4', ['params', ['../classpqxx_1_1params.html', 1, 'pqxx::params'],\n ['../classpqxx_1_1params.html#ad15fdabb428bc93cdb0a6c4354a9069c', 1, 'pqxx::params::params()']\n ]],\n ['parse_5fcomposite_5', ['parse_composite', ['../namespacepqxx.html#a0cd702e0c9b6172bf07f0253b238506b', 1, 'pqxx::parse_composite(std::string_view text, T &...fields)'],\n ['../namespacepqxx.html#ac634686eb086118eade113cd71c7d5a4', 1, 'pqxx::parse_composite(pqxx::internal::encoding_group enc, std::string_view text, T &...fields)']\n ]],\n ['parse_5fcomposite_5ffield_6', ['parse_composite_field', ['../namespacepqxx_1_1internal.html#a1689cd1502106403a998bd0b2a283432', 1, 'pqxx::internal']]],\n ['parse_5fdouble_5fquoted_5fstring_7', ['parse_double_quoted_string', ['../namespacepqxx_1_1internal.html#ad24fb98e5aa3beaecd91d4631321fd4d', 1, 'pqxx::internal']]],\n ['parse_5fline_8', ['parse_line', ['../classpqxx_1_1internal_1_1stream__query.html#aad5061fd7b06c89a98e317ce6901ab58', 1, 'pqxx::internal::stream_query']]],\n ['parse_5funquoted_5fstring_9', ['parse_unquoted_string', ['../namespacepqxx_1_1internal.html#a538df0cc5f9ee6f61c061c72a71e3132', 1, 'pqxx::internal']]],\n ['perform_10', ['perform', ['../namespacepqxx.html#a9c2faadd143f7c48353eb23b2aa24134', 1, 'pqxx']]],\n ['performance_20features_11', ['Performance features', ['../performance.html', 1, '']]],\n- ['performance_20note_12', ['Performance note', ['../prepared.html#autotoc_md11', 1, '']]],\n+ ['performance_20note_12', ['Performance note', ['../prepared.html#autotoc_md22', 1, '']]],\n ['pipeline_13', ['pipeline', ['../classpqxx_1_1pipeline.html', 1, 'pqxx::pipeline'],\n ['../classpqxx_1_1pipeline.html#a0c80a5e68052b2c35089e384e3c842ce', 1, 'pqxx::pipeline::pipeline(transaction_base &t)'],\n ['../classpqxx_1_1pipeline.html#a92463b4b599f681a372016d5dbbe016d', 1, 'pqxx::pipeline::pipeline(transaction_base &t, std::string_view tname)']\n ]],\n- ['placeholders_14', ['placeholders', ['../parameters.html#autotoc_md7', 1, 'Generating placeholders'],\n+ ['placeholders_14', ['placeholders', ['../parameters.html#autotoc_md28', 1, 'Generating placeholders'],\n ['../classpqxx_1_1placeholders.html', 1, 'pqxx::placeholders< COUNTER >']\n ]],\n ['plpgsql_5ferror_15', ['plpgsql_error', ['../group__exception.html#structpqxx_1_1plpgsql__error', 1, 'pqxx']]],\n ['plpgsql_5fno_5fdata_5ffound_16', ['plpgsql_no_data_found', ['../group__exception.html#structpqxx_1_1plpgsql__no__data__found', 1, 'pqxx']]],\n ['plpgsql_5fraise_17', ['plpgsql_raise', ['../group__exception.html#structpqxx_1_1plpgsql__raise', 1, 'pqxx']]],\n ['plpgsql_5ftoo_5fmany_5frows_18', ['plpgsql_too_many_rows', ['../group__exception.html#structpqxx_1_1plpgsql__too__many__rows', 1, 'pqxx']]],\n ['port_19', ['port', ['../classpqxx_1_1connection.html#aa517b7352ea7d8aed937281c295d1f8d', 1, 'pqxx::connection']]],\n@@ -40,17 +40,17 @@\n ['pqxx_3a_3ainternal_23', ['internal', ['../namespacepqxx_1_1internal.html', 1, 'pqxx']]],\n ['pqxx_3a_3ainternal_3a_3apq_24', ['pq', ['../namespacepqxx_1_1internal_1_1pq.html', 1, 'pqxx::internal']]],\n ['pqxx_3a_3aprepare_25', ['prepare', ['../namespacepqxx_1_1prepare.html', 1, 'pqxx']]],\n ['prepare_26', ['prepare', ['../classpqxx_1_1connection.html#a140337eada7fe60e15d8b113b8599f0d', 1, 'pqxx::connection::prepare(char const definition[]) &'],\n ['../classpqxx_1_1connection.html#add8ab06057cfd57e509c1e4e1f26e944', 1, 'pqxx::connection::prepare(zview name, zview definition) &'],\n ['../classpqxx_1_1connection.html#ac6888103e47fc344e18d17878cdc2bc7', 1, 'pqxx::connection::prepare(char const name[], char const definition[]) &']\n ]],\n- ['prepared_20statement_27', ['A special prepared statement', ['../prepared.html#autotoc_md10', 1, '']]],\n+ ['prepared_20statement_27', ['A special prepared statement', ['../prepared.html#autotoc_md21', 1, '']]],\n ['prepared_20statements_28', ['Prepared statements', ['../prepared.html', 1, '']]],\n- ['preparing_20a_20statement_29', ['Preparing a statement', ['../prepared.html#autotoc_md8', 1, '']]],\n+ ['preparing_20a_20statement_29', ['Preparing a statement', ['../prepared.html#autotoc_md19', 1, '']]],\n ['prior_30', ['prior', ['../classpqxx_1_1cursor__base.html#a94899901ead639033a816cb4aa0fdcd4', 1, 'pqxx::cursor_base']]],\n ['process_31', ['process', ['../classpqxx_1_1connecting.html#a58084f41892e19eb2a603a95de4f7dd9', 1, 'pqxx::connecting']]],\n ['process_5fnotice_32', ['process_notice', ['../classpqxx_1_1connection.html#a279d1096372ef68e4c45ff51a8fe4f8a', 1, 'pqxx::connection::process_notice()'],\n ['../group__transactions.html#a319425c4f02975fa2d5807963ba3dc08', 1, 'pqxx::transaction_base::process_notice(zview msg) const'],\n ['../group__transactions.html#afecae4ed72e50dd2a14fbc9c7d365297', 1, 'pqxx::transaction_base::process_notice(char const msg[]) const'],\n ['../classpqxx_1_1largeobject__streambuf.html#a9c9d53a14e148dec15f632fcb8f51366', 1, 'pqxx::largeobject_streambuf::process_notice()'],\n ['../classpqxx_1_1largeobjectaccess.html#ad539bb1d48ea71532455f56bf118a3ff', 1, 'pqxx::largeobjectaccess::process_notice()'],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_f.js", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/search/all_f.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,16 +1,16 @@\n var searchData = [\n- ['query_0', ['query', ['../streams.html#autotoc_md15', 1, 'Is streaming right for my query?'],\n+ ['query_0', ['query', ['../streams.html#autotoc_md26', 1, 'Is streaming right for my query?'],\n ['../group__exception.html#af011efdf2ba4459774e1e146a50c398d', 1, 'pqxx::sql_error::query()'],\n ['../group__transactions.html#ad765133f6133ea8de8255af804e8f81b', 1, 'pqxx::transaction_base::query(zview query, params const &parms)'],\n ['../group__transactions.html#a2b8b6bcc152f542e8cbe8e227db2ef62', 1, 'pqxx::transaction_base::query(zview query)'],\n ['../classpqxx_1_1result.html#a9d28f84628b9e8a8fecf7849f31bf1a0', 1, 'pqxx::result::query()'],\n ['../classpqxx_1_1stream__from.html#a062c20b73f6c9d019bfc35806c432ec0', 1, 'pqxx::stream_from::query()']\n ]],\n- ['query_20em_1', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md14', 1, '']]],\n+ ['query_20em_1', ['Streaming data <em>from a query</em>', ['../streams.html#autotoc_md25', 1, '']]],\n ['query01_2', ['query01', ['../group__transactions.html#aa5929c0f9068f6569c246063a6428c99', 1, 'pqxx::transaction_base::query01(zview query)'],\n ['../group__transactions.html#a40ddd8e96d1dbd58b8e1355d24de5898', 1, 'pqxx::transaction_base::query01(zview query, params const &parms)']\n ]],\n ['query1_3', ['query1', ['../group__transactions.html#ad2e069e118bd8b5332e37fecf6648020', 1, 'pqxx::transaction_base::query1(zview query)'],\n ['../group__transactions.html#a551bbeaed97a9c3797257dc127e2c3ab', 1, 'pqxx::transaction_base::query1(zview query, params const &parms)']\n ]],\n ['query_5fid_4', ['query_id', ['../classpqxx_1_1pipeline.html#af21cf61fd1c13a6729f48a241cbeba37', 1, 'pqxx::pipeline']]],\n@@ -18,15 +18,15 @@\n ['../group__transactions.html#acfde62bb97de6c6112624acc7880b0e2', 1, 'pqxx::transaction_base::query_n(result::size_type rows, zview query, params const &parms)']\n ]],\n ['query_5fvalue_6', ['query_value', ['../group__transactions.html#a4a7e907112201a77641d775fcbe49153', 1, 'pqxx::transaction_base::query_value(zview query, std::string_view desc)'],\n ['../group__transactions.html#a7167da8b1ac61caa7e2caa0a9b0244c8', 1, 'pqxx::transaction_base::query_value(zview query)'],\n ['../group__transactions.html#a2f2f530ab83df00027ad7b09716b3bac', 1, 'pqxx::transaction_base::query_value(zview query, params const &parms)'],\n ['../group__transactions.html#a9088693e2337da4d75f8f624ac4fb9bc', 1, 'pqxx::transaction_base::query_value(zview query, std::string_view desc)=delete']\n ]],\n- ['querying_20rows_20of_20data_7', ['Querying rows of data', ['../accessing-results.html#autotoc_md1', 1, '']]],\n+ ['querying_20rows_20of_20data_7', ['Querying rows of data', ['../accessing-results.html#autotoc_md0', 1, '']]],\n ['quiet_5ferrorhandler_8', ['quiet_errorhandler', ['../classpqxx_1_1quiet__errorhandler.html', 1, 'pqxx::quiet_errorhandler'],\n ['../classpqxx_1_1quiet__errorhandler.html#a0cbea9b3c07e0bc115df209d34aa762d', 1, 'pqxx::quiet_errorhandler::quiet_errorhandler()']\n ]],\n ['quote_9', ['quote', ['../group__transactions.html#a6476b6d27bb27a6eb8767080cc3e6a49', 1, 'pqxx::transaction_base::quote()'],\n ['../classpqxx_1_1connection.html#aa8dd0b5e748b96a2c82152b8001bdc69', 1, 'pqxx::connection::quote(bytes_view bytes) const'],\n ['../classpqxx_1_1connection.html#ae871e3c436af0ed50e1373d9157e7340', 1, 'pqxx::connection::quote(T const &t) const']\n ]],\n"}]}, {"source1": "./usr/share/doc/libpqxx-doc/doxygen-html/streams.html", "source2": "./usr/share/doc/libpqxx-doc/doxygen-html/streams.html", "unified_diff": "@@ -92,48 +92,48 @@\n
    \n
    Streams
    \n
    \n
    \n

    Most of the time it's fine to retrieve data from the database using SELECT queries, and store data using INSERT. But for those cases where efficiency matters, there are two data streaming mechanisms to help you do this more efficiently: \"streaming queries,\" for reading query results from the database; and the pqxx::stream_to class, for writing data from the client into a table.

    \n

    These are less flexible than SQL queries. Also, depending on your needs, it may be a problem to lose your connection while you're in mid-stream, not knowing that the query may not complete. But, you get some scalability and memory efficiencies in return.

    \n

    Just like regular querying, these streaming mechanisms do data conversion for you. You deal with the C++ data types, and the database deals with the SQL data types.

    \n-

    \n+

    \n Interlude: null values

    \n

    So how do you deal with nulls? It depends on the C++ type you're using. Some types may have a built-in null value. For instance, if you have a char const * value and you convert it to an SQL string, then converting a nullptr will produce a NULL SQL value.

    \n

    But what do you do about C++ types which don't have a built-in null value, such as int? The trick is to wrap it in std::optional. The difference between int and std::optional<int> is that the former always has an int value, and the latter doesn't have to.

    \n

    Actually it's not just std::optional. You can do the same thing with std::unique_ptr or std::shared_ptr. A smart pointer is less efficient than std::optional in most situations because they allocate their value on the heap, but sometimes that's what you want in order to save moving or copying large values around.

    \n

    This part is not generic though. It won't work with just any smart-pointer type, just the ones which are explicitly supported: shared_ptr and unique_ptr. If you really need to, you can build support for additional wrappers and smart pointers by copying the implementation patterns from the existing smart-pointer support.

    \n-

    \n+

    \n Streaming data <em>from a query</em>

    \n

    Use transaction_base::stream to read large amounts of data directly from the database. In terms of API it works just like transaction_base::query, but it's faster than the exec and query functions For larger data sets. Also, you won't need to keep your full result set in memory. That can really matter with larger data sets.

    \n

    Another performance advantage is that with a streaming query, you can start processing your data right after the first row of data comes in from the server. With exec() or query() you need to wait to receive all data, and only then can you begin processing. With streaming queries you can be processing data on the client side while the server is still sending you the rest.

    \n

    Not all kinds of queries will work in a stream. Internally the streams make use of PostgreSQL's COPY command, so see the PostgreSQL documentation for COPY for the exact limitations. Basic SELECT and UPDATE ... RETURNING queries will just work, but fancier constructs may not.

    \n

    As you read a row, the stream converts its fields to a tuple type containing the value types you ask for:

    \n
    for (auto [name, score] :
    \n
    tx.stream<std::string_view, int>("SELECT name, points FROM score")
    \n
    )
    \n
    process(name, score);
    \n

    On each iteration, the stream gives you a std::tuple of the column types you specify. It converts the row's fields (which internally arrive at the client in text format) to your chosen types.

    \n

    The auto [name, score] in the example is a structured binding which unpacks the tuple's fields into separate variables. If you prefer, you can choose to receive the tuple instead: for (std::tuple<int, std::string_view> :.

    \n-

    \n+

    \n Is streaming right for my query?

    \n

    Here are the things you need to be aware of when deciding whether to stream a query, or just execute it normally.

    \n

    First, when you stream a query, there is no metadata describing how many rows it returned, what the columns are called, and so on. With a regular query you get a result object which contains this metadata as well as the data itself. If you absolutely need this metadata for a particular query, then that means you can't stream the query.

    \n

    Second, under the bonnet, streaming from a query uses a PostgreSQL-specific SQL command COPY (...) TO STDOUT. There are some limitations on what kinds of queries this command can handle. These limitations may change over time, so I won't describe them here. Instead, see PostgreSQL's COPY documentation for the details. (Look for the TO variant, with a query as the data source.)

    \n

    Third: when you stream a query, you start receiving and processing data before you even know whether you will receive all of the data. If you lose your connection to the database halfway through, you will have processed half your data, unaware that the query may never execute to completion. If this is a problem for your application, don't stream that query!

    \n

    The fourth and final factor is performance. If you're interested in streaming, obviously you care about this one.

    \n

    I can't tell you a priori whether streaming will make your query faster. It depends on how many rows you're retrieving, how much data there is in those rows, the speed of your network connection to the database, your client encoding, how much processing you do per row, and the details of the client-side system: hardware speed, CPU load, and available memory.

    \n

    Ultimately, no amount of theory beats real-world measurement for your specific situation so... if it really matters, measure. (And as per Knuth's Law: if it doesn't really matter, don't optimise.)

    \n

    That said, here are a few data points from some toy benchmarks:

    \n

    If your query returns e.g. a hundred small rows, it's not likely to make up a significant portion of your application's run time. Streaming is likely to be slower than regular querying, but most likely the difference just won't amtter.

    \n

    If your query returns a thousand small rows, streaming is probably still going to be a bit slower than regular querying, though \"your mileage may vary.\"

    \n

    If you're querying ten thousand small rows, however, it becomes more likely that streaming will speed it up. The advantage increases as the number of rows increases.

    \n

    That's for small rows, based on a test where each row consisted of just one integer number. If your query returns larger rows, with more columns, I find that streaming seems to become more attractive. In a simple test with 4 columns (two integers and two strings), streaming even just a thousand rows was considerably faster than a regular query.

    \n

    If your network connection to the database is slow, however, that may make streaming a bit less effcient. There is a bit more communication back and forth between the client and the database to set up a stream. This overhead takes a more or less constant amount of time, so for larger data sets it will tend to become insignificant compared to the other performance costs.

    \n-

    \n+

    \n Streaming data <em>into a table</em>

    \n

    Use stream_to to write data directly to a database table. This saves you having to perform an INSERT for every row, and so it can be significantly faster if you want to insert more than just one or two rows at a time.

    \n

    As with stream_from, you can specify the table and the columns, and not much else. You insert tuple-like objects of your choice:

    \n
    \n
    tx,
    \n
    "score",
    \n
    std::vector<std::string>{"name", "points"}};
    \n"}]}]}]}]}