]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/listimpl.cpp
support SDK < 10.6, fixes #14902
[wxWidgets.git] / include / wx / listimpl.cpp
index c4c8e020d06e83b3ae6c4f53aff5c246b36ad015..d9a4ffadf273d78259f76152648fdc64458a74b4 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        listimpl.cpp
+// Name:        wx/listimpl.cpp
 // Purpose:     second-part of macro based implementation of template lists
 // Author:      Vadim Zeitlin
 // Modified by:
 // Purpose:     second-part of macro based implementation of template lists
 // Author:      Vadim Zeitlin
 // Modified by:
@@ -9,7 +9,7 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if wxUSE_STL
+#if wxUSE_STD_CONTAINERS
 
 #undef  WX_DEFINE_LIST
 #define WX_DEFINE_LIST(name)                                                  \
 
 #undef  WX_DEFINE_LIST
 #define WX_DEFINE_LIST(name)                                                  \
     {                                                                         \
         delete X;                                                             \
     }                                                                         \
     {                                                                         \
         delete X;                                                             \
     }                                                                         \
-    name::BaseListType name::EmptyList;
+    _WX_LIST_HELPER_##name::BaseListType _WX_LIST_HELPER_##name::EmptyList;
 
 
-#else // !wxUSE_STL
-
-    #define _DEFINE_LIST(T, name)         \
+#else // !wxUSE_STD_CONTAINERS
+    #undef WX_DEFINE_LIST_2
+    #define WX_DEFINE_LIST_2(T, name)     \
         void wx##name##Node::DeleteData() \
         {                                 \
             delete (T *)GetData();        \
         void wx##name##Node::DeleteData() \
         {                                 \
             delete (T *)GetData();        \
     // redefine the macro so that now it will generate the class implementation
     // old value would provoke a compile-time error if this file is not included
     #undef  WX_DEFINE_LIST
     // redefine the macro so that now it will generate the class implementation
     // old value would provoke a compile-time error if this file is not included
     #undef  WX_DEFINE_LIST
-    #define WX_DEFINE_LIST(name) _DEFINE_LIST(_WX_LIST_ITEM_TYPE_##name, name)
-
-    // don't pollute preprocessor's name space
-    //#undef  _DEFINE_LIST
+    #define WX_DEFINE_LIST(name) WX_DEFINE_LIST_2(_WX_LIST_ITEM_TYPE_##name, name)
 
 
-#endif // wxUSE_STL/!wxUSE_STL
+#endif // wxUSE_STD_CONTAINERS/!wxUSE_STD_CONTAINERS