git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			131 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
						|
%% Name:        membuf.tex
 | 
						|
%% Purpose:     wxMemoryBuffer class documentation
 | 
						|
%% Author:      Roger Gammans
 | 
						|
%% Modified by:
 | 
						|
%% Created:     08.06.2004
 | 
						|
%% RCS-ID:      $Id$
 | 
						|
%% Copyright:   (c) Roger Gammans
 | 
						|
%% License:     wxWindows license
 | 
						|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
						|
 | 
						|
\section{\class{wxMemoryBuffer}}\label{wxmemorybuffer}
 | 
						|
 | 
						|
A {\bf wxMemoryBuffer} is a useful data structure for storing arbitrary sized blocks
 | 
						|
of memory. wxMemoryBuffer guarantees deletion of the memory block when the object
 | 
						|
is destroyed. 
 | 
						|
 | 
						|
\wxheading{Derived from}
 | 
						|
 | 
						|
None
 | 
						|
 | 
						|
\wxheading{Include files}
 | 
						|
 | 
						|
<wx/buffer.h>
 | 
						|
 | 
						|
\latexignore{\rtfignore{\wxheading{Members}}}
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::wxMemoryBuffer}\label{wxmemorybufferctor}
 | 
						|
 | 
						|
\func{}{wxMemoryBuffer}{\param{const wxMemoryBuffer\&}{ src}}
 | 
						|
 | 
						|
Copy constructor, refcounting is used for performance , but wxMemoryBuffer
 | 
						|
is not a copy-on-write structure so changes made to one buffer effect
 | 
						|
all copies made from it.
 | 
						|
 | 
						|
\func{}{wxMemoryBuffer}{\param{size\_t}{ size}}
 | 
						|
 | 
						|
Create a new buffer.
 | 
						|
 | 
						|
\docparam{size}{size of new buffer.}
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::GetData}\label{wxmemorybuffergetdata}
 | 
						|
 | 
						|
\func{void* }{GetData}{\void}
 | 
						|
 | 
						|
Return a pointer to the data in the buffer.
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::GetBufSize}\label{wxmemorybuffergetbufsize}
 | 
						|
 | 
						|
\func{size\_t}{GetBufSize}{\void}
 | 
						|
 | 
						|
Returns the size of the buffer.
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::GetDataLen}\label{wxmemorybuffergetdatalen}
 | 
						|
 | 
						|
\func{size\_t}{GetDataLen}{\void}
 | 
						|
 | 
						|
Returns the length of the valid data in the buffer.
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::SetBufSize}\label{wxmemorybuffersetbufsize}
 | 
						|
 | 
						|
\func{void}{SetBufSize}{\param{size\_t}{ size}}
 | 
						|
 | 
						|
Ensures the buffer has at least {\it size} bytes available.
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::SetDataLen}\label{wxmemorybuffersetdatalen}
 | 
						|
 | 
						|
\func{void}{SetDataLen}{\param{size\_t}{ size}}
 | 
						|
 | 
						|
Sets the length of the data stored in the buffer.  Mainly useful for truncating existing data.
 | 
						|
 | 
						|
\docparam{size}{New length of the valid data in the buffer. This is
 | 
						|
distinct from the allocated size}
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::GetWriteBuf}\label{wxmemorybuffergetwritebuf}
 | 
						|
 | 
						|
\func{void *}{GetWriteBuf}{\param{size\_t}{ sizeNeeded}}
 | 
						|
 | 
						|
Ensure the buffer is big enough and return a pointer to the
 | 
						|
buffer which can be used to directly write into the buffer
 | 
						|
up to {\it sizeNeeded} bytes.
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::UngetWriteBuf}\label{wxmemorybufferungetwritebuf}
 | 
						|
 | 
						|
\func{void}{UngetWriteBuf}{\param{size\_t}{ sizeUsed}}
 | 
						|
 | 
						|
Update the buffer after completing a direct write, which
 | 
						|
you must have used GetWriteBuf() to initialise.
 | 
						|
 | 
						|
\docparam{sizeUsed}{The amount of data written in to buffer
 | 
						|
by the direct write}
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::GetAppendBuf}\label{wxmemorybuffergetappendbuf}
 | 
						|
 | 
						|
\func{void *}{GetAppendBuf}{\param{size\_t}{ sizeNeeded}}
 | 
						|
 | 
						|
Ensure that the buffer is big enough and return a pointer to the start
 | 
						|
of the empty space in the buffer. This pointer can be used to directly 
 | 
						|
write data into the buffer, this new data will be appended to
 | 
						|
the existing data.
 | 
						|
 | 
						|
\docparam{sizeNeeded}{Amount of extra space required in the buffer for
 | 
						|
the append operation}
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::UngetAppendBuf}\label{wxmemorybufferungetappendbuf}
 | 
						|
 | 
						|
\func{void}{UngetAppendBuf}{\param{size\_t}{ sizeUsed}}
 | 
						|
 | 
						|
Update the length after completing a direct append, which
 | 
						|
you must have used GetAppendBuf() to initialise.
 | 
						|
 | 
						|
\docparam{sizeUsed}{This is the amount of new data that has been 
 | 
						|
appended.}
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::AppendByte}\label{wxmemorybufferappendbyte}
 | 
						|
 | 
						|
\func{void}{AppendByte}{\param{char}{ data}}
 | 
						|
 | 
						|
Append a single byte to the buffer.
 | 
						|
 | 
						|
\docparam{data}{New byte to append to the buffer.}
 | 
						|
 | 
						|
\membersection{wxMemoryBuffer::AppendData}\label{wxmemorybufferappenddata}
 | 
						|
 | 
						|
\func{void}{AppendData}{\param{void*}{ data}, \param{size\_t}{ len}}
 | 
						|
 | 
						|
Single call to append a data block to the buffer.
 | 
						|
 | 
						|
\docparam{data}{Pointer to block to append to the buffer.}
 | 
						|
\docparam{len}{Length of data to append.}
 |