Version: 2.9.4
Public Member Functions
wxStringBuffer Class Reference

#include </home/zeitlin/src/wx/github/interface/wx/string.h>


Detailed Description

This tiny class allows you to conveniently access the wxString internal buffer as a writable pointer without any risk of forgetting to restore the string to the usable state later.

For example, assuming you have a low-level OS function called "GetMeaningOfLifeAsString(char *)" returning the value in the provided buffer (which must be writable, of course) you might call it like this:

        wxString theAnswer;
        GetMeaningOfLifeAsString(wxStringBuffer(theAnswer, 1024));
        if ( theAnswer != "42" )
            wxLogError("Something is very wrong!");

Note that the exact usage of this depends on whether or not wxUSE_STL is enabled. If wxUSE_STL is enabled, wxStringBuffer creates a separate empty character buffer, and if wxUSE_STL is disabled, it uses GetWriteBuf() from wxString, keeping the same buffer wxString uses intact. In other words, relying on wxStringBuffer containing the old wxString data is not a good idea if you want to build your program both with and without wxUSE_STL.

Library:  wxBase
Category:  Data Structures

Public Member Functions

 wxStringBuffer (const wxString &str, size_t len)
 Constructs a writable string buffer object associated with the given string and containing enough space for at least len characters.
 ~wxStringBuffer ()
 Restores the string passed to the constructor to the usable state by calling wxString::UngetWriteBuf() on it.
wxStringCharTypeoperator wxStringCharType * ()
 Returns the writable pointer to a buffer of the size at least equal to the length specified in the constructor.

List of all members.


Constructor & Destructor Documentation

wxStringBuffer::wxStringBuffer ( const wxString str,
size_t  len 
)

Constructs a writable string buffer object associated with the given string and containing enough space for at least len characters.

Basically, this is equivalent to calling wxString::GetWriteBuf() and saving the result.

wxStringBuffer::~wxStringBuffer ( )

Restores the string passed to the constructor to the usable state by calling wxString::UngetWriteBuf() on it.


Member Function Documentation

wxStringCharType* wxStringBuffer::operator wxStringCharType * ( )

Returns the writable pointer to a buffer of the size at least equal to the length specified in the constructor.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines