X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/dcfde59229aeb96908aa0fa234753d22c8452b00..acbd13a365fe2bd7ed6bafd19dc26775a256d499:/include/wx/string.h diff --git a/include/wx/string.h b/include/wx/string.h index c23b431316..d385f10b61 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -16,15 +16,10 @@ #pragma interface "string.h" #endif -/* Dependencies (should be included before this header): - * string.h - * stdio.h - * stdarg.h - * limits.h - */ #ifdef __WXMAC__ -#include + #include #endif + #include #include #include @@ -32,11 +27,12 @@ #include #ifndef WX_PRECOMP - #include "wx/defs.h" // Robert Roebling + #include "wx/defs.h" + #ifdef WXSTRING_IS_WXOBJECT #include "wx/object.h" #endif -#endif +#endif // !PCH #include "wx/debug.h" @@ -83,7 +79,7 @@ inline size_t WXDLLEXPORT Strlen(const char *psz) // portable strcasecmp/_stricmp inline int WXDLLEXPORT Stricmp(const char *psz1, const char *psz2) { -#if defined(_MSC_VER) +#if defined(__VISUALC__) || defined(__MWERKS__) return _stricmp(psz1, psz2); #elif defined(__SC__) return _stricmp(psz1, psz2); @@ -450,11 +446,12 @@ public: // convert to upper case in place, return the string itself wxString& MakeUpper(); // convert to upper case, return the copy of the string - wxString Upper() const { wxString s(*this); return s.MakeUpper(); } + // Here's something to remember: BC++ doesn't like returns in inlines. + wxString Upper() const ; // convert to lower case in place, return the string itself wxString& MakeLower(); // convert to lower case, return the copy of the string - wxString Lower() const { wxString s(*this); return s.MakeLower(); } + wxString Lower() const ; // trimming/padding whitespace (either side) and truncating // remove spaces from left or from right (default) side @@ -506,15 +503,9 @@ public: enum caseCompare {exact, ignoreCase}; // values for first parameter of Strip function enum stripType {leading = 0x1, trailing = 0x2, both = 0x3}; + // use Printf() - inline int sprintf(const char *pszFormat, ...) - { - va_list argptr; - va_start(argptr, pszFormat); - int iLen = PrintfV(pszFormat, argptr); - va_end(argptr); - return iLen; - } + int sprintf(const char *pszFormat, ...); // use Cmp() inline int CompareTo(const char* psz, caseCompare cmp = exact) const @@ -650,7 +641,7 @@ public: size_t find(const wxString& str, size_t nStart = 0) const; // VC++ 1.5 can't cope with this syntax. -#if !(defined(_MSC_VER) && !defined(__WIN32__)) +#if !defined(__VISUALC__) || defined(__WIN32__) // find first n characters of sz size_t find(const char* sz, size_t nStart = 0, size_t n = npos) const; #endif @@ -666,7 +657,7 @@ public: size_t rfind(const wxString& str, size_t nStart = npos) const; // VC++ 1.5 can't cope with this syntax. -#if ! (defined(_MSC_VER) && !defined(__WIN32__)) +#if !defined(__VISUALC__) || defined(__WIN32__) // as find, but from the end size_t rfind(const char* sz, size_t nStart = npos, size_t n = npos) const; @@ -859,19 +850,7 @@ wxString WXDLLEXPORT operator+(const char *psz, const wxString& string); #ifdef wxSTD_STRING_COMPATIBILITY -// forward declare iostream -// Known not to work with wxUSE_IOSTREAMH set to 0, so -// replacing with includes (on advice of ungod@pasdex.com.au) -// class WXDLLEXPORT istream; -#if wxUSE_IOSTREAMH -// N.B. BC++ doesn't have istream.h, ostream.h -#include -#else -#include -# ifdef _MSC_VER - using namespace std; -# endif -#endif +#include "wx/ioswrap.h" WXDLLEXPORT istream& operator>>(istream& is, wxString& str);