<wx/stream.h>
+\wxheading{Library}
+
+\helpref{wxBase}{librarieslist}
+
\wxheading{See also}
\helpref{wxStreamBase}{wxstreambase}
-% ---------------------------------------------------------------------------
-% Members
-% ---------------------------------------------------------------------------
\latexignore{\rtfignore{\wxheading{Members}}}
-% -----------
-% ctor & dtor
-% -----------
+
\membersection{wxStreamBuffer::wxStreamBuffer}\label{wxstreambufferctor}
\func{}{wxStreamBuffer}{\param{wxStreamBase\&}{ stream}, \param{BufMode}{ mode}}
\helpref{wxStreamBuffer:SetBufferIO}{wxstreambuffersetbufferio}
+
\membersection{wxStreamBuffer::\destruct{wxStreamBuffer}}\label{wxstreambufferdtor}
\func{}{wxStreamBuffer}{\destruct{wxStreamBuffer}}
Destructor. It finalizes all IO calls and frees all internal buffers if
necessary.
-% -----------
-% Filtered IO
-% -----------
-\membersection{wxStreamBuffer::Read}\label{wxstreambufferread}
-\func{size\_t}{Read}{\param{void *}{buffer}, \param{size\_t }{size}}
+\membersection{wxStreamBuffer::FillBuffer}\label{wxstreambufferfillbuffer}
-Reads a block of the specified {\it size} and stores the data in {\it buffer}.
-This function tries to read from the buffer first and if more data has been
-requested, reads more data from the associated stream and updates the buffer
-accordingly until all requested data is read.
+\func{bool}{FillBuffer}{\void}
-\wxheading{Return value}
+Fill the IO buffer.
-It returns the size of the data read. If the returned size is different of the specified
-{\it size}, an error has occurred and should be tested using
-\helpref{GetLastError}{wxstreambasegetlasterror}.
-\func{size\_t}{Read}{\param{wxStreamBuffer *}{buffer}}
+\membersection{wxStreamBuffer::Fixed}\label{wxstreambufferfixed}
-Reads a {\it buffer}. The function returns when {\it buffer} is full or when there isn't
-data anymore in the current buffer.
+\func{void}{Fixed}{\param{bool}{ fixed}}
+
+Toggles the fixed flag. Usually this flag is toggled at the same time as
+{\it flushable}. This flag allows (when it has the false value) or forbids
+(when it has the true value) the stream buffer to resize dynamically the IO buffer.
\wxheading{See also}
-\helpref{wxStreamBuffer::Write}{wxstreambufferwrite}
+\helpref{wxStreamBuffer::SetBufferIO}{wxstreambuffersetbufferio}
-\membersection{wxStreamBuffer::Write}\label{wxstreambufferwrite}
-\func{size\_t}{Write}{\param{const void *}{buffer}, \param{size\_t }{size}}
+\membersection{wxStreamBuffer::Flushable}\label{wxstreambufferflushable}
-Writes a block of the specified {\it size} using data of {\it buffer}. The data
-are cached in a buffer before being sent in one block to the stream.
+\func{void}{Flushable}{\param{bool}{ flushable}}
-\func{size\_t}{Write}{\param{wxStreamBuffer *}{buffer}}
+Toggles the flushable flag. If {\it flushable} is disabled, no data are sent
+to the parent stream.
+
+
+\membersection{wxStreamBuffer::FlushBuffer}\label{wxstreambufferflushbuffer}
+
+\func{bool}{FlushBuffer}{\void}
+
+Flushes the IO buffer.
+
+
+\membersection{wxStreamBuffer::GetBufferEnd}\label{wxstreambuffergetbufferend}
+
+\constfunc{void *}{GetBufferEnd}{\void}
+
+Returns a pointer on the end of the stream buffer.
+
+
+\membersection{wxStreamBuffer::GetBufferPos}\label{wxstreambuffergetbufferpos}
+
+\constfunc{void *}{GetBufferPos}{\void}
+
+Returns a pointer on the current position of the stream buffer.
+
+
+\membersection{wxStreamBuffer::GetBufferSize}\label{wxstreambuffergetbuffersize}
+
+\constfunc{size\_t}{GetBufferSize}{\void}
+
+Returns the size of the buffer.
+
+
+\membersection{wxStreamBuffer::GetBufferStart}\label{wxstreambuffergetbufferstart}
+
+\constfunc{void *}{GetBufferStart}{\void}
+
+Returns a pointer on the start of the stream buffer.
-See \helpref{Read}{wxstreambufferread}.
\membersection{wxStreamBuffer::GetChar}\label{wxstreambuffergetchar}
\helpref{wxStreamBuffer::Read}{wxstreambufferread}
+
+\membersection{wxStreamBuffer::GetDataLeft}\label{wxstreambuffergetdataleft}
+
+\func{size\_t}{GetDataLeft}{\void}
+
+Returns the amount of available data in the buffer.
+
+
+\membersection{wxStreamBuffer::GetIntPosition}\label{wxstreambuffergetintposition}
+
+\constfunc{off\_t}{GetIntPosition}{\void}
+
+Returns the current position (counted in bytes) in the stream buffer.
+
+
+\membersection{wxStreamBuffer::GetLastAccess}\label{wxstreambuffergetlastaccess}
+
+\constfunc{size\_t}{GetLastAccess}{\void}
+
+Returns the amount of bytes read during the last IO call to the parent stream.
+
+
\membersection{wxStreamBuffer::PutChar}\label{wxstreambufferputchar}
\func{void}{PutChar}{\param{char }{c}}
\helpref{wxStreamBuffer::Read}{wxstreambufferwrite}
-\membersection{wxStreamBuffer::Tell}\label{wxstreambuffertell}
-\constfunc{off\_t}{Tell}{\void}
+\membersection{wxStreamBuffer::Read}\label{wxstreambufferread}
-Gets the current position in the stream. This position is calculated from
-the {\it real} position in the stream and from the internal buffer position: so
-it gives you the position in the {\it real} stream counted from the start of
-the stream.
+\func{size\_t}{Read}{\param{void *}{buffer}, \param{size\_t }{size}}
+
+Reads a block of the specified {\it size} and stores the data in {\it buffer}.
+This function tries to read from the buffer first and if more data has been
+requested, reads more data from the associated stream and updates the buffer
+accordingly until all requested data is read.
\wxheading{Return value}
-Returns the current position in the stream if possible, wxInvalidOffset in the
-other case.
+It returns the size of the data read. If the returned size is different of the specified
+{\it size}, an error has occurred and should be tested using
+\helpref{GetLastError}{wxstreambasegetlasterror}.
+
+\func{size\_t}{Read}{\param{wxStreamBuffer *}{buffer}}
+
+Copies data to {\it buffer}. The function returns when {\it buffer} is full or when there isn't
+any more data in the current buffer.
+
+\wxheading{See also}
+
+\helpref{wxStreamBuffer::Write}{wxstreambufferwrite}
+
+
+\membersection{wxStreamBuffer::ResetBuffer}\label{wxstreambufferresetbuffer}
+
+\func{void}{ResetBuffer}{\void}
+
+Resets to the initial state variables concerning the buffer.
+
\membersection{wxStreamBuffer::Seek}\label{wxstreambufferseek}
Upon successful completion, it returns the new offset as measured in bytes from
the beginning of the stream. Otherwise, it returns wxInvalidOffset.
-% --------------
-% Buffer control
-% --------------
-\membersection{wxStreamBuffer::ResetBuffer}\label{wxstreambufferresetbuffer}
-
-\func{void}{ResetBuffer}{\void}
-
-Resets to the initial state variables concerning the buffer.
\membersection{wxStreamBuffer::SetBufferIO}\label{wxstreambuffersetbufferio}
\helpref{wxStreamBuffer::Fixed}{wxstreambufferfixed}\\
\helpref{wxStreamBuffer::Flushable}{wxstreambufferflushable}
-\membersection{wxStreamBuffer::GetBufferStart}\label{wxstreambuffergetbufferstart}
-
-\constfunc{void *}{GetBufferStart}{\void}
-
-Returns a pointer on the start of the stream buffer.
-
-\membersection{wxStreamBuffer::GetBufferEnd}\label{wxstreambuffergetbufferend}
-
-\constfunc{void *}{GetBufferEnd}{\void}
-
-Returns a pointer on the end of the stream buffer.
-
-\membersection{wxStreamBuffer::GetBufferPos}\label{wxstreambuffergetbufferpos}
-
-\constfunc{void *}{GetBufferPos}{\void}
-
-Returns a pointer on the current position of the stream buffer.
-
-\membersection{wxStreamBuffer::GetIntPosition}\label{wxstreambuffergetintposition}
-
-\constfunc{off\_t}{GetIntPosition}{\void}
-
-Returns the current position (counted in bytes) in the stream buffer.
\membersection{wxStreamBuffer::SetIntPosition}\label{wxstreambuffersetintposition}
Since it is a very low-level function, there is no check on the position:
specifying an invalid position can induce unexpected results.
-\membersection{wxStreamBuffer::GetLastAccess}\label{wxstreambuffergetlastaccess}
-\constfunc{size\_t}{GetLastAccess}{\void}
-
-Returns the amount of bytes read during the last IO call to the parent stream.
-
-\membersection{wxStreamBuffer::Fixed}\label{wxstreambufferfixed}
+\membersection{wxStreamBuffer::Stream}\label{wxstreambufferstream}
-\func{void}{Fixed}{\param{bool}{ fixed}}
+\func{wxStreamBase*}{Stream}{\void}
-Toggles the fixed flag. Usually this flag is toggled at the same time as
-{\it flushable}. This flag allows (when it has the false value) or forbids
-(when it has the true value) the stream buffer to resize dynamically the IO buffer.
+Returns the parent stream of the stream buffer.
-\wxheading{See also}
-\helpref{wxStreamBuffer::SetBufferIO}{wxstreambuffersetbufferio}
+\membersection{wxStreamBuffer::Tell}\label{wxstreambuffertell}
-\membersection{wxStreamBuffer::Flushable}\label{wxstreambufferflushable}
+\constfunc{off\_t}{Tell}{\void}
-\func{void}{Flushable}{\param{bool}{ flushable}}
+Gets the current position in the stream. This position is calculated from
+the {\it real} position in the stream and from the internal buffer position: so
+it gives you the position in the {\it real} stream counted from the start of
+the stream.
-Toggles the flushable flag. If {\it flushable} is disabled, no data are sent
-to the parent stream.
+\wxheading{Return value}
-\membersection{wxStreamBuffer::FlushBuffer}\label{wxstreambufferflushbuffer}
+Returns the current position in the stream if possible, wxInvalidOffset in the
+other case.
-\func{bool}{FlushBuffer}{\void}
-Flushes the IO buffer.
+\membersection{wxStreamBuffer::Truncate}\label{wxstreambuffertruncate}
-\membersection{wxStreamBuffer::FillBuffer}\label{wxstreambufferfillbuffer}
+\func{void}{Truncate}{\void}
-\func{bool}{FillBuffer}{\void}
+Truncates the buffer to the current position.
-Fill the IO buffer.
+Note: Truncate() cannot be used to enlarge the buffer. This is
+usually not needed since the buffer expands automatically.
-\membersection{wxStreamBuffer::GetDataLeft}\label{wxstreambuffergetdataleft}
-\func{size\_t}{GetDataLeft}{\void}
+\membersection{wxStreamBuffer::Write}\label{wxstreambufferwrite}
-Returns the amount of available data in the buffer.
+\func{size\_t}{Write}{\param{const void *}{buffer}, \param{size\_t }{size}}
-% --------------
-% Administration
-% --------------
-\membersection{wxStreamBuffer::Stream}\label{wxstreambufferstream}
+Writes a block of the specified {\it size} using data of {\it buffer}. The data
+are cached in a buffer before being sent in one block to the stream.
-\func{wxStreamBase*}{Stream}{\void}
+\func{size\_t}{Write}{\param{wxStreamBuffer *}{buffer}}
-Returns the parent stream of the stream buffer.
+See \helpref{Read}{wxstreambufferread}.