]>
Commit | Line | Data |
---|---|---|
1 | ///////////////////////////////////////////////////////////////////////////// | |
2 | // Name: bufferclasses.h | |
3 | // Purpose: topic overview | |
4 | // Author: wxWidgets team | |
5 | // RCS-ID: $Id$ | |
6 | // Licence: wxWindows licence | |
7 | ///////////////////////////////////////////////////////////////////////////// | |
8 | ||
9 | /** | |
10 | ||
11 | @page overview_bufferclasses Buffer Classes | |
12 | ||
13 | @tableofcontents | |
14 | ||
15 | wxWidgets uses two classes of classes for dealing with buffers in memory. | |
16 | ||
17 | The first is one for dealing with character buffers, namely wxCharBuffer for | |
18 | char pointer or multi-byte c strings and wxWCharBuffer for wchar_t pointer or | |
19 | wide character c strings. | |
20 | ||
21 | Secondly, wxWidgets uses, although only rarely currently, wxMemoryBuffer for | |
22 | dealing with raw buffers in memory. | |
23 | ||
24 | ||
25 | ||
26 | @section overview_bufferclasses_xcb wxXCharBuffer | |
27 | ||
28 | @subsection overview_bufferclasses_xcb_general General Usage | |
29 | ||
30 | As mentioned, wxCharBuffer and its wide character variant wxWCharBuffer deal | |
31 | with c strings in memory. They have two constructors, one in which you pass | |
32 | the c string you want them to have a copy of, and another where you specify the | |
33 | size of the buffer in memory in characters you want. | |
34 | ||
35 | wxCharBuffer and its variant only contain the c string as a member, so they can | |
36 | be used safely to c functions with variable arguments such as printf. They also | |
37 | contain standard assignment, character access operators and a copy constructor. | |
38 | ||
39 | @subsection overview_bufferclasses_xcb_destruct Destruction | |
40 | ||
41 | It should be noted that on destruction wxCharBuffer and its wide character | |
42 | variant delete the c string that hold onto. If you want to get the pointer to | |
43 | the buffer and don't want wxCharBuffer to delete it on destruction, use the | |
44 | member function release to do so. | |
45 | ||
46 | */ |