X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0a98423eb038738b5c4c76c575435034ee8b7d56..730b772b41ad9df76e5226290bb9eb917ea161f0:/interface/wx/buffer.h diff --git a/interface/wx/buffer.h b/interface/wx/buffer.h index c94116f001..504df2aeb6 100644 --- a/interface/wx/buffer.h +++ b/interface/wx/buffer.h @@ -6,6 +6,78 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// + +/** + wxCharTypeBuffer is a template class for storing characters. + + @todo provide better docs for this class + + @nolibrary + @category{misc} +*/ +template +class wxCharTypeBuffer +{ +public: + typedef T CharType; + + wxCharTypeBuffer(const CharType *str = NULL); + wxCharTypeBuffer(size_t len); + wxCharTypeBuffer(const wxCharTypeBuffer& src); + ~wxCharTypeBuffer(); + + void reset(); + + wxCharTypeBuffer& operator=(const CharType *str); + wxCharTypeBuffer& operator=(const wxCharTypeBuffer& src); + + bool extend(size_t len); + + CharType *data(); + const CharType *data() const; + operator const CharType *() const; + CharType operator[](size_t n) const; +}; + +/** + This is a specialization of wxCharTypeBuffer for @c char type. + + @todo provide better docs for this class + + @nolibrary + @category{misc} +*/ +class wxCharBuffer : public wxCharTypeBuffer +{ +public: + typedef wxCharTypeBuffer wxCharTypeBufferBase; + + wxCharBuffer(const wxCharTypeBufferBase& buf); + wxCharBuffer(const CharType *str = NULL); + wxCharBuffer(size_t len); + wxCharBuffer(const wxCStrData& cstr); +}; + +/** + This is a specialization of wxCharTypeBuffer for @c wchar_t type. + This class is available only when wxUSE_WCHAR_T==1 + + @nolibrary + @category{misc} +*/ +class wxWCharBuffer : public wxCharTypeBuffer +{ +public: + typedef wxCharTypeBuffer wxCharTypeBufferBase; + + wxWCharBuffer(const wxCharTypeBufferBase& buf); + wxWCharBuffer(const CharType *str = NULL); + wxWCharBuffer(size_t len); + wxWCharBuffer(const wxCStrData& cstr); +}; + + + /** @class wxMemoryBuffer