X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/23324ae1c7938ba904770fc456d3c07764b9c5e9..7ace5fd8e03c5b49d672e0363a8d4960bbf80592:/interface/buffer.h?ds=sidebyside diff --git a/interface/buffer.h b/interface/buffer.h index 428ebc63d7..6de1c83f15 100644 --- a/interface/buffer.h +++ b/interface/buffer.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: buffer.h -// Purpose: documentation for wxMemoryBuffer class +// Purpose: interface of wxMemoryBuffer // Author: wxWidgets team // RCS-ID: $Id$ // Licence: wxWindows license @@ -9,104 +9,109 @@ /** @class wxMemoryBuffer @wxheader{buffer.h} - + A @b 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. - + blocks of memory. wxMemoryBuffer guarantees deletion of the memory block when + the object is destroyed. + @library{wxbase} - @category{FIXME} + @category{data} */ -class wxMemoryBuffer +class wxMemoryBuffer { public: - //@{ /** - Create a new buffer. - - @param size - size of new buffer. + 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. + + @see @ref overview_refcount */ wxMemoryBuffer(const wxMemoryBuffer& src); - wxMemoryBuffer(size_t size); - //@} + + /** + Create a new buffer. + + @param size + size of the new buffer. + */ + wxMemoryBuffer(size_t size); /** Append a single byte to the buffer. - - @param data - New byte to append to the buffer. + + @param data + New byte to append to the buffer. */ void AppendByte(char data); /** 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. - - @param sizeNeeded - Amount of extra space required in the buffer for - the append operation + 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. + + @param sizeNeeded + Amount of extra space required in the buffer for + the append operation */ - void * GetAppendBuf(size_t sizeNeeded); + void* GetAppendBuf(size_t sizeNeeded); /** Returns the size of the buffer. */ - size_t GetBufSize(); + size_t GetBufSize() const; /** Return a pointer to the data in the buffer. */ - void* GetData(); + void* GetData() const; /** Returns the length of the valid data in the buffer. */ - size_t GetDataLen(); + size_t GetDataLen() const; /** 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 @e sizeNeeded bytes. + up to @a sizeNeeded bytes. */ - void * GetWriteBuf(size_t sizeNeeded); + void* GetWriteBuf(size_t sizeNeeded); /** - Ensures the buffer has at least @e size bytes available. + Ensures the buffer has at least @a size bytes available. */ void SetBufSize(size_t size); /** - Sets the length of the data stored in the buffer. Mainly useful for truncating - existing data. - - @param size - New length of the valid data in the buffer. This is - distinct from the allocated size + Sets the length of the data stored in the buffer. + Mainly useful for truncating existing data. + + @param size + New length of the valid data in the buffer. This is + distinct from the allocated size */ void SetDataLen(size_t size); /** Update the length after completing a direct append, which you must have used GetAppendBuf() to initialise. - - @param sizeUsed - This is the amount of new data that has been - appended. + + @param sizeUsed + This is the amount of new data that has been + appended. */ void UngetAppendBuf(size_t sizeUsed); /** Update the buffer after completing a direct write, which you must have used GetWriteBuf() to initialise. - - @param sizeUsed - The amount of data written in to buffer - by the direct write + + @param sizeUsed + The amount of data written in to buffer + by the direct write */ void UngetWriteBuf(size_t sizeUsed); }; +