]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/list.h
Make brush hatches in wxGTK consistent with wxMSW.
[wxWidgets.git] / interface / wx / list.h
index eae8cd2cf280f16a7eb7ab504f4c3d806348476b..fd200e0037f2fc2df644cc24a4703f99b1938efe 100644 (file)
@@ -3,12 +3,10 @@
 // Purpose:     interface of wxList<T>
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
 // Purpose:     interface of wxList<T>
 // Author:      wxWidgets team
 // RCS-ID:      $Id$
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 /**
 /////////////////////////////////////////////////////////////////////////////
 
 /**
-    @class wxList
-
     The wxList<T> class provides linked list functionality.
 
     This class has been rewritten to be type safe and to provide the full API of
     The wxList<T> class provides linked list functionality.
 
     This class has been rewritten to be type safe and to provide the full API of
     The exception is that wxList<T> actually stores pointers and therefore its
     iterators return pointers and not references to the actual objets in the list
     (see example below) and @e value_type is defined as @e T*.
     The exception is that wxList<T> actually stores pointers and therefore its
     iterators return pointers and not references to the actual objets in the list
     (see example below) and @e value_type is defined as @e T*.
-    wxList<T> destroys an object after removing it only if wxList::DeleteContents
+    wxList<T> destroys an object after removing it only if wxList<T>::DeleteContents
     has been called.
 
     wxList<T> is not a real template and it requires that you declare and define
     has been called.
 
     wxList<T> is not a real template and it requires that you declare and define
-    each wxListT class in your program. This is done with @e WX_DECLARE_LIST
+    each wxList<T> class in your program. This is done with @e WX_DECLARE_LIST
     and @e WX_DEFINE_LIST macros (see example). We hope that we'll be able to
     and @e WX_DEFINE_LIST macros (see example). We hope that we'll be able to
-    provide a proper template class providing both the STL std::list and the old
+    provide a proper template class providing both the STL @c std::list and the old
     wxList API in the future.
 
     wxList API in the future.
 
-    Please refer to the STL std::list documentation for further information on how
-    to use the class. Below we documented both the supported STL and the legacy API
+    Please refer to the STL @c std::list documentation (see http://www.cppreference.com/wiki/stl/list/start)
+    for further information on how to use the class.
+    Below we documented both the supported STL and the legacy API
     that originated from the old wxList class and which can still be used alternatively
     for the the same class.
 
     that originated from the old wxList class and which can still be used alternatively
     for the the same class.
 
-    Note that if you compile wxWidgets in STL mode (wxUSE_STL defined as 1)
-    then wxList<T> will actually derive from std::list and just add a legacy
+    Note that if you compile wxWidgets in STL mode (@c wxUSE_STL defined as 1)
+    then wxList<T> will actually derive from @c std::list and just add a legacy
     compatibility layer for the old wxList class.
 
     @code
     compatibility layer for the old wxList class.
 
     @code
     The use of the latter is especially discouraged as it is not only unsafe but
     is also much less efficient than wxArrayString class.
 
     The use of the latter is especially discouraged as it is not only unsafe but
     is also much less efficient than wxArrayString class.
 
+    @tparam T
+        The type stored in the wxList nodes.
+
     @library{wxbase}
     @library{wxbase}
-    @category{data}
+    @category{containers}
 
 
-    @see wxArray<T>, wxVector<T>
+    @see wxArray<T>, wxVector<T>, wxNode<T>
 */
 */
+template<typename T>
 class wxList<T>
 {
 public:
 class wxList<T>
 {
 public:
@@ -206,9 +209,11 @@ public:
     wxList<T>::compatibility_iterator Item(size_t index) const;
 
     /**
     wxList<T>::compatibility_iterator Item(size_t index) const;
 
     /**
-        @deprecated This function is deprecated, use Find() instead.
+        Check if the object is present in the list.
+
+        @see Find()
     */
     */
-    wxList<T>::compatibility_iterator Member(T* object) const;
+    bool Member(T* object) const;
 
     /**
         @deprecated This function is deprecated, use Item() instead.
 
     /**
         @deprecated This function is deprecated, use Item() instead.
@@ -391,12 +396,10 @@ public:
 
 
 /**
 
 
 /**
-    @class wxNode
-
-    wxNodeBase is the node structure used in linked lists (see wxList) and derived
-    classes. You should never use wxNodeBase class directly, however, because it
+    wxNode<T> is the node structure used in linked lists (see wxList) and derived
+    classes. You should never use wxNode<T> class directly, however, because it
     works with untyped (@c void *) data and this is unsafe.
     works with untyped (@c void *) data and this is unsafe.
-    Use wxNodeBase-derived classes which are automatically defined by WX_DECLARE_LIST
+    Use wxNode<T>-derived classes which are automatically defined by WX_DECLARE_LIST
     and WX_DEFINE_LIST macros instead as described in wxList documentation
     (see example there).
 
     and WX_DEFINE_LIST macros instead as described in wxList documentation
     (see example there).
 
@@ -409,11 +412,15 @@ public:
     written as wxNodeT even though it isn't really a template class -- but it
     helps to think of it as if it were.
 
     written as wxNodeT even though it isn't really a template class -- but it
     helps to think of it as if it were.
 
+    @tparam T
+        The type stored in the wxNode.
+
     @library{wxbase}
     @category{data}
 
     @see wxList<T>, wxHashTable
 */
     @library{wxbase}
     @category{data}
 
     @see wxList<T>, wxHashTable
 */
+template<typename T>
 class wxNode<T>
 {
 public:
 class wxNode<T>
 {
 public: