]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/string.h
Unicode fix.
[wxWidgets.git] / include / wx / string.h
index 3e8567d18f6a88ce0b51c46b5e2693e97b210f43..8948591e53f25ba926e17f7cbcf01daf987528a4 100644 (file)
@@ -713,6 +713,10 @@ public:
 #ifdef  wxSTD_STRING_COMPATIBILITY
   // std::string compatibility functions
 
+  // standard types
+  typedef wxChar value_type;
+  typedef const value_type *const_iterator;
+
   // an 'invalid' value for string index
   static const size_t npos;
 
@@ -746,6 +750,11 @@ public:
     // returns the writable character at position n
   wxChar& at(size_t n) { return GetWritableChar(n); }
 
+    // first valid index position
+  const_iterator begin() const { return wx_str(); }
+    // position one after the last valid one
+  const_iterator end() const { return wx_str() + length(); }
+
   // lib.string.modifiers
     // append a string
   wxString& append(const wxString& str)
@@ -836,32 +845,37 @@ public:
 
     // find first/last occurence of any character in the set
 
-    //
-  size_t find_first_of(const wxString& str, size_t nStart = 0) const;
-    //
+    // as strpbrk() but starts at nStart, returns npos if not found
+  size_t find_first_of(const wxString& str, size_t nStart = 0) const
+    { return find_first_of(str.c_str(), nStart); }
+    // same as above
   size_t find_first_of(const wxChar* sz, size_t nStart = 0) const;
     // same as find(char, size_t)
-  size_t find_first_of(wxChar c, size_t nStart = 0) const;
-    //
-  size_t find_last_of (const wxString& str, size_t nStart = npos) const;
-    //
-  size_t find_last_of (const wxChar* s, size_t nStart = npos) const;
-    // same as rfind(char, size_t)
-  size_t find_last_of (wxChar c, size_t nStart = npos) const;
+  size_t find_first_of(wxChar c, size_t nStart = 0) const
+    { return find(c, nStart); }
+    // find the last (starting from nStart) char from str in this string
+  size_t find_last_of (const wxString& str, size_t nStart = npos) const
+    { return find_last_of(str.c_str(), nStart); }
+    // same as above
+  size_t find_last_of (const wxChar* sz, size_t nStart = npos) const;
+    // same as above
+  size_t find_last_of(wxChar c, size_t nStart = npos) const
+    { return rfind(c, nStart); }
 
     // find first/last occurence of any character not in the set
 
-    //
-  size_t find_first_not_of(const wxString& str, size_t nStart = 0) const;
-    //
-  size_t find_first_not_of(const wxChar* s, size_t nStart = 0) const;
-    //
+    // as strspn() (starting from nStart), returns npos on failure
+  size_t find_first_not_of(const wxString& str, size_t nStart = 0) const
+    { 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;
+    // 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 wxString& str, size_t nStart=npos) const;
-    //
-  size_t find_last_not_of(const wxChar* s, size_t nStart = npos) const;
-    //
+    // same as above
+  size_t find_last_not_of(const wxChar* sz, size_t nStart = npos) const;
+    // same as above
   size_t find_last_not_of(wxChar ch, size_t nStart = npos) const;
 
     // All compare functions return -1, 0 or 1 if the [sub]string is less,