]>
Commit | Line | Data |
---|---|---|
9b386eca RG |
1 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
2 | %% Name: membuf.tex | |
3 | %% Purpose: wxMemoryBuffer class documentation | |
4 | %% Author: Roger Gammans | |
5 | %% Modified by: | |
6 | %% Created: 08.06.2004 | |
7 | %% RCS-ID: $Id$ | |
8 | %% Copyright: (c) Roger Gammans | |
8795498c | 9 | %% License: wxWindows license |
9b386eca RG |
10 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
11 | ||
12 | \section{\class{wxMemoryBuffer}}\label{wxmemorybuffer} | |
13 | ||
14 | A {\bf wxMemoryBuffer} is a useful data structure for storing arbitrary sized blocks | |
15 | of memory. wxMemoryBuffer guarantees deletion of the memory block when the object | |
16 | is destroyed. | |
17 | ||
18 | \wxheading{Derived from} | |
19 | ||
20 | None | |
21 | ||
22 | \wxheading{Include files} | |
23 | ||
24 | <wx/buffer.h> | |
25 | ||
26 | \latexignore{\rtfignore{\wxheading{Members}}} | |
27 | ||
dcbd177f | 28 | \membersection{wxMemoryBuffer::wxMemoryBuffer}\label{wxmemorybufferctor} |
9b386eca RG |
29 | |
30 | \func{}{wxMemoryBuffer}{\param{const wxMemoryBuffer\&}{ src}} | |
31 | ||
32 | Copy constructor, refcounting is used for performance , but wxMemoryBuffer | |
33 | is not a copy-on-write structure so changes made to one buffer effect | |
34 | all copies made from it. | |
35 | ||
36 | \func{}{wxMemoryBuffer}{\param{size\_t}{ size}} | |
37 | ||
38 | Create a new buffer. | |
39 | ||
40 | \docparam{size}{size of new buffer.} | |
41 | ||
dcbd177f | 42 | \membersection{wxMemoryBuffer::GetData}\label{wxmemorybuffergetdata} |
9b386eca RG |
43 | |
44 | \func{void* }{GetData}{\void} | |
45 | ||
46 | Return a pointer to the data in the buffer. | |
47 | ||
dcbd177f | 48 | \membersection{wxMemoryBuffer::GetBufSize}\label{wxmemorybuffergetbufsize} |
9b386eca RG |
49 | |
50 | \func{size\_t}{GetBufSize}{\void} | |
51 | ||
52 | Returns the size of the buffer. | |
53 | ||
dcbd177f | 54 | \membersection{wxMemoryBuffer::GetDataLen}\label{wxmemorybuffergetdatalen} |
9b386eca RG |
55 | |
56 | \func{size\_t}{GetDataLen}{\void} | |
57 | ||
58 | Returns the length of the valid data in the buffer. | |
59 | ||
dcbd177f | 60 | \membersection{wxMemoryBuffer::SetBufSize}\label{wxmemorybuffersetbufsize} |
9b386eca RG |
61 | |
62 | \func{void}{SetBufSize}{\param{size\_t}{ size}} | |
63 | ||
64 | Ensures the buffer has at least {\it size} bytes available. | |
65 | ||
dcbd177f | 66 | \membersection{wxMemoryBuffer::SetDataLen}\label{wxmemorybuffersetdatalen} |
9b386eca RG |
67 | |
68 | \func{void}{SetDataLen}{\param{size\_t}{ size}} | |
69 | ||
70 | Sets the length of the data stored in the buffer. Mainly useful for truncating existing data. | |
71 | ||
72 | \docparam{size}{New length of the valid data in the buffer. This is | |
73 | distinct from the allocated size} | |
74 | ||
dcbd177f | 75 | \membersection{wxMemoryBuffer::GetWriteBuf}\label{wxmemorybuffergetwritebuf} |
9b386eca RG |
76 | |
77 | \func{void *}{GetWriteBuf}{\param{size\_t}{ sizeNeeded}} | |
78 | ||
79 | Ensure the buffer is big enough and return a pointer to the | |
80 | buffer which can be used to directly write into the buffer | |
81 | up to {\it sizeNeeded} bytes. | |
82 | ||
dcbd177f | 83 | \membersection{wxMemoryBuffer::UngetWriteBuf}\label{wxmemorybufferungetwritebuf} |
9b386eca RG |
84 | |
85 | \func{void}{UngetWriteBuf}{\param{size\_t}{ sizeUsed}} | |
86 | ||
87 | Update the buffer after completing a direct write, which | |
88 | you must have used GetWriteBuf() to initialise. | |
89 | ||
90 | \docparam{sizeUsed}{The amount of data written in to buffer | |
91 | by the direct write} | |
92 | ||
dcbd177f | 93 | \membersection{wxMemoryBuffer::GetAppendBuf}\label{wxmemorybuffergetappendbuf} |
9b386eca RG |
94 | |
95 | \func{void *}{GetAppendBuf}{\param{size\_t}{ sizeNeeded}} | |
96 | ||
97 | Ensure that the buffer is big enough and return a pointer to the start | |
98 | of the empty space in the buffer. This pointer can be used to directly | |
99 | write data into the buffer, this new data will be appended to | |
100 | the existing data. | |
101 | ||
102 | \docparam{sizeNeeded}{Amount of extra space required in the buffer for | |
103 | the append operation} | |
104 | ||
dcbd177f | 105 | \membersection{wxMemoryBuffer::UngetAppendBuf}\label{wxmemorybufferungetappendbuf} |
9b386eca RG |
106 | |
107 | \func{void}{UngetAppendBuf}{\param{size\_t}{ sizeUsed}} | |
108 | ||
109 | Update the length after completing a direct append, which | |
110 | you must have used GetAppendBuf() to initialise. | |
111 | ||
112 | \docparam{sizeUsed}{This is the amount of new data that has been | |
113 | appended.} | |
114 | ||
dcbd177f | 115 | \membersection{wxMemoryBuffer::AppendByte}\label{wxmemorybufferappendbyte} |
9b386eca RG |
116 | |
117 | \func{void}{AppendByte}{\param{char}{ data}} | |
118 | ||
119 | Append a single byte to the buffer. | |
120 | ||
121 | \docparam{data}{New byte to append to the buffer.} | |
122 | ||
dcbd177f | 123 | \membersection{wxMemoryBuffer::AppendData}\label{wxmemorybufferappenddata} |
9b386eca RG |
124 | |
125 | \func{void}{AppendData}{\param{void*}{ data}, \param{size\_t}{ len}} | |
126 | ||
127 | Single call to append a data block to the buffer. | |
128 | ||
129 | \docparam{data}{Pointer to block to append to the buffer.} | |
130 | \docparam{len}{Length of data to append.} |