X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb3c9042543e8e0ee533eff7be4b2bdc2e9eb84e..ce321570b08e1a2937415ef6388a1a98fd1c4b83:/include/wx/string.h?ds=inline diff --git a/include/wx/string.h b/include/wx/string.h index 888a1faaf4..a31f122bcc 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -51,6 +51,10 @@ #include // for strcasecmp() #endif // HAVE_STRCASECMP_IN_STRINGS_H +#ifdef __PALMOS__ + #include +#endif + #include "wx/wxchar.h" // for wxChar #include "wx/buffer.h" // for wxCharBuffer #include "wx/strconv.h" // for wxConvertXXX() macros and wxMBConv classes @@ -82,7 +86,7 @@ extern const unsigned int wxSTRING_MAXLEN; #else // maximum possible length for a string means "take all string" everywhere -// (as sizeof(StringData) is unknown here, we substract 100) +// (as sizeof(StringData) is unknown here, we subtract 100) const unsigned int wxSTRING_MAXLEN = UINT_MAX - 100; #endif @@ -168,9 +172,6 @@ inline int Stricmp(const char *psz1, const char *psz2) #if wxUSE_STL -// return an empty wxString (doesn't make much sense with wxUSE_STL == 1) -inline const wxString wxGetEmptyString() { wxString(); } - #include "wx/beforestd.h" #include #include "wx/afterstd.h" @@ -192,9 +193,6 @@ inline const wxString wxGetEmptyString() { wxString(); } #else // if !wxUSE_STL -// return an empty wxString -inline const wxString& wxGetEmptyString() { return *(wxString *)&wxEmptyString; } - #ifndef HAVE_STD_STRING_COMPARE #define HAVE_STD_STRING_COMPARE #endif @@ -578,17 +576,15 @@ public: // All compare functions return -1, 0 or 1 if the [sub]string is less, // equal or greater than the compare() argument. - // just like strcmp() - int compare(const wxStringBase& str) const - { return wxStrcmp(c_str(), str.c_str()); } + // comparison with another string + int compare(const wxStringBase& str) const; // comparison with a substring int compare(size_t nStart, size_t nLen, const wxStringBase& str) const; // comparison of 2 substrings int compare(size_t nStart, size_t nLen, const wxStringBase& str, size_t nStart2, size_t nLen2) const; - // just like strcmp() - int compare(const wxChar* sz) const - { return wxStrcmp(c_str(), sz); } + // comparison with a c string + int compare(const wxChar* sz) const; // substring comparison with first nCount characters of sz int compare(size_t nStart, size_t nLen, const wxChar* sz, size_t nCount = npos) const; @@ -827,8 +823,7 @@ public: // type differs because a function may either return pointer to the buffer // directly or have to use intermediate buffer for translation. #if wxUSE_UNICODE - const wxCharBuffer mb_str(wxMBConv& conv = wxConvLibc) const - { return conv.cWC2MB(c_str()); } + const wxCharBuffer mb_str(wxMBConv& conv = wxConvLibc) const; const wxWX2MBbuf mbc_str() const { return mb_str(*wxConvCurrent); } @@ -851,8 +846,7 @@ public: const wxWX2MBbuf mbc_str() const { return mb_str(); } #if wxUSE_WCHAR_T - const wxWCharBuffer wc_str(wxMBConv& conv) const - { return conv.cMB2WC(c_str()); } + const wxWCharBuffer wc_str(wxMBConv& conv) const; #endif // wxUSE_WCHAR_T const wxChar* fn_str() const { return c_str(); } @@ -977,9 +971,11 @@ public: // string comparison // case-sensitive comparison (returns a value < 0, = 0 or > 0) - int Cmp(const wxChar *psz) const { return wxStrcmp(c_str(), psz); } + int Cmp(const wxChar *psz) const; + int Cmp(const wxString& s) const; // same as Cmp() but not case-sensitive - int CmpNoCase(const wxChar *psz) const { return wxStricmp(c_str(), psz); } + int CmpNoCase(const wxChar *psz) const; + int CmpNoCase(const wxString& s) const; // test for the string equality, either considering case or not // (if compareWithCase then the case matters) bool IsSameAs(const wxChar *psz, bool compareWithCase = true) const @@ -1291,6 +1287,17 @@ public: #include "wx/arrstr.h" #endif +#if wxUSE_STL + // return an empty wxString (not very useful with wxUSE_STL == 1) + inline const wxString wxGetEmptyString() { return wxString(); } +#else // !wxUSE_STL + // return an empty wxString (more efficient than wxString() here) + inline const wxString& wxGetEmptyString() + { + return *(wxString *)&wxEmptyString; + } +#endif // wxUSE_STL/!wxUSE_STL + // ---------------------------------------------------------------------------- // wxStringBuffer: a tiny class allowing to get a writable pointer into string // ----------------------------------------------------------------------------