diff --git a/docs/latex/wx/arrstrng.tex b/docs/latex/wx/arrstrng.tex index 5eca48f74e..71f698a11c 100644 --- a/docs/latex/wx/arrstrng.tex +++ b/docs/latex/wx/arrstrng.tex @@ -80,6 +80,20 @@ reasons it is not virtual, so this class should not be derived from. Assignment operator. +\membersection{wxArrayString::operator==}\label{wxarraystringoperatorequal} + +\constfunc{bool}{operator $==$}{\param{const wxArrayString\&}{ array}} + +Compares 2 arrays respecting the case. Returns TRUE only if the arrays have +the same number of elements and the same strings in the same order. + +\membersection{wxArrayString::operator!=}\label{wxarraystringoperatornotequal} + +\constfunc{bool}{operator $!=$}{\param{const wxArrayString\&}{ array}} + +Compares 2 arrays respecting the case. Returns TRUE if the arrays have +different number of elements or if the elements don't match pairwise. + \membersection{wxArrayString::operator[]}\label{wxarraystringoperatorindex} \func{wxString\&}{operator[]}{\param{size\_t }{nIndex}} diff --git a/include/wx/string.h b/include/wx/string.h index b918b715e0..fe9787845f 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -1016,6 +1016,12 @@ public: // sort array elements using specified comparaison function void Sort(CompareFunction compareFunction); + // comparison + // compare two arrays case sensitively + bool operator==(const wxArrayString& a) const; + // compare two arrays case sensitively + bool operator!=(const wxArrayString& a) const { return !(*this == a); } + protected: void Copy(const wxArrayString& src); // copies the contents of another array diff --git a/src/common/string.cpp b/src/common/string.cpp index e8bf97b0b4..b0ab44d21c 100644 --- a/src/common/string.cpp +++ b/src/common/string.cpp @@ -2155,3 +2155,17 @@ void wxArrayString::DoSort() qsort(m_pItems, m_nCount, sizeof(wxChar *), wxStringCompareFunction); } +bool wxArrayString::operator==(const wxArrayString& a) const +{ + if ( m_nCount != a.m_nCount ) + return FALSE; + + for ( size_t n = 0; n < m_nCount; n++ ) + { + if ( Item(n) != a[n] ) + return FALSE; + } + + return TRUE; +} +