Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

pqxx::icursor_iterator Class Reference

Approximate istream_iterator for icursorstream. More...

#include <cursor.hxx>

List of all members.

Public Types

typedef icursorstream istream_type
typedef istream_type::size_type size_type

Public Member Functions

 icursor_iterator ()
 icursor_iterator (istream_type &s)
 icursor_iterator (const icursor_iterator &rhs)
const resultoperator * () const
const resultoperator-> () const
icursor_iteratoroperator++ ()
icursor_iterator operator++ (int)
icursor_iteratoroperator+= (size_type n)
icursor_iteratoroperator= (const icursor_iterator &rhs)
bool operator== (const icursor_iterator &rhs) const throw ()
bool operator!= (const icursor_iterator &rhs) const throw ()


Detailed Description

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.

The iterator has no concept of its own position, however. Moving an iterator forward moves the underlying stream forward and reads the data from the new position, regardless of "where the iterator was" in the stream. Comparison of iterators is only supported for detecting the end of a stream.

Warning:
This code is experimental. It is not fully covered by libpqxx' regression tests, and may see considerable change before becoming part of a stable release. Do not use except to test it.


Member Typedef Documentation

typedef icursorstream pqxx::icursor_iterator::istream_type
 

typedef istream_type::size_type pqxx::icursor_iterator::size_type
 


Constructor & Destructor Documentation

pqxx::icursor_iterator::icursor_iterator  ) 
 

pqxx::icursor_iterator::icursor_iterator istream_type s  ) 
 

pqxx::icursor_iterator::icursor_iterator const icursor_iterator rhs  ) 
 


Member Function Documentation

const result& pqxx::icursor_iterator::operator *  )  const
 

bool pqxx::icursor_iterator::operator!= const icursor_iterator rhs  )  const throw ()
 

icursor_iterator pqxx::icursor_iterator::operator++ int   ) 
 

icursor_iterator& pqxx::icursor_iterator::operator++  ) 
 

icursor_iterator& pqxx::icursor_iterator::operator+= size_type  n  ) 
 

const result* pqxx::icursor_iterator::operator->  )  const
 

icursor_iterator& pqxx::icursor_iterator::operator= const icursor_iterator rhs  ) 
 

bool pqxx::icursor_iterator::operator== const icursor_iterator rhs  )  const throw ()
 


The documentation for this class was generated from the following file:
Generated on Thu Aug 12 23:56:30 2004 for libpqxx by doxygen 1.3.8