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

Iterator for rows in a result. Use as result::const_iterator. More...

#include <result_iterator.hxx>

+ Inheritance diagram for pqxx::const_result_iterator:

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = row_ref const
 
using pointer = row_ref const *
 
using reference = row_ref
 
using size_type = result_size_type
 
using difference_type = result_difference_type
 

Public Member Functions

 const_result_iterator () noexcept=default
 Create an iterator, but in an unusable state. More...
 
 const_result_iterator (const_result_iterator const &) noexcept=default
 Copy an iterator. More...
 
 const_result_iterator (const_result_iterator &&) noexcept=default
 Move an iterator. More...
 
 const_result_iterator (result const &r, result_size_type i) noexcept
 Create an iterator pointing at a row. More...
 
 const_result_iterator (row_ref const &r) noexcept
 Create an iterator pointing at a row. More...
 
 ~const_result_iterator ()=default
 
reference operator[] (difference_type d) const
 
Dereferencing operators

An iterator "points to" its current row.

PQXX_RETURNS_NONNULL pointer operator-> () const noexcept
 Dereference the iterator. More...
 
reference operator* () const noexcept
 Dereference the iterator. More...
 
Manipulations
const_result_iteratoroperator= (const_result_iterator const &)=default
 
const_result_iteratoroperator= (const_result_iterator &&)=default
 
const_result_iterator operator++ (int) &
 
PQXX_INLINE_ONLY const_result_iteratoroperator++ ()
 
const_result_iterator operator-- (int) &
 
PQXX_INLINE_ONLY const_result_iteratoroperator-- ()
 
const_result_iteratoroperator+= (difference_type i)
 
const_result_iteratoroperator-= (difference_type i)
 
void swap (const_result_iterator &other) noexcept
 Interchange two iterators in an exception-safe manner. More...
 
Comparisons
bool operator== (const_result_iterator const &i) const
 
bool operator!= (const_result_iterator const &i) const
 
bool operator< (const_result_iterator const &i) const
 
bool operator<= (const_result_iterator const &i) const
 
bool operator> (const_result_iterator const &i) const
 
bool operator>= (const_result_iterator const &i) const
 

Arithmetic operators

const_result_iterator operator+ (difference_type) const
 
const_result_iterator operator- (difference_type) const
 
difference_type operator- (const_result_iterator const &) const
 
const_result_iterator operator+ (difference_type, const_result_iterator const &)
 

Detailed Description

Iterator for rows in a result. Use as result::const_iterator.

A result, once obtained, cannot be modified. Therefore all iterators on a result are const iterators.

Warning
You must not destroy or move a result object while any iterators are still active on it, or on any of its rows.

Member Typedef Documentation

◆ difference_type

◆ iterator_category

using pqxx::const_result_iterator::iterator_category = std::random_access_iterator_tag

◆ pointer

◆ reference

◆ size_type

◆ value_type

Constructor & Destructor Documentation

◆ const_result_iterator() [1/5]

pqxx::const_result_iterator::const_result_iterator ( )
defaultnoexcept

Create an iterator, but in an unusable state.

◆ const_result_iterator() [2/5]

pqxx::const_result_iterator::const_result_iterator ( const_result_iterator const &  )
defaultnoexcept

Copy an iterator.

◆ const_result_iterator() [3/5]

pqxx::const_result_iterator::const_result_iterator ( const_result_iterator &&  )
defaultnoexcept

Move an iterator.

◆ const_result_iterator() [4/5]

pqxx::const_result_iterator::const_result_iterator ( result const &  r,
result_size_type  i 
)
inlinenoexcept

Create an iterator pointing at a row.

◆ const_result_iterator() [5/5]

pqxx::const_result_iterator::const_result_iterator ( row_ref const &  r)
inlineexplicitnoexcept

Create an iterator pointing at a row.

◆ ~const_result_iterator()

pqxx::const_result_iterator::~const_result_iterator ( )
default

Member Function Documentation

◆ operator!=()

bool pqxx::const_result_iterator::operator!= ( const_result_iterator const &  i) const
inline

◆ operator*()

reference pqxx::const_result_iterator::operator* ( ) const
inlinenoexcept

Dereference the iterator.

◆ operator+()

const_result_iterator pqxx::const_result_iterator::operator+ ( result::difference_type  o) const
inline

◆ operator++() [1/2]

PQXX_INLINE_ONLY const_result_iterator& pqxx::const_result_iterator::operator++ ( )
inline

◆ operator++() [2/2]

pqxx::const_result_iterator pqxx::const_result_iterator::operator++ ( int  ) &

◆ operator+=()

const_result_iterator& pqxx::const_result_iterator::operator+= ( difference_type  i)
inline

◆ operator-() [1/2]

PQXX_INLINE_ONLY result::difference_type pqxx::const_result_iterator::operator- ( const_result_iterator const &  i) const
inline

◆ operator-() [2/2]

const_result_iterator pqxx::const_result_iterator::operator- ( result::difference_type  o) const
inline

◆ operator--() [1/2]

PQXX_INLINE_ONLY const_result_iterator& pqxx::const_result_iterator::operator-- ( )
inline

◆ operator--() [2/2]

pqxx::const_result_iterator pqxx::const_result_iterator::operator-- ( int  ) &

◆ operator-=()

const_result_iterator& pqxx::const_result_iterator::operator-= ( difference_type  i)
inline

◆ operator->()

PQXX_RETURNS_NONNULL pointer pqxx::const_result_iterator::operator-> ( ) const
inlinenoexcept

Dereference the iterator.

◆ operator<()

bool pqxx::const_result_iterator::operator< ( const_result_iterator const &  i) const
inline

◆ operator<=()

bool pqxx::const_result_iterator::operator<= ( const_result_iterator const &  i) const
inline

◆ operator=() [1/2]

const_result_iterator& pqxx::const_result_iterator::operator= ( const_result_iterator &&  )
default

◆ operator=() [2/2]

const_result_iterator& pqxx::const_result_iterator::operator= ( const_result_iterator const &  )
default

◆ operator==()

bool pqxx::const_result_iterator::operator== ( const_result_iterator const &  i) const
inline

◆ operator>()

bool pqxx::const_result_iterator::operator> ( const_result_iterator const &  i) const
inline

◆ operator>=()

bool pqxx::const_result_iterator::operator>= ( const_result_iterator const &  i) const
inline

◆ operator[]()

reference pqxx::const_result_iterator::operator[] ( difference_type  d) const
inline

◆ swap()

void pqxx::const_result_iterator::swap ( const_result_iterator other)
inlinenoexcept

Interchange two iterators in an exception-safe manner.

Friends And Related Function Documentation

◆ operator+

const_result_iterator operator+ ( result::difference_type  o,
const_result_iterator const &  i 
)
friend

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