% -----------------------------------------------------------------------------
% wxInputStream
% -----------------------------------------------------------------------------
\section{\class{wxInputStream}}\label{wxinputstream}

\wxheading{Derived from}

\helpref{wxStreamBase}{wxstreambase}

\wxheading{Include files}

<wx/stream.h>

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

\func{}{wxInputStream}{\void}

Creates a dummy input stream.

\membersection{wxInputStream::\destruct{wxInputStream}}

\func{}{\destruct{wxInputStream}}{\void}

Destructor.

\membersection{wxInputStream::GetC}

\func{char}{GetC}{\void}

Returns the first character in the input queue and removes it.

\membersection{wxInputStream::LastRead}

\constfunc{size\_t}{LastRead}{\void}

Returns the last number of bytes read.

\membersection{wxInputStream::Peek}

\func{char}{Peek}{\void}

Returns the first character in the input queue without removing it.

\membersection{wxInputStream::Read}

\func{wxInputStream\&}{Read}{\param{void *}{buffer}, \param{size\_t}{ size}}

Reads the specified amount of bytes and stores the data in \it{buffer}.

\wxheading{Warning}

The buffer absolutely needs to have at least the specified size.

\wxheading{Return value}

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

\func{wxInputStream\&}{Read}{\param{wxOutputStream\&}{ stream\_out}}

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

\wxheading{Return value}

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

\membersection{wxInputStream::SeekI}

\func{off\_t}{SeekI}{\param{off\_t}{ pos}, \param{wxSeekMode}{ mode = wxFromStart}}

Changes the stream current position.

\membersection{wxInputStream::TellI}

\constfunc{off\_t}{TellI}{\void}

Returns the current stream position.

\membersection{wxInputStream::Ungetch}\label{wxinputstream_ungetch}

\func{size\_t}{Ungetch}{\param{const char*}{ buffer}, \param{size\_t}{ size}}

This function is only useful in \it{read} mode. It is the manager of the "Write-Back"
buffer. This buffer acts like a temporary buffer where datas which has to be
read during the next read IO call are put. This is useful when you get a big
block of data which you didn't want to read: you can replace them at the top
of the input queue by this way.

\wxheading{Return value}

Returns the amount of bytes saved in the Write-Back buffer.

\func{bool}{Ungetch}{\param{char }{c}}

This function acts like the previous one except that it takes only one
character: it is sometimes shorter to use than the generic function.

