\wxheading{Derived from}
-\helpref{wxInputStream}{wxinputstream}
+\helpref{wxInputStream}{wxinputstream}\\
+\helpref{wxStreamBase}{wxstreambase}
-\wxheading{See also}
+\wxheading{Include files}
+
+<wx/mstream.h>
-\helpref{wxStreamBuffer}{wxstreamBuffer}
+\wxheading{Library}
-\wxheading{Remark}
+\helpref{wxBase}{librarieslist}
-You can create a similar stream by this way:
-\begin{verbatim}
- wxStreamBuffer *sb = new wxStreamBuffer(wxStreamBuffer::read);
- wxInputStream *input = new wxInputStream(sb);
+\wxheading{See also}
- sb->SetBufferIO(data, data\_end);
-\end{verbatim}
+\helpref{wxStreamBuffer}{wxstreambuffer}, \helpref{wxMemoryOutputStream}{wxmemoutputstream}
% ----------
% Members
% ----------
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxMemoryInputStream::wxMemoryInputStream}
+\membersection{wxMemoryInputStream::wxMemoryInputStream}\label{wxmemoryinputstreamctor}
\func{}{wxMemoryInputStream}{\param{const char *}{ data}, \param{size\_t}{ len}}
Initializes a new read-only memory stream which will use the specified buffer
-\it{data} of length \it{len}.
+{\it data} of length {\it len}. The stream does not take ownership of the
+buffer, i.e. the buffer will not be deleted in its destructor.
+
+\func{}{wxMemoryInputStream}{\param{const wxMemoryOutputStream&}{ stream}}
+
+Creates a new read-only memory stream, initializing it with the
+data from the given output stream \arg{stream}.
+
+\func{}{wxMemoryInputStream}{\param{wxInputStream\&}{ stream}, \param{wxFileOffset}{ len = wxInvalidOffset}}
+
+Creates a new read-only memory stream, initializing it with the
+data from the given input stream \arg{stream}.
-\membersection{wxMemoryInputStream::\destruct{wxMemoryInputStream}}
+The \arg{len} argument specifies the amount of data to read from
+the \arg{stream}. Setting it to {\it wxInvalidOffset} means that
+the \arg{stream} is to be read entirely (i.e. till the EOF is reached).
-\func{}{\destruct{wxFileInputStream}}{\void}
+
+\membersection{wxMemoryInputStream::\destruct{wxMemoryInputStream}}\label{wxmemoryinputstreamdtor}
+
+\func{}{\destruct{wxMemoryInputStream}}{\void}
Destructor.
+\membersection{wxMemoryInputStream::GetInputStreamBuffer}\label{wxmemoryinputstreamgetistrmbuf}
+
+\constfunc{wxStreamBuffer *}{GetInputStreamBuffer}{\void}
+
+Returns the pointer to the stream object used as an internal buffer
+for that stream.
+
% -----------------------------------------------------------------------------
% wxMemoryOutputStream
% -----------------------------------------------------------------------------
\wxheading{Derived from}
-\helpref{wxOutputStream}{wxoutputstream}
+\helpref{wxOutputStream}{wxoutputstream}\\
+\helpref{wxStreamBase}{wxstreambase}
-\wxheading{See also}
+\wxheading{Include files}
-\helpref{wxStreamBuffer}{wxstreamBuffer}
+<wx/mstream.h>
+\wxheading{Library}
-\wxheading{Remark}
+\helpref{wxBase}{librarieslist}
-You can create a similar stream by this way:
-\begin{verbatim}
- wxStreamBuffer *sb = new wxStreamBuffer(wxStreamBuffer::write);
- wxOutputStream *input = new wxOutputStream(sb);
-
- // If there are data
- sb->SetBufferIO(data, data\_end);
- // Else
- sb->Fixed(FALSE);
-\end{verbatim}
-
-This way is also useful to create read/write memory stream:
-\begin{verbatim}
- wxStreamBuffer *sb = new wxStreamBuffer(wxStreamBuffer::read\_write);
- wxOutputStream *output = new wxOutputStream(sb);
- wxInputStream *input = new wxInputStream(sb);
+\wxheading{See also}
- // If there are data
- sb->SetBufferIO(data, data\_end);
- // Else
- sb->Fixed(FALSE);
-\end{verbatim}
+\helpref{wxStreamBuffer}{wxstreambuffer}
% ----------
% Members
% ----------
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxMemoryOutputStream::wxMemoryOutputStream}
+\membersection{wxMemoryOutputStream::wxMemoryOutputStream}\label{wxmemoryoutputstreamctor}
\func{}{wxMemoryOutputStream}{\param{char *}{ data = NULL}, \param{size\_t}{ length = 0}}
-If \it{data} is NULL, then it will initialize a new empty buffer which will
-grow when it needs.
+If {\it data} is NULL, then it will initialize a new empty buffer which will
+grow if required.
\wxheading{Warning}
If the buffer is created, it will be destroyed at the destruction of the
stream.
-\membersection{wxMemoryOutputStream::\destruct{wxMemoryOutputStream}}
+\membersection{wxMemoryOutputStream::\destruct{wxMemoryOutputStream}}\label{wxmemoryoutputstreamdtor}
\func{}{\destruct{wxMemoryOutputStream}}{\void}
Destructor.
+
+\membersection{wxMemoryOutputStream::CopyTo}\label{wxmemoryoutputstreamcopyto}
+
+\constfunc{size\_t}{CopyTo}{\param{char *}{buffer}, \param{size\_t }{len}}
+
+CopyTo allowed you to transfer data from the internal buffer of
+wxMemoryOutputStream to an external buffer. {\it len} specifies the size of
+the buffer.
+
+\wxheading{Returned value}
+
+CopyTo returns the number of bytes copied to the buffer. Generally it is either
+len or the size of the stream buffer.
+
+\membersection{wxMemoryOutputStream::GetOutputStreamBuffer}\label{wxmemoryoutputstreamgetostrmbuf}
+
+\constfunc{wxStreamBuffer *}{GetOutputStreamBuffer}{\void}
+
+Returns the pointer to the stream object used as an internal buffer
+for that stream.
+