]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/string.cpp
Added wxDataViewBitmapCell
[wxWidgets.git] / src / common / string.cpp
index 53a6e680fb176240036ca9a45273582667a50891..98a635bc49d24c45a96db207566518d985b4be37 100644 (file)
@@ -86,44 +86,8 @@ extern const wxChar WXDLLIMPEXP_BASE *wxEmptyString = &g_strEmpty.dummy;
 
 #if wxUSE_STD_IOSTREAM
 
-// MS Visual C++ version 5.0 provides the new STL headers as well as the old
-// iostream ones.
-//
-// ATTN: you can _not_ use both of these in the same program!
-
 #include <iostream>
 
-wxSTD istream& operator>>(wxSTD istream& is, wxString& WXUNUSED(str))
-{
-#if 0
-  int w = is.width(0);
-  if ( is.ipfx(0) ) {
-    streambuf *sb = is.rdbuf();
-    str.erase();
-    while ( true ) {
-      int ch = sb->sbumpc ();
-      if ( ch == EOF ) {
-        is.setstate(ios::eofbit);
-        break;
-      }
-      else if ( isspace(ch) ) {
-        sb->sungetc();
-        break;
-      }
-
-      str += ch;
-      if ( --w == 1 )
-        break;
-    }
-  }
-
-  is.isfx();
-  if ( str.length() == 0 )
-    is.setstate(ios::failbit);
-#endif
-  return is;
-}
-
 wxSTD ostream& operator<<(wxSTD ostream& os, const wxString& str)
 {
 #ifdef __BORLANDC__
@@ -1617,19 +1581,18 @@ wxString& wxString::Trim(bool bFromRight)
         if ( bFromRight )
         {
             // find last non-space character
-            iterator psz = begin() + length() - 1;
-            while ( wxSafeIsspace(*psz) && (psz >= begin()) )
-                psz--;
-
+            reverse_iterator psz = rbegin();
+            while ( (psz != rend()) && wxSafeIsspace(*psz) )
+                psz++;
+            
             // truncate at trailing space start
-            *++psz = wxT('\0');
-            erase(psz, end());
+            erase(psz.base(), end());
         }
         else
         {
             // find first non-space character
             iterator psz = begin();
-            while ( wxSafeIsspace(*psz) )
+            while ( (psz != end()) && wxSafeIsspace(*psz) )
                 psz++;
 
             // fix up data and length