X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/341e7d28891d72b0f7aee27ca41d5827d261c67b..019a60d62560638a65bb575e7e30938c7e667450:/include/wx/string.h diff --git a/include/wx/string.h b/include/wx/string.h index d469d96866..1b0c138ea9 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -94,10 +94,17 @@ // constants // ---------------------------------------------------------------------------- +#if defined(__VISAGECPP__) && __IBMCPP__ >= 400 +// must define this static for VA or else you get multiply defined symbols everywhere +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) const unsigned int wxSTRING_MAXLEN = UINT_MAX - 100; +#endif + // ---------------------------------------------------------------------------- // global data // ---------------------------------------------------------------------------- @@ -280,7 +287,9 @@ private: // // try `s << i' or `s.Printf("%d", i)' instead wxString(int); + wxString(unsigned int); wxString(long); + wxString(unsigned long); public: // constructors and destructor @@ -511,6 +520,8 @@ public: // append count copies of given character wxString& Append(wxChar ch, size_t count = 1u) { wxString str(ch, count); return *this << str; } + wxString& Append(const wxChar* psz, size_t nLen) + { ConcatSelf(nLen, psz); return *this; } // prepend a string, return the string itself wxString& Prepend(const wxString& str) @@ -530,11 +541,23 @@ public: // stream-like functions // insert an int into string - wxString& operator<<(int i); + wxString& operator<<(int i) + { return (*this) << Format(_T("%d"), i); } + // insert an unsigned int into string + wxString& operator<<(unsigned int ui) + { return (*this) << Format(_T("%u"), ui); } + // insert a long into string + wxString& operator<<(long l) + { return (*this) << Format(_T("%ld"), l); } + // insert an unsigned long into string + wxString& operator<<(unsigned long ul) + { return (*this) << Format(_T("%lu"), ul); } // insert a float into string - wxString& operator<<(float f); + wxString& operator<<(float f) + { return (*this) << Format(_T("%f"), f); } // insert a double into string - wxString& operator<<(double d); + wxString& operator<<(double d) + { return (*this) << Format(_T("%g"), d); } // string comparison // case-sensitive comparison (returns a value < 0, = 0 or > 0) @@ -647,6 +670,7 @@ public: wxChar *GetWriteBuf(size_t nLen); // call this immediately after GetWriteBuf() has been used void UngetWriteBuf(); + void UngetWriteBuf(size_t nLen); // wxWindows version 1 compatibility functions