libpqxx
|
Approximate istream_iterator for icursorstream. More...
#include <cursor.hxx>
Public Types | |
using | iterator_category = std::input_iterator_tag |
using | value_type = result |
using | pointer = const result * |
using | reference = const result & |
using | istream_type = icursorstream |
using | size_type = istream_type::size_type |
using | difference_type = istream_type::difference_type |
Public Member Functions | |
icursor_iterator () noexcept | |
icursor_iterator (istream_type &) noexcept | |
icursor_iterator (const icursor_iterator &) noexcept | |
~icursor_iterator () noexcept | |
const result & | operator* () const |
const result * | operator-> () const |
icursor_iterator & | operator++ () |
icursor_iterator | operator++ (int) |
icursor_iterator & | operator+= (difference_type) |
icursor_iterator & | operator= (const icursor_iterator &) noexcept |
bool | operator== (const icursor_iterator &rhs) const |
bool | operator!= (const icursor_iterator &rhs) const noexcept |
bool | operator< (const icursor_iterator &rhs) const |
bool | operator> (const icursor_iterator &rhs) const |
bool | operator<= (const icursor_iterator &rhs) const |
bool | operator>= (const icursor_iterator &rhs) const |
Friends | |
class | internal::gate::icursor_iterator_icursorstream |
Approximate istream_iterator for icursorstream.
Intended as an implementation of an input_iterator (as defined by the C++ Standard Library), this class supports only two basic operations: reading the current element, and moving forward. In addition to the minimal guarantees for istream_iterators, this class supports multiple successive reads of the same position (the current result set is cached in the iterator) even after copying and even after new data have been read from the stream. This appears to be a requirement for input_iterators. Comparisons are also supported in the general case.
The iterator does not care about its own position, however. Moving an iterator forward moves the underlying stream forward and reads the data from the new stream position, regardless of the iterator's old position in the stream.
The stream's stride defines the granularity for all iterator movement or access operations, i.e. "ici += 1" advances the stream by one stride's worth of rows, and "*ici++" reads one stride's worth of rows from the stream.
using pqxx::icursor_iterator::iterator_category = std::input_iterator_tag |
using pqxx::icursor_iterator::pointer = const result * |
using pqxx::icursor_iterator::reference = const result & |
|
noexcept |
|
explicitnoexcept |
|
noexcept |
|
noexcept |
|
noexcept |
const result& pqxx::icursor_iterator::operator* | ( | ) | const |
icursor_iterator & pqxx::icursor_iterator::operator++ | ( | ) |
icursor_iterator pqxx::icursor_iterator::operator++ | ( | int | ) |
icursor_iterator & pqxx::icursor_iterator::operator+= | ( | difference_type | n | ) |
const result* pqxx::icursor_iterator::operator-> | ( | ) | const |
bool pqxx::icursor_iterator::operator< | ( | const icursor_iterator & | rhs | ) | const |
bool pqxx::icursor_iterator::operator<= | ( | const icursor_iterator & | rhs | ) | const |
|
noexcept |
bool pqxx::icursor_iterator::operator== | ( | const icursor_iterator & | rhs | ) | const |
References pqxx::result::empty().
bool pqxx::icursor_iterator::operator> | ( | const icursor_iterator & | rhs | ) | const |
bool pqxx::icursor_iterator::operator>= | ( | const icursor_iterator & | rhs | ) | const |
|
friend |