X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c16471b6e8b08bd7d02c4c4988a06f46b83634e1..156194e1d525407e90c21552f8f7aa05756e0ddc:/include/wx/string.h diff --git a/include/wx/string.h b/include/wx/string.h index 0d8bcc184c..45e8aa0384 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -18,7 +18,7 @@ #ifndef _WX_WXSTRINGH__ #define _WX_WXSTRINGH__ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "string.h" #endif @@ -32,10 +32,6 @@ #include #endif -#ifdef __EMX__ - #include -#endif - #if defined(__VISAGECPP__) && __IBMCPP__ >= 400 // problem in VACPP V4 with including stdlib.h multiple times // strconv includes it anyway @@ -177,7 +173,7 @@ inline const wxString& wxGetEmptyString() { return *(wxString *)&wxEmptyString; #include "wx/afterstd.h" #if wxUSE_UNICODE - #if HAVE_STD_WSTRING + #ifdef HAVE_STD_WSTRING typedef std::wstring wxStringBase; #else typedef std::basic_string wxStringBase; @@ -243,6 +239,9 @@ class WXDLLIMPEXP_BASE wxStringBase #if !wxUSE_STL friend class WXDLLIMPEXP_BASE wxArrayString; #endif +public : + // an 'invalid' value for string index, moved to this place due to a CW bug + static const size_t npos; protected: // points to data preceded by wxStringData structure with ref count info wxChar *m_pchData; @@ -291,9 +290,6 @@ public: typedef value_type *iterator; typedef const value_type *const_iterator; - // an 'invalid' value for string index - static const size_t npos; - // constructors and destructor // ctor for an empty string wxStringBase() { Init(); } @@ -505,11 +501,9 @@ public: size_t find(const wxChar* sz, size_t nStart = 0, size_t n = npos) const; #endif // VC++ 1.5 - // Gives a duplicate symbol (presumably a case-insensitivity problem) -#if !defined(__BORLANDC__) // find the first occurence of character ch after nStart size_t find(wxChar ch, size_t nStart = 0) const; -#endif + // rfind() family is exactly like find() but works right to left // as find, but from the end @@ -529,6 +523,7 @@ public: { return find_first_of(str.c_str(), nStart); } // same as above size_t find_first_of(const wxChar* sz, size_t nStart = 0) const; + size_t find_first_of(const wxChar* sz, size_t nStart, size_t n) const; // same as find(char, size_t) size_t find_first_of(wxChar c, size_t nStart = 0) const { return find(c, nStart); } @@ -537,6 +532,7 @@ public: { return find_last_of(str.c_str(), nStart); } // same as above size_t find_last_of (const wxChar* sz, size_t nStart = npos) const; + size_t find_last_of(const wxChar* sz, size_t nStart, size_t n) const; // same as above size_t find_last_of(wxChar c, size_t nStart = npos) const { return rfind(c, nStart); } @@ -548,13 +544,15 @@ public: { return find_first_not_of(str.c_str(), nStart); } // same as above size_t find_first_not_of(const wxChar* sz, size_t nStart = 0) const; + size_t find_first_not_of(const wxChar* sz, size_t nStart, size_t n) const; // same as above size_t find_first_not_of(wxChar ch, size_t nStart = 0) const; // as strcspn() size_t find_last_not_of(const wxStringBase& str, size_t nStart = npos) const - { return find_first_not_of(str.c_str(), nStart); } + { return find_last_not_of(str.c_str(), nStart); } // same as above size_t find_last_not_of(const wxChar* sz, size_t nStart = npos) const; + size_t find_last_not_of(const wxChar* sz, size_t nStart, size_t n) const; // same as above size_t find_last_not_of(wxChar ch, size_t nStart = npos) const;