% -----------------------------------------------------------------------------
% wxOutputStream
% -----------------------------------------------------------------------------
\section{\class{wxOutputStream}}\label{wxoutputstream}

wxOutputStream is an abstract base class which may not be used directly.

\wxheading{Derived from}

\helpref{wxStreamBase}{wxstreambase}

\wxheading{Include files}

<wx/stream.h>

% -----------
% ctor & dtor
% -----------
\membersection{wxOutputStream::wxOutputStream}

\func{}{wxOutputStream}{\void}

Creates a dummy wxOutputStream object.

\membersection{wxOutputStream::\destruct{wxOutputStream}}

\func{}{\destruct{wxOutputStream}}{\void}

Destructor.

\membersection{wxOutputStream::LastWrite}

\constfunc{size\_t}{LastWrite}{\void}

Returns the number of bytes written during the last Write().

\membersection{wxOutputStream::PutC}

\func{void}{PutC}{\param{char}{ c}}

Puts the specified character in the output queue and increments the
stream position.

\membersection{wxOutputStream::SeekO}

\func{off\_t}{SeekO}{\param{off\_t}{ pos}, \param{wxSeekMode}{ mode}}

Changes the stream current position.

\membersection{wxOutputStream::TellO}

\constfunc{off\_t}{TellO}{\void}

Returns the current stream position.

\membersection{wxOutputStream::Write}

\func{wxOutputStream\&}{Write}{\param{const void *}{buffer}, \param{size\_t}{ size}}

Writes the specified amount of bytes using the data of \it{buffer}. 
\it{WARNING!} The buffer absolutely needs to have at least the specified size.

This function returns a reference on the current object, so the user can test
any states of the stream right away.

\func{wxOutputStream\&}{Write}{\param{wxInputStream\&}{ stream\_in}}

Reads data from the specified input stream and stores them 
in the current stream. The data is read until an error is raised
by one of the two streams.

% -----------------------------------------------------------------------------
% wxCountingOutputStream
% -----------------------------------------------------------------------------
\section{\class{wxCountOutputStream}}\label{wxcountingoutputstream}

wxCountingOutputStream is specialized output stream which does not write any data anyway,
instead it counts how many bytes would get written if this were a normal stream. This
can sometimes be useful or required if some data gets serialized to a stream or compressed
by using stream compression and thus the final size of the stream cannot be known other
than pretending to write the stream. One case where the resulting size would have to be
known is if the data has to be written to a piece of memory and the memory has to be
allocated before writing to it (which is probably always the case when writing to a 
memory stream).

\wxheading{Derived from}

\helpref{wxOutputStream}{wxstreambase}
\helpref{wxStreamBase}{wxstreambase}

\wxheading{Include files}

<wx/stream.h>

% -----------
% ctor & dtor
% -----------
\membersection{wxCountingOutputStream::wxCountingOutputStream}

\func{}{wxCountingOutputStream}{\void}

Creates a wxCountingOutputStream object.

\membersection{wxCountingOutputStream::\destruct{wxCountingOutputStream}}

\func{}{\destruct{wxCountingOutputStream}}{\void}

Destructor.

\membersection{wxCountingOutputStream::GetSize}

\constfunc{size\_t}{GetSize}{\void}

Returns the current size of the stream.
