]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dynarray.h
fixing non-precomp builds
[wxWidgets.git] / interface / wx / dynarray.h
index 4c5c0ab9195807772f968348d0d9e4f241e991a5..43779dc95cb831e1a4c976348bfa0e4e40d87d48 100644 (file)
     - WX_DEFINE_SORTED_USER_EXPORTED_ARRAY_INT()
 
 
+    @section array_predef Predefined array types
+
+    wxWidgets defines the following dynamic array types:
+    - ::wxArrayShort
+    - ::wxArrayInt
+    - ::wxArrayDouble
+    - ::wxArrayLong
+    - ::wxArrayPtrVoid
+
+    To use them you don't need any macro; you just need to include @c dynarray.h.
+
+
     @library{wxbase}
     @category{containers}
 
     @see @ref overview_container, wxList<T>, wxVector<T>
 */
+template <typename T>
 class wxArray<T>
 {
 public:
@@ -533,14 +546,20 @@ public:
 
         @code
         T *item = array[n];
+        array.Remove(item);
         delete item;
-        array.Remove(n);
         @endcode
 
         See also WX_CLEAR_ARRAY() macro which deletes all elements of a wxArray
         (supposed to contain pointers).
+
+        Notice that for sorted arrays this method uses binary search to find
+        the item so it doesn't necessarily remove the first matching item, but
+        the first one found by the binary search.
+
+        @see RemoveAt()
     */
-    Remove(T item);
+    void Remove(T item);
 
     /**
         Removes @a count elements starting at @a index from the array. When an
@@ -558,7 +577,7 @@ public:
         See also WX_CLEAR_ARRAY() macro which deletes all elements of a wxArray
         (supposed to contain pointers).
     */
-    RemoveAt(size_t index, size_t count = 1);
+    void RemoveAt(size_t index, size_t count = 1);
 
     //@}
 
@@ -583,15 +602,16 @@ public:
               another, identical, element is in the array.
     */
     int Index(T& item, bool searchFromEnd = false) const;
+
     /**
         This version of Index() is for wxSortedArray only.
 
-        Searches the element in the array, starting from either beginning or
-        the end depending on the value of @a searchFromEnd parameter.
+        Searches for the element in the array, using binary search.
+
         @c wxNOT_FOUND is returned if the element is not found, otherwise the
         index of the element is returned.
     */
-    const int Index(T& item) const;
+    int Index(T& item) const;
 
     /**
         Search for a place to insert @a item into the sorted array (binary
@@ -782,3 +802,13 @@ public:
 */
 #define WX_PREPEND_ARRAY(wxArray_arrayToModify, wxArray_arrayToBePrepended)
 
+//@{
+/**
+    Predefined specialization of wxArray<T> for standard types.
+*/
+typedef wxArray<int> wxArrayInt;
+typedef wxArray<long> wxArrayLong;
+typedef wxArray<short> wxArrayShort;
+typedef wxArray<double> wxArrayDouble;
+typedef wxArray<void*> wxArrayPtrVoid;
+//@}