libpqxx  7.7.4
pqxx::const_row_iterator Class Reference

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

#include <row.hxx>

Inheritance 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 ()=default
 
 const_row_iterator (row const &t, row_size_type c) noexcept
 End a code block started by "ignore-deprecated-pre.hxx". More...
 
 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)
 
const_row_iteratoroperator++ () noexcept
 
const_row_iterator operator-- (int)
 
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
 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. More...
 
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
 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. More...
 
oid PQXX_PURE type () const
 Column type. More...
 
PQXX_PURE oid table () const
 What table did this column come from? More...
 
PQXX_PURE constexpr row_size_type num () const noexcept
 Return row number. The first row is row 0, the second is row 1, etc. More...
 
PQXX_PURE row_size_type table_column () const
 What column number in its originating table did this column come from? More...
 
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? More...
 
PQXX_PURE size_type size () const noexcept
 Return number of bytes taken up by the field's value. More...
 
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. More...
 
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 &
 Parse the field as an SQL array. More...
 

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.

Member Typedef Documentation

◆ difference_type

◆ iterator_category

using pqxx::const_row_iterator::iterator_category = std::random_access_iterator_tag

◆ pointer

◆ reference

◆ size_type

◆ value_type

Constructor & Destructor Documentation

◆ const_row_iterator() [1/5]

pqxx::const_row_iterator::const_row_iterator ( )
default

◆ const_row_iterator() [2/5]

pqxx::const_row_iterator::const_row_iterator ( row const &  t,
row_size_type  c 
)
noexcept

End a code block started by "ignore-deprecated-pre.hxx".

◆ const_row_iterator() [3/5]

pqxx::const_row_iterator::const_row_iterator ( field const &  F)
noexcept

◆ const_row_iterator() [4/5]

pqxx::const_row_iterator::const_row_iterator ( const_row_iterator const &  )
defaultnoexcept

◆ const_row_iterator() [5/5]

pqxx::const_row_iterator::const_row_iterator ( const_row_iterator &&  )
defaultnoexcept

Member Function Documentation

◆ operator!=()

constexpr bool pqxx::const_row_iterator::operator!= ( const_row_iterator const &  i) const
noexcept

References pqxx::field::col().

◆ operator*()

reference pqxx::const_row_iterator::operator* ( ) const
noexcept

◆ operator+()

const_row_iterator pqxx::const_row_iterator::operator+ ( difference_type  o) const
noexcept

◆ operator++() [1/2]

pqxx::const_row_iterator pqxx::const_row_iterator::operator++ ( int  )

◆ operator++() [2/2]

const_row_iterator& pqxx::const_row_iterator::operator++ ( )
noexcept

◆ operator+=()

const_row_iterator& pqxx::const_row_iterator::operator+= ( difference_type  i)
noexcept

◆ operator-() [1/2]

const_row_iterator pqxx::const_row_iterator::operator- ( difference_type  o) const
noexcept

◆ operator-() [2/2]

const_row_iterator::difference_type pqxx::const_row_iterator::operator- ( const_row_iterator const &  i) const
noexcept

◆ operator--() [1/2]

pqxx::const_row_iterator pqxx::const_row_iterator::operator-- ( int  )

◆ operator--() [2/2]

const_row_iterator& pqxx::const_row_iterator::operator-- ( )
noexcept

◆ operator-=()

const_row_iterator& pqxx::const_row_iterator::operator-= ( difference_type  i)
noexcept

◆ operator->()

constexpr pointer pqxx::const_row_iterator::operator-> ( ) const
noexcept

◆ operator<()

constexpr bool pqxx::const_row_iterator::operator< ( const_row_iterator const &  i) const
noexcept

References pqxx::field::col().

◆ operator<=()

constexpr bool pqxx::const_row_iterator::operator<= ( const_row_iterator const &  i) const
noexcept

References pqxx::field::col().

◆ operator=() [1/2]

const_row_iterator& pqxx::const_row_iterator::operator= ( const_row_iterator const &  )
defaultnoexcept

◆ operator=() [2/2]

const_row_iterator& pqxx::const_row_iterator::operator= ( const_row_iterator &&  )
defaultnoexcept

◆ operator==()

constexpr bool pqxx::const_row_iterator::operator== ( const_row_iterator const &  i) const
noexcept

References pqxx::field::col().

◆ operator>()

constexpr bool pqxx::const_row_iterator::operator> ( const_row_iterator const &  i) const
noexcept

References pqxx::field::col().

◆ operator>=()

constexpr bool pqxx::const_row_iterator::operator>= ( const_row_iterator const &  i) const
noexcept

Friends And Related Function Documentation

◆ operator+


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