ANSI+Unicode compatibility fixes to wxArrayString

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2007-06-28 18:56:00 +00:00
parent 3a0b1f421f
commit cfa3d7ba83
3 changed files with 19 additions and 7 deletions

View File

@@ -67,7 +67,9 @@ Default constructor.
Copy constructor. Note that when an array is assigned to a sorted array, its contents is
automatically sorted during construction.
\func{}{wxArrayString}{\param{size\_t}{ sz}, \param{const wxChar**}{ arr}}
\func{}{wxArrayString}{\param{size\_t}{ sz}, \param{const char**}{ arr}}
\func{}{wxArrayString}{\param{size\_t}{ sz}, \param{const wchar\_t**}{ arr}}
Constructor from a C string array. Pass a size {\it sz} and array {\it arr}.
@@ -163,7 +165,7 @@ Returns the number of items in the array.
\membersection{wxArrayString::Index}\label{wxarraystringindex}
\func{int}{Index}{\param{const wxChar *}{ sz}, \param{bool}{ bCase = true}, \param{bool}{ bFromEnd = false}}
\func{int}{Index}{\param{const wxString\& }{ sz}, \param{bool}{ bCase = true}, \param{bool}{ bFromEnd = false}}
Search the element in the array, starting from the beginning if
{\it bFromEnd} is false or from end otherwise. If {\it bCase}, comparison is
@@ -221,7 +223,7 @@ are done in release mode.
\membersection{wxArrayString::Remove}\label{wxarraystringremove}
\func{void}{Remove}{\param{const wxChar *}{ sz}}
\func{void}{Remove}{\param{const wxString\&}{ sz}}
Removes the first item matching this value. An assert failure is provoked by
an attempt to remove an element which does not exist in debug build.

View File

@@ -104,7 +104,8 @@ public:
// supported it...
wxArrayString(int autoSort) { Init(autoSort != 0); }
// C string array ctor
wxArrayString(size_t sz, const wxChar** a);
wxArrayString(size_t sz, const char** a);
wxArrayString(size_t sz, const wchar_t** a);
// wxString string array ctor
wxArrayString(size_t sz, const wxString* a);
// copy ctor
@@ -167,7 +168,7 @@ public:
// expand the array to have count elements
void SetCount(size_t count);
// remove first item matching this value
void Remove(const wxChar *sz);
void Remove(const wxString& sz);
// remove item by index
void RemoveAt(size_t nIndex, size_t nRemove = 1);

View File

@@ -27,7 +27,16 @@
// ArrayString
// ============================================================================
wxArrayString::wxArrayString(size_t sz, const wxChar** a)
wxArrayString::wxArrayString(size_t sz, const char** a)
{
#if !wxUSE_STL
Init(false);
#endif
for (size_t i=0; i < sz; i++)
Add(a[i]);
}
wxArrayString::wxArrayString(size_t sz, const wchar_t** a)
{
#if !wxUSE_STL
Init(false);
@@ -355,7 +364,7 @@ void wxArrayString::RemoveAt(size_t nIndex, size_t nRemove)
}
// removes item from array (by value)
void wxArrayString::Remove(const wxChar *sz)
void wxArrayString::Remove(const wxString& sz)
{
int iIndex = Index(sz);