\section{\class{wxStreamBuffer}}\label{wxstreambuffer} \wxheading{Derived from} None \wxheading{See also} \helpref{wxStreamBase}{wxstreambase} % --------------------------------------------------------------------------- % Members % --------------------------------------------------------------------------- \latexignore{\rtfignore{\wxheading{Members}}} % ----------- % ctor & dtor % ----------- \membersection{wxStreamBuffer::wxStreamBuffer} \func{}{wxStreamBuffer}{\param{wxStreamBase\&}{ stream}, \param{BufMode}{ mode}} Constructor, creates a new stream buffer using \it{stream} as a parent stream and \it{mode} as the IO mode. \it{mode} can be: wxStreamBuffer::read, wxStreamBuffer::write, wxStreamBuffer::read\_write. \membersection{wxStreamBuffer::wxStreamBuffer} \func{}{wxStreamBuffer}{\param{BufMode}{ mode}} Constructor, creates a new empty stream buffer which won't flush any data to a stream. \it{mode} specifies the type of the buffer (read, write, read\_write). \membersection{wxStreamBuffer::wxStreamBuffer} \func{}{wxStreamBuffer}{\param{const wxStreamBase\&}{ buffer}} Constructor, creates a new stream buffer from the specified stream \it{buffer}. \membersection{wxStreamBuffer::\destruct{wxStreamBuffer}} \func{}{wxStreamBuffer}{\destruct{wxStreamBuffer}} Destructor, destroys the stream buffer. % ----------- % Filtered IO % ----------- \membersection{wxStreamBuffer::Read}\label{wxstreambufread} \func{size\_t}{Read}{\param{void *}{buffer}, \param{size\_t }{size}} Reads a block of the specified \it{size} and stores datas in \it{buffer}. \wxheading{Return value} It returns the real read size. If returned size is different of the specified \it{size}, an error occured and should be tested using \helpref{LastError}{wxstreambaselasterror}. \membersection{wxStreamBuffer::Read}\label{wxstreambufreadbuf} \func{size\_t}{Read}{\param{wxStreamBuffer *}{buffer}} Reads a \it{buffer}. The function returns when \it{buffer} is full or when there aren't datas anymore in the current buffer. \membersection{wxStreamBuffer::Write} \func{size\_t}{Write}{\param{const void *}{buffer}, \param{size\_t }{size}} Writes a block of the specified \it{size} using datas of \it{buffer}. \membersection{wxStreamBuffer::Write} \func{size\_t}{Write}{\param{wxStreamBuffer *}{buffer}} See \helpref{Read}{wxstreambufreadbuf} \membersection{wxStreamBuffer::WriteBack} \func{size\_t}{WriteBack}{\param{const char*}{ buffer}, \param{size\_t}{ size}} This function is only useful in ``read'' mode. It puts the specified \it{buffer} in the input queue of the stream buf. By this way, the next \helpref{Read}{wxstreambufread} call will first use these datas. \membersection{wxStreamBuffer::WriteBack} \func{size\_t}{WriteBack}{\param{char }{c}} As for the previous function, it puts the specified byte in the input queue of the stream buffer. \membersection{wxStreamBuffer::GetChar} \func{char}{GetChar}{\void} Gets a single char from the stream buffer. \membersection{wxStreamBuffer::PutChar} \func{void}{PutChar}{\param{char }{c}} Puts a single char to the stream buffer. \membersection{wxStreamBuffer::Tell} \constfunc{off\_t}{Tell}{\void} Gets the current position in the \it{stream}. \membersection{wxStreamBuffer::Seek}\label{wxstreambufferseek} \func{off\_t}{Seek}{\param{off\_t }{pos}, \param{wxSeekMode }{mode}} Changes the current position. (TODO) % -------------- % Buffer control % -------------- \membersection{wxStreamBuffer::ResetBuffer} \func{void}{ResetBuffer}{\void} Frees all internal buffers and resets to initial state all variables. \membersection{wxStreamBuffer::SetBufferIO} \func{void}{SetBufferIO}{\param{char*}{ buffer\_start}, \param{char*}{ buffer\_end}} Specifies which pointers to use for stream buffering. You need to pass a pointer on the start of the buffer end and another on the end. \membersection{wxStreamBuffer::SetBufferIO} \func{void}{SetBufferIO}{\param{size\_t}{ bufsize}} Changes the size of the current IO buffer. \membersection{wxStreamBuffer::GetBufferStart} \constfunc{char *}{GetBufferStart}{\void} Returns a pointer on the start of the stream buffer. \membersection{wxStreamBuffer::GetBufferEnd} \constfunc{char *}{GetBufferEnd}{\void} Returns a pointer on the end of the stream buffer. \membersection{wxStreamBuffer::GetBufferPos} \constfunc{char *}{GetBufferPos}{\void} Returns a pointer on the current position of the stream buffer. \membersection{wxStreamBuffer::GetIntPosition} \constfunc{off\_t}{GetIntPosition}{\void} Returns the current position in the stream buffer. \membersection{wxStreamBuffer::SetIntPosition} \func{void}{SetIntPosition}{\void} Sets the current position in the stream buffer. \membersection{wxStreamBuffer::GetLastAccess} \constfunc{size\_t}{GetLastAccess}{\void} Returns the amount of bytes read during the last IO call to the parent stream. \membersection{wxStreamBuffer::Fixed} \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 is FALSE) or forbids (when it is TRUE) the stream buffer to resize dynamically the IO buffer. \membersection{wxStreamBuffer::Flushable} \func{void}{Flushable}{\param{bool}{ flushable}} Toggles the flushable flag. If \it{flushable} is disabled, no datas are sent to the parent stream. \membersection{wxStreamBuffer::FlushBuffer} \func{bool}{FlushBuffer}{\void} Flushes the IO buffer. \membersection{wxStreamBuffer::FillBuffer} \func{bool}{FillBuffer}{\void} Fill the IO buffer. \membersection{wxStreamBuffer::GetDataLeft} \func{size\_t}{GetDataLeft}{\void} Returns the amount of available datas in the buffer. % -------------- % Administration % -------------- \membersection{wxStreamBuffer::Stream} \func{wxStreamBase*}{Stream}{\void} Returns the stream parent of the stream buffer.