]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/arrstr.h
Added wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT to fix tree and list control selection rendering.
[wxWidgets.git] / include / wx / arrstr.h
index f9e297dd33d949acc43625a3aa77b2875d7126a9..63b8cf80d0a86633dc67e40b02a8f03afe83dbbc 100644 (file)
@@ -173,23 +173,26 @@ public:
 
   // items access (range checking is done in debug version)
     // get item at position uiIndex
-  wxString& Item(size_t nIndex) const
+  wxString& Item(size_t nIndex)
     {
         wxASSERT_MSG( nIndex < m_nCount,
                       wxT("wxArrayString: index out of bounds") );
 
         return m_pItems[nIndex];
     }
+  const wxString& Item(size_t nIndex) const { return const_cast<wxArrayString*>(this)->Item(nIndex); }
 
     // same as Item()
-  wxString& operator[](size_t nIndex) const { return Item(nIndex); }
+  wxString& operator[](size_t nIndex) { return Item(nIndex); }
+  const wxString& operator[](size_t nIndex) const { return Item(nIndex); }
     // get last item
-  wxString& Last() const
+  wxString& Last()
   {
       wxASSERT_MSG( !IsEmpty(),
                     wxT("wxArrayString: index out of bounds") );
       return Item(GetCount() - 1);
   }
+  const wxString& Last() const { return const_cast<wxArrayString*>(this)->Last(); }
 
 
   // item management
@@ -249,7 +252,7 @@ public:
   public:
     pointer m_ptr;
     reverse_iterator() : m_ptr(NULL) { }
-    reverse_iterator(pointer ptr) : m_ptr(ptr) { }
+    wxEXPLICIT reverse_iterator(pointer ptr) : m_ptr(ptr) { }
     reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { }
     reference operator*() const { return *m_ptr; }
     pointer operator->() const { return m_ptr; }
@@ -275,7 +278,7 @@ public:
   public:
     pointer m_ptr;
     const_reverse_iterator() : m_ptr(NULL) { }
-    const_reverse_iterator(pointer ptr) : m_ptr(ptr) { }
+    wxEXPLICIT const_reverse_iterator(pointer ptr) : m_ptr(ptr) { }
     const_reverse_iterator(const itor& it) : m_ptr(it.m_ptr) { }
     const_reverse_iterator(const reverse_iterator& it) : m_ptr(it.m_ptr) { }
     reference operator*() const { return *m_ptr; }