libpqxx
The C++ client library for PostgreSQL
pqxx::const_row_iterator Class Reference

Iterator for fields in a row. Use as row::const_iterator. More...

+ Inheritance diagram for pqxx::const_row_iterator:
+ Collaboration diagram for pqxx::const_row_iterator:

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = field const
 
using pointer = field const *
 
using size_type = row_size_type
 
using difference_type = row_difference_type
 
using reference = field
 
- Public Types inherited from pqxx::field
using size_type = field_size_type
 

Public Member Functions

 const_row_iterator (row const &t, row_size_type c) noexcept
 
 const_row_iterator (field const &F) noexcept
 
 const_row_iterator (const_row_iterator const &) noexcept=default
 
 const_row_iterator (const_row_iterator &&) noexcept=default
 
Dereferencing operators
constexpr pointer operator-> () const noexcept
 
reference operator* () const noexcept
 
Manipulations
const_row_iteratoroperator= (const_row_iterator const &) noexcept=default
 
const_row_iteratoroperator= (const_row_iterator &&) noexcept=default
 
const_row_iterator operator++ (int) &noexcept
 
const_row_iteratoroperator++ () noexcept
 
const_row_iterator operator-- (int) &noexcept
 
const_row_iteratoroperator-- () noexcept
 
const_row_iteratoroperator+= (difference_type i) noexcept
 
const_row_iteratoroperator-= (difference_type i) noexcept
 
Comparisons
constexpr bool operator== (const_row_iterator const &i) const noexcept
 
constexpr bool operator!= (const_row_iterator const &i) const noexcept
 
constexpr bool operator< (const_row_iterator const &i) const noexcept
 
constexpr bool operator<= (const_row_iterator const &i) const noexcept
 
constexpr bool operator> (const_row_iterator const &i) const noexcept
 
constexpr bool operator>= (const_row_iterator const &i) const noexcept
 
- Public Member Functions inherited from pqxx::field
template<>
bool to (char const *&obj) const
 Specialization: to(char const *&). More...
 
template<>
bool to (zview &obj) const
 
template<>
bool to (zview &obj, zview const &default_value) const
 
template<>
zview as () const
 
template<>
zview as (zview const &default_value) const
 
PQXX_PURE bool operator== (field const &) const noexcept
 Byte-by-byte comparison of two fields (all nulls are considered equal) More...
 
PQXX_PURE bool operator!= (field const &rhs) const noexcept
 Byte-by-byte comparison (all nulls are considered equal) More...
 
PQXX_PURE char const * name () const &
 Column name.
 
oid PQXX_PURE type () const
 Column type.
 
PQXX_PURE oid table () const
 What table did this column come from?
 
PQXX_PURE constexpr row_size_type num () const noexcept
 Return row number. The first row is row 0, the second is row 1, etc.
 
PQXX_PURE row_size_type table_column () const
 What column number in its originating table did this column come from?
 
PQXX_PURE std::string_view view () const &
 Read as string_view, or an empty one if null. More...
 
PQXX_PURE char const * c_str () const &
 Read as plain C string. More...
 
PQXX_PURE bool is_null () const noexcept
 Is this field's value null?
 
PQXX_PURE size_type size () const noexcept
 Return number of bytes taken up by the field's value.
 
template<typename T >
auto to (T &obj) const -> typename std::enable_if_t<(not std::is_pointer< T >::value or std::is_same< T, char const * >::value), bool >
 Read value into obj; or if null, leave obj untouched and return false. More...
 
template<typename... T>
bool composite_to (T &...fields) const
 Read field as a composite value, write its components into fields. More...
 
template<typename T >
bool operator>> (T &obj) const
 Read value into obj; or leave obj untouched and return false if null.
 
template<typename T >
auto 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 >
 Read value into obj; or if null, use default value and return false. More...
 
template<typename T >
as (T const &default_value) const
 Return value as object of given type, or default value if null. More...
 
template<typename T >
as () const
 Return value as object of given type, or throw exception if null. More...
 
template<typename T , template< typename > class O = std::optional>
constexpr O< T > get () const
 Return value wrapped in some optional type (empty for nulls). More...
 
array_parser as_array () const &noexcept
 Parse the field as an SQL array. More...
 
 field (row const &r, row_size_type c) noexcept
 Constructor. Do not call this yourself; libpqxx will do it for you. More...
 
 field () noexcept=default
 Constructor. Do not call this yourself; libpqxx will do it for you.
 

Arithmetic operators

const_row_iterator operator+ (difference_type) const noexcept
 
const_row_iterator operator- (difference_type) const noexcept
 
difference_type operator- (const_row_iterator const &) const noexcept
 
const_row_iterator operator+ (difference_type, const_row_iterator const &) noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from pqxx::field
constexpr result const & home () const noexcept
 
constexpr result::size_type idx () const noexcept
 
constexpr row_size_type col () const noexcept
 
 field (result const &r, result_size_type row_num, row_size_type col_num) noexcept
 
- Protected Attributes inherited from pqxx::field
row_size_type m_col
 

Detailed Description

Iterator for fields in a row. Use as row::const_iterator.


The documentation for this class was generated from the following files: