]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/list.h
compilation fix
[wxWidgets.git] / include / wx / list.h
index 57351e946990eae0c0a57eee6d7237c434d4062e..93ea9a13ac9fe88600dcec77356022810299a1e9 100644 (file)
@@ -84,16 +84,16 @@ enum wxKeyType
 #define wxLIST_COMPATIBILITY
 
 #define WX_DECLARE_LIST_3(elT, dummy1, liT, dummy2, decl) \
-    WX_DECLARE_LIST_X(elT, liT, decl)
+    WX_DECLARE_LIST_WITH_DECL(elT, liT, decl)
 #define WX_DECLARE_LIST_PTR_3(elT, dummy1, liT, dummy2, decl) \
     WX_DECLARE_LIST_3(elT, dummy1, liT, dummy2, decl)
 
 #define WX_DECLARE_LIST_2(elT, liT, dummy, decl) \
-    WX_DECLARE_LIST_X(elT, liT, decl)
+    WX_DECLARE_LIST_WITH_DECL(elT, liT, decl)
 #define WX_DECLARE_LIST_PTR_2(elT, liT, dummy, decl) \
     WX_DECLARE_LIST_2(elT, liT, dummy, decl) \
 
-#define WX_DECLARE_LIST_X(elT, liT, decl) \
+#define WX_DECLARE_LIST_WITH_DECL(elT, liT, decl) \
     WX_DECLARE_LIST_XO(elT*, liT, decl)
 
 #define WX_DECLARE_LIST_XO(elT, liT, decl) \
@@ -119,6 +119,10 @@ enum wxKeyType
             compatibility_iterator() : m_list( NULL ) { }                     \
             dummy* operator->() { return (dummy*)this; }                      \
             const dummy* operator->() const { return (const dummy*)this; }    \
+            bool operator==(const compatibility_iterator& it)                 \
+                { return m_list == it.m_list && m_iter == it.m_iter; }        \
+            bool operator!=(const compatibility_iterator& it)                 \
+                { return m_list != it.m_list || m_iter != it.m_iter; }        \
         };                                                                    \
         typedef struct compatibility_iterator citer;                          \
                                                                               \
@@ -142,7 +146,7 @@ enum wxKeyType
             {                                                                 \
                 citer* i = (citer*)this;                                      \
                 it lit = i->m_iter;                                           \
-                return citer( i->m_list, ++lit );                             \
+                return citer( i->m_list, --lit );                             \
             }                                                                 \
             void SetData( elT e )                                             \
             {                                                                 \
@@ -211,17 +215,17 @@ enum wxKeyType
     }
 
 #define WX_DECLARE_LIST(elementtype, listname)                              \
-    WX_DECLARE_LIST_X(elementtype, listname, class)
+    WX_DECLARE_LIST_WITH_DECL(elementtype, listname, class)
 #define WX_DECLARE_LIST_PTR(elementtype, listname)                          \
     WX_DECLARE_LIST(elementtype, listname)
 
 #define WX_DECLARE_EXPORTED_LIST(elementtype, listname)                     \
-    WX_DECLARE_LIST_X(elementtype, listname, class WXDLLEXPORT)
+    WX_DECLARE_LIST_WITH_DECL(elementtype, listname, class WXDLLEXPORT)
 #define WX_DECLARE_EXPORTED_LIST_PTR(elementtype, listname)                 \
     WX_DECLARE_EXPORTED_LIST(elementtype, listname)
 
 #define WX_DECLARE_USER_EXPORTED_LIST(elementtype, listname, usergoo)       \
-    WX_DECLARE_LIST_X(elementtype, listname, class usergoo)
+    WX_DECLARE_LIST_WITH_DECL(elementtype, listname, class usergoo)
 #define WX_DECLARE_USER_EXPORTED_LIST_PTR(elementtype, listname, usergoo)   \
     WX_DECLARE_USER_EXPORTED_LIST(elementtype, listname, usergoo)
 
@@ -586,6 +590,8 @@ private:
             { wxNodeBase::SetData(data); }                                  \
                                                                             \
         virtual void DeleteData();                                          \
+                                                                            \
+        DECLARE_NO_COPY_CLASS(nodetype)                                     \
     };                                                                      \
                                                                             \
     classexp name : public wxListBase                                       \
@@ -957,9 +963,13 @@ private:
     typedef elementtype _WX_LIST_ITEM_TYPE_##listname;                      \
     WX_DECLARE_LIST_PTR_2(elementtype, listname, wx##listname##Node, class)
 
-#define WX_DECLARE_EXPORTED_LIST(elementtype, listname)                     \
+#define WX_DECLARE_LIST_WITH_DECL(elementtype, listname, decl) \
     typedef elementtype _WX_LIST_ITEM_TYPE_##listname;                      \
-    WX_DECLARE_LIST_2(elementtype, listname, wx##listname##Node, class WXDLLEXPORT)
+    WX_DECLARE_LIST_2(elementtype, listname, wx##listname##Node, decl)
+    
+#define WX_DECLARE_EXPORTED_LIST(elementtype, listname)                     \
+    WX_DECLARE_LIST_WITH_DECL(elementtype, listname, class WXDLLEXPORT)
+
 #define WX_DECLARE_EXPORTED_LIST_PTR(elementtype, listname)                     \
     typedef elementtype _WX_LIST_ITEM_TYPE_##listname;                      \
     WX_DECLARE_LIST_PTR_2(elementtype, listname, wx##listname##Node, class WXDLLEXPORT)
@@ -1028,7 +1038,8 @@ class WXDLLIMPEXP_BASE wxList : public wxObjectList
 {
 public:
 #if defined(wxWARN_COMPAT_LIST_USE) && !wxUSE_STL
-    wxDEPRECATED( wxList(int key_type = wxKEY_NONE) );
+    wxList() { };
+    wxDEPRECATED( wxList(int key_type) );
 #elif !wxUSE_STL
     wxList(int key_type = wxKEY_NONE);
 #endif
@@ -1068,7 +1079,7 @@ public:
     // ctors and such
         // default
 #ifdef wxWARN_COMPAT_LIST_USE
-    wxDEPRECATED( wxStringList() );
+    wxStringList();
     wxDEPRECATED( wxStringList(const wxChar *first ...) );
 #else
     wxStringList();