]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/arrstr.h
normalize printf/scanf format strings correctly on all platforms, while accounting...
[wxWidgets.git] / include / wx / arrstr.h
index 570d4672e8c8101420722141d34edf2792a3cb2e..d1e893cd3dba1126e3d8455161f7d6f2ee3ee570 100644 (file)
@@ -45,7 +45,7 @@ public:
     wxArrayString(size_t sz, const wxChar** a);
     wxArrayString(size_t sz, const wxString* a);
 
-    int Index(const wxChar* sz, bool bCase = true, bool bFromEnd = false) const;
+    int Index(const wxString& str, bool bCase = true, bool bFromEnd = false) const;
 
     void Sort(bool reverseOrder = false);
     void Sort(CompareFunction function);
@@ -75,7 +75,7 @@ public:
             Add(src[n]);
     }
 
-    int Index(const wxChar* sz, bool bCase = true, bool bFromEnd = false) const;
+    int Index(const wxString& str, bool bCase = true, bool bFromEnd = false) const;
 };
 
 #else // if !wxUSE_STL
@@ -149,7 +149,7 @@ public:
   {
       wxASSERT_MSG( !IsEmpty(),
                     _T("wxArrayString: index out of bounds") );
-      return Item(Count() - 1);
+      return Item(GetCount() - 1);
   }
 
 
@@ -158,7 +158,7 @@ public:
     // bFromEnd is false or from end otherwise. If bCase, comparison is case
     // sensitive (default). Returns index of the first item matched or
     // wxNOT_FOUND
-  int  Index (const wxChar *sz, bool bCase = true, bool bFromEnd = false) const;
+  int  Index (const wxString& str, bool bCase = true, bool bFromEnd = false) const;
     // add new element at the end (if the array is not sorted), return its
     // index
   size_t Add(const wxString& str, size_t nInsert = 1);
@@ -343,4 +343,21 @@ private:
     wxString* m_strings;
 };
 
-#endif
+
+// ----------------------------------------------------------------------------
+// helper functions for working with arrays
+// ----------------------------------------------------------------------------
+
+// by default, these functions use the escape character to escape the
+// separators occuring inside the string to be joined, this can be disabled by
+// passing '\0' as escape
+
+WXDLLIMPEXP_BASE wxString wxJoin(const wxArrayString& arr,
+                                 const wxChar sep,
+                                 const wxChar escape = wxT('\\'));
+
+WXDLLIMPEXP_BASE wxArrayString wxSplit(const wxString& str,
+                                       const wxChar sep,
+                                       const wxChar escape = wxT('\\'));
+
+#endif // _WX_ARRSTR_H