============
STRSTREA.H
============
Declares the C++ (version 2.0) stream classes
for use with byte arrays in memory.
Includes
========
IOSTREAM.H
Classes
=======
To get more Help on the classes in the
STRSTREA.H header file (and their attendant
member functions and data members), choose
one of these Help links:
istrstream
ostrstream
strstream
strstreambase
strstreambuf
See Also
========
List of all Header files
Streamable Classes
==============================================
istrstream class summary (STRSTREAM.H)
==============================================
+-----+ +-----------------------------+
| ios |----------->|streambuf *bp = strstreambuf*|
+-=-=-+ | (ie: &strstreambase::buf) |
+----+ +-----+ +--------------=--------------+
+---+---+ +------+------+ |
|istream| |strstreambase| +------+-----+
+---=---+ +------=------+ |strstreambuf|
+----+ +-----+ +------------+
+----+-+----+
|istrstream |
+-----------+
Remarks:
Provides an input stream specifically to input
from an array using a strstreambuf.
The cluster (ios, istream, ostream, iostream,
streambuf), provides a base for specialized
cluster that deals with memory: strstreambase,
istrstream, ostrstream, and strstreambuf.
Constructors:
istrstream::istrstream(const char *);
istrstream::istrstream(const char *, int n);
Member Functions:
None
istrstream::istrstream (constructors)
======================================
Declarations:
Form 1 istrstream(const char *);
Form 2 istrstream(const char *, int n);
See Also
istrstream
istrstream::istrstream, Form 1 (constructor)
==============================================
Declarations:
istrstream(const char *);
Remarks:
Makes an istrtream with a specified string (a
null character is never extracted).
See Also
istrstream::istrstream
istrstream::istrstream, Form 2
istrstream::istrstream, Form 2 (constructor)
==============================================
Declarations:
istrstream(const char *, int n);
Remarks:
Makes an istrtream using n bytes of a
specified string.
See Also
istrstream::istrstream
istrstream::istrstream, Form 1
==============================================
ostrstream class summary (STRSTREAM.H)
==============================================
Derived From: strstreambase, ostream
Base For: None
Remarks:
Provides an output stream to extract from an
array using a strstreambuf.
+-----+ +-----------------------------+
| ios |------------>|streambuf *bp = strstreambuf*|
+-=-=-+ | (ie: &strstreambase::buf) |
+----+ +-----+ +--------------=--------------+
+---+---+ +------+-------+ |
|ostream| |strstreambase | +------+-----+
+---=---+ +------=-------+ |strstreambuf|
+----+ +-----+ +------------+
+----+-+----+
|ostrstream |
+-----------+
Constructors:
ostrstream::ostrstream();
ostrstream::ostrstream(char*, int, int=ios::out);
Member Functions:
ostrstream::ostrstream
ostrstream::pcount
ostrstream::str
ostrstream::ostrstream (constructors)
=======================================
Declaration:
Form 1 ostrstream();
Form 2 ostrstream(char*, int, int=ios::out);
See Also:
ostrstream
ostrstream::ostrstream, Form 1 (constructor)
==============================================
Declaration:
ostrstream();
Remarks:
Makes an ostrstream with a dynamic array for
the input stream.
See Also:
ostrstream::ostrstream
ostrstream::ostrstream, Form 2
ostrstream
ostrstream::ostrstream, Form 2 (constructor)
==============================================
Declaration:
ostrstream(char*, int, int=ios::out);
Remarks:
Makes a ostrstream with a specified n-byte
buffer.
If mode is ios::app or ios::ate, the get/put
pointer is positioned at the null character
of the string.
See Also:
ostrstream::ostrstream
ostrstream::ostrstream, Form 1
ostrstream
ostrstream::pcount (member function)
======================================
Declaration:
char *pcount();
Remarks:
Returns the number of bytes currently stored
in the buffer.
See Also:
ostrstream
ostrstream::str (member function)
===================================
Declaration:
char *str();
Remarks:
Returns and freezes the buffer. You must
deallocate it if it was dynamic.
See Also:
ostrstream
============================================
strstream class summary (STRSTREAM.H)
============================================
+---------+ +---------+
| ios |--------------------------------->|streambuf|
+---=-=-=-+ +----=----+
| | +----------------------+ |
+---+ +---+ | |
+---+---+ +---+---+ | |
|istream| |ostream| | |
+-=-=---+ +---=-=-+ ==============|==================|========
| +---+ +---+ +------------------|--------+ |
| +---+-+---+ +------+------+ | +-----+------+
| |iostream | |strstreambase| | |strstreambuf|
| +----=----+ +---=--=--=---+ | +------------+
+------|----------------+ +---+ | +---+ |
| +---+-+----+ | +----+-+---+
| |istrstream| | |ostrstream|
| +-----=----+ | +----=-----+
| +----+ | +----+
+---------------------+ | | |
+-+-+-+-+---+
| strstream |
+-----------+
==========================================
Remarks:
Provides an input and output stream to and
from an array using a strstreambuf.
Input and output is initiated using the
functions of the base classes istream and
ostream.
For example, strstream can use the function
istream::getline() to extract characters from
the buffer.
Constructors:
strstream::strstream();
strstream::strstream(char*, int n, int mode);
Member Functions:
strstream::str
strstream::strstream (constructors)
====================================
Declaration:
Form 1 strstream();
Form 2 strstream(char*, int n, int mode);
See Also:
strstream
strstream::strstream, Form 1 (constructor)
============================================
Declaration:
strstream();
Remarks:
Makes a strstream with the base class
strstreambase's streambuf data member's buffer
dynamically allocated the first time it is
used.
The put and get areas are the same.
See Also:
strstream::strstream
strstream::strstream, Form 2
strstream::strstream, Form 2 (constructor)
============================================
Declaration:
strstream(char*, int n, int mode);
Remarks:
Makes a strstream with a specified n-byte
buffer.
If mode is ios::app or ios::ate, the get/put
pointer is positioned at the null character
of the string.
See Also:
strstream::strstream
strstream::strstream, Form 1
strstream::str (member function)
==================================
Declaration:
char *str();
Remarks:
Returns and freezes the buffer.
You must de-allocate the buffer if it was
dynamic.
See Also:
strstream
=================================================
strstreambase class summary (STRSTREAM.H)
=================================================
Derived From: ios
Base For: strstream, istrstream, ostrstream
Remarks:
Specialized ios to string streams by
initializing ios's data member of type pointer
to streambuf, bp, to point to a strstreambuf.
+-----+ +------------------------------+
| ios |------>| streambuf *bp = strstreambuf |
+--=--+ | (ie: &strstreambase::buf) |
| +------------------------------+
+------+------+
|strstreambase|
+-------------+
Constructors:
strstreambase::strstreambase();
strstreambase::strstreambase(const char*, int, char *start);
Member Functions:
strstreambase::rdbuf
Makes virtual use of ios
strstreambase::strstreambase (constructors)
=============================================
Declarations:
Form 1 strstreambase();
Form 2 strstreambase(const char*, int, char *start);
See Also:
strstreambase
strstreambase::strstreambase, Form 1 (protected constructor)
==============================================================
Declaration:
strstreambase();
Remarks:
Makes a strstreambase with its streambuf data
member's buffer dynamically allocated the
first time it is used.
The put area and get areas are the same.
See Also:
strstreambase::strstreambase
strstreambase::strstreambase, Form 2
strstreambase::strstreambase, Form 2 (protected constructor)
==============================================================
Declaration:
strstreambase(const char*, int, char *start);
Remarks:
Makes an strstreambase with a specified buffer
and starting position.
See Also:
strstreambase::strstreambase
strstreambase::strstreambase, Form 1
strstreambase::rdbuf (member function)
========================================
Declaration:
strstreambuf * rdbuf();
Remarks:
Returns a pointer to the strstreambuf
associated with this object.
See Also:
strstreambase
================================================
strstreambuf class summary (STRSTREAM.H)
================================================
Derived From: streambuf
Base For: None
Remarks:
strstreambuf implements input and output to
and from a memory location.
The derived classes of streambuf must provide
streams for input or output.
strstreambuf is one of the two classes
defined in the C++ Stream Library which
provide a place for input to be gathered from
and a place for output to go.
The I/O functions of istream and ostream make
calls to the functions of strstreambuf to do
the actual insertion or extraction on the
streams.
Constructors:
strstreambuf::strstreambuf();
strstreambuf::strstreambuf(void * (*)(long), void (*)(void *));
strstreambuf::strstreambuf(int n);
strstreambuf::strstreambuf(signed char *, int, signed char *end);
strstreambuf::strstreambuf(unsigned char *, int, unsigned char *end);
Member Functions:
strstreambuf::doallocate
strstreambuf::freeze
strstreambuf::init
strstreambuf::overflow
strstreambuf::str
strstreambuf::setbuf
strstreambuf::seekoff
strstreambuf::strstreambuf
strstreambuf::underflow
strstreambuf::strstreambuf (constructors)
===========================================