jigdo API

SerialIstreamIterator Class Reference

Slight variation (and simplification) of std::istream_iterator and std::ostream_iterator. More...

#include <serialize.hh>

List of all members.

Public Types

typedef bistream istream_type
typedef byte value_type
typedef const byte * pointer
typedef const byte & reference

Public Member Functions

 SerialIstreamIterator ()
 SerialIstreamIterator (istream_type &s)
SerialIstreamIteratoroperator++ ()
SerialIstreamIterator operator++ (int)
reference operator* () const
pointer operator-> () const

Detailed Description

Slight variation (and simplification) of std::istream_iterator and std::ostream_iterator.

You *MUST* use this when reading binary data for (un)serializing.

The reason why the ordinary iterator does not work is that it uses "mystream >> byteToRead" which skips over whitespace (!) - this one uses "mystream.get(byteToRead)".

Additionally, because it makes use of peek() this implementation allows mixing of Serial*streamIterator with calls to read() on the respective stream, without any problems. (This does not work with GCC's version, which uses get().)

Member Typedef Documentation

typedef const byte* SerialIstreamIterator::pointer

typedef const byte& SerialIstreamIterator::reference

Constructor & Destructor Documentation

SerialIstreamIterator::SerialIstreamIterator (  )  [inline]

SerialIstreamIterator::SerialIstreamIterator ( istream_type s  )  [inline]

Member Function Documentation

SerialIstreamIterator& SerialIstreamIterator::operator++ (  )  [inline]

SerialIstreamIterator SerialIstreamIterator::operator++ ( int   )  [inline]

reference SerialIstreamIterator::operator* (  )  const [inline]

pointer SerialIstreamIterator::operator-> (  )  const [inline]

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

Generated on Tue Sep 23 14:27:43 2008 for jigdo by  doxygen 1.5.6