]> git.saurik.com Git - wxWidgets.git/commitdiff
document Alloc() vs returning bool (part of bug 1933693)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 5 Apr 2008 17:50:16 +0000 (17:50 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 5 Apr 2008 17:50:16 +0000 (17:50 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/string.h
interface/string.h

index f3afbd34fff8e74b19858fb3c80e6f0022c171e2..a648beb6d7071f5a243150fb35a710181d748a90 100644 (file)
@@ -1729,7 +1729,7 @@ public:
   // raw access to string memory
     // ensure that string has space for at least nLen characters
     // only works if the data of this string is not shared
-  bool Alloc(size_t nLen) { reserve(nLen); /*return capacity() >= nLen;*/ return true; }
+  bool Alloc(size_t nLen) { reserve(nLen); return capacity() >= nLen; }
     // minimize the string's memory
     // only works if the data of this string is not shared
   bool Shrink();
index 8076a9652b193a417d962437c634a525bd37b1b7..c44f1a059c3507bf4682b56221dd2fc3bf032e60 100644 (file)
@@ -146,18 +146,43 @@ public:
     wxString AfterLast(wxChar ch) const;
 
     /**
-        Preallocate enough space for wxString to store @a nLen characters. This function
-        may be used to increase speed when the string is constructed by repeated
-        concatenation as in
-
-        because it will avoid the need to reallocate string memory many times (in case
-        of long strings). Note that it does not set the maximal length of a string - it
-        will still expand if more than @a nLen characters are stored in it. Also, it
-        does not truncate the existing string (use
-        Truncate() for this) even if its current length is
-        greater than @e nLen
-    */
-    void Alloc(size_t nLen);
+        Preallocate enough space for wxString to store @a nLen characters.
+
+        Please note that this method does the same thing as the standard
+        reserve() one and shouldn't be used in new code.
+
+        This function may be used to increase speed when the string is
+        constructed by repeated concatenation as in
+
+        @code
+            // delete all vowels from the string
+            wxString DeleteAllVowels(const wxString& original)
+            {
+                wxString result;
+
+                size_t len = original.length();
+
+                result.Alloc(len);
+
+                for ( size_t n = 0; n < len; n++ )
+                {
+                    if ( strchr("aeuio", tolower(original[n])) == NULL )
+                        result += original[n];
+                }
+
+                return result;
+            }
+        @endcode
+
+        because it will avoid the need to reallocate string memory many times
+        (in case of long strings). Note that it does not set the maximal length
+        of a string -- it will still expand if more than @a nLen characters are
+        stored in it. Also, it does not truncate the existing string (use
+        Truncate() for this) even if its current length is greater than @a nLen.
+
+        @return @true if memory was successfully allocated, @false otherwise.
+    */
+    bool Alloc(size_t nLen);
 
     //@{
     /**