% -----------------------------------------------------------------------------
% wxStreamBase
% -----------------------------------------------------------------------------
\section{\class{wxStreamBase}}\label{wxstreambase}

This class is the base class of most stream related classes in wxWidgets. It must
not be used directly.

\wxheading{Derived from}

None

\wxheading{Include files}

<wx/stream.h>

\wxheading{See also}

\helpref{wxStreamBuffer}{wxstreambuffer}

% -----------------------------------------------------------------------------
% Members
% -----------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}} 

% -----------
% ctor & dtor
% -----------

\membersection{wxStreamBase::wxStreamBase}

\func{}{wxStreamBase}{\void}

Creates a dummy stream object. It doesn't do anything.

\membersection{wxStreamBase::\destruct{wxStreamBase}}

\func{}{\destruct{wxStreamBase}}{\void}

Destructor.

\membersection{wxStreamBase::IsOk}\label{wxstreambaseisok}

\constfunc{wxStreamError}{IsOk}{\void}

Returns TRUE if no error occurred on the stream.

\wxheading{See also}

\helpref{LastError}{wxstreambaselasterror}

\membersection{wxStreamBase::LastError}\label{wxstreambaselasterror}

\constfunc{wxStreamError}{LastError}{\void}

This function returns the last error.

\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxSTREAM\_NO\_ERROR}}{No error occurred.}
\twocolitem{{\bf wxSTREAM\_EOF}}{An End-Of-File occurred.}
\twocolitem{{\bf wxSTREAM\_WRITE\_ERROR}}{A generic error occurred on the last write call.}
\twocolitem{{\bf wxSTREAM\_READ\_ERROR}}{A generic error occurred on the last read call.}
\end{twocollist}

\membersection{wxStreamBase::OnSysRead}\label{wxstreambaseonsysread}

\func{size\_t}{OnSysRead}{\param{void*}{ buffer}, \param{size\_t}{ bufsize}}

Internal function. It is called when the stream wants to read data of the
specified size. It should return the size that was actually read.

\membersection{wxStreamBase::OnSysSeek}

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

Internal function. It is called when the stream needs to change the
current position.

\membersection{wxStreamBase::OnSysTell}

\constfunc{off\_t}{OnSysTell}{\void}

Internal function. Is is called when the stream needs to know the
real position.

\membersection{wxStreamBase::OnSysWrite}

\func{size\_t}{OnSysWrite}{\param{void *}{buffer}, \param{size\_t}{ bufsize}}

See \helpref{OnSysRead}{wxstreambaseonsysread}.

\membersection{wxStreamBase::GetSize}\label{wxstreambasegetsize}

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

This function returns the size of the stream. For example, for a file it is the size of
the file.

\wxheading{Warning}

There are streams which do not have size by definition, such as socket streams.
In that cases, GetSize returns an invalid size represented by

\begin{verbatim}
~(size_t)0
\end{verbatim}

