]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/buffer.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / interface / wx / buffer.h
index d9a61010dcc7e62b7dc7ecdadc2b4c0df5c250f5..8ab9dce8aade433b24a8b10ac6b22294225c6827 100644 (file)
@@ -2,8 +2,7 @@
 // Name:        buffer.h
 // Purpose:     interface of wxMemoryBuffer
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
@@ -178,7 +177,7 @@ public:
     wxCharTypeBuffer(const wxScopedCharTypeBuffer<T>& src);
 
     /**
-        Assigns @a str to this buffer and takes ownership of it (i.e. the
+        Assigns @a str to this buffer and takes ownership of it (i.e.\ the
         buffer becomes "owned").
      */
     wxCharTypeBuffer& operator=(const CharType *str);
@@ -287,9 +286,9 @@ public:
         Create a new buffer.
 
         @param size
-            size of the new buffer.
+            size of the new buffer, 1KiB by default.
     */
-    wxMemoryBuffer(size_t size = DefBufSize);
+    wxMemoryBuffer(size_t size = 1024);
 
     /**
         Append a single byte to the buffer.
@@ -299,6 +298,27 @@ public:
     */
     void AppendByte(char data);
 
+    /**
+        Single call to append a data block to the buffer.
+
+        @param data
+            Pointer to block to append to the buffer.
+        @param len
+            Length of data to append.
+    */
+    void AppendData(const void *data, size_t len);
+
+    /**
+        Clear the buffer contents.
+
+        The buffer won't contain any data after this method is called.
+
+        @see IsEmpty()
+
+        @since 2.9.4
+     */
+    void Clear();
+
     /**
         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
@@ -333,6 +353,15 @@ public:
     */
     void* GetWriteBuf(size_t sizeNeeded);
 
+    /**
+        Returns true if the buffer contains no data.
+
+        @see Clear()
+
+        @since 2.9.4
+     */
+    bool IsEmpty() const;
+
     /**
         Ensures the buffer has at least @a size bytes available.
     */