Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | 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
typedef istream_type::difference_type difference_type

Public Member Functions

 icursor_iterator () throw ()
 icursor_iterator (istream_type &) throw ()
 icursor_iterator (const icursor_iterator &) throw ()
 ~icursor_iterator () throw ()
const resultoperator * () const
const resultoperator-> () const
icursor_iteratoroperator++ ()
icursor_iterator operator++ (int)
icursor_iteratoroperator+= (difference_type)
icursor_iteratoroperator= (const icursor_iterator &) throw ()
bool operator== (const icursor_iterator &rhs) const
bool operator!= (const icursor_iterator &rhs) const throw ()
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 icursorstream


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. 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 tuples, and "*ici++" reads one stride's worth of tuples from the stream.

Warning:
Do not read from the underlying stream or its cursor, move its read position, or change its stride, between the time the first icursor_iterator on it is created and the time its last icursor_iterator is destroyed.


Member Typedef Documentation

typedef istream_type::difference_type pqxx::icursor_iterator::difference_type
 

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  )  throw ()
 

pqxx::icursor_iterator::icursor_iterator istream_type  )  throw () [explicit]
 

pqxx::icursor_iterator::icursor_iterator const icursor_iterator  )  throw ()
 

pqxx::icursor_iterator::~icursor_iterator  )  throw ()
 


Member Function Documentation

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

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

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

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

pqxx::icursor_iterator & pqxx::icursor_iterator::operator+= difference_type   ) 
 

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
 

pqxx::icursor_iterator & pqxx::icursor_iterator::operator= const icursor_iterator  )  throw ()
 

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

bool pqxx::icursor_iterator::operator> const icursor_iterator rhs  )  const
 

bool pqxx::icursor_iterator::operator>= const icursor_iterator rhs  )  const
 


Friends And Related Function Documentation

friend class icursorstream [friend]
 


The documentation for this class was generated from the following files:
Generated on Mon Nov 15 11:28:03 2004 for libpqxx by  doxygen 1.3.9.1