X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0cbff1201aa47e2b73ec90a97886f18e88270ea6..ca5b5b49c81e2ffab063f2be6ada2ed4290d1db1:/include/wx/dynarray.h diff --git a/include/wx/dynarray.h b/include/wx/dynarray.h index 7e064dfc0b..e010339d8b 100644 --- a/include/wx/dynarray.h +++ b/include/wx/dynarray.h @@ -42,7 +42,10 @@ callback compare function for quick sort must return negative value, 0 or positive value if pItem1 <, = or > pItem2 */ +extern "C" +{ typedef int (wxCMPFUNC_CONV *CMPFUNC)(const void* pItem1, const void* pItem2); +} // ---------------------------------------------------------------------------- /** @@ -69,10 +72,6 @@ public: /// assignment operator wxBaseArray& operator=(const wxBaseArray& src); /// not virtual, see above - /// EXCEPT for Gnu compiler to reduce warnings... -#ifdef __GNUG__ - virtual -#endif ~wxBaseArray(); //@} @@ -438,10 +437,27 @@ private: \ typedef T _A##name; \ _WX_DEFINE_SORTED_ARRAY(_A##name, name, class WXDLLEXPORT) +#define WX_DEFINE_EXPORTED_OBJARRAY(name) WX_DEFINE_OBJARRAY(name) #define WX_DECLARE_EXPORTED_OBJARRAY(T, name) \ typedef T _L##name; \ _WX_DECLARE_OBJARRAY(_L##name, name, class WXDLLEXPORT) +// ..and likewise these macros do very same thing as the ones above them too, +// but allow the user to specify the export spec. Needed if you have a dll +// that wants to export a wxArray daubed with your own import/export goo. +#define WX_DEFINE_USER_EXPORTED_ARRAY(T, name, usergoo) \ + typedef T _A##name; \ + _WX_DEFINE_ARRAY(_A##name, name, class usergoo) + +#define WX_DEFINE_SORTED_USER_EXPORTED_ARRAY(T, name, usergoo) \ + typedef T _A##name; \ + _WX_DEFINE_SORTED_ARRAY(_A##name, name, class usergoo) + +#define WX_DEFINE_USER_EXPORTED_OBJARRAY(name) WX_DEFINE_OBJARRAY(name) +#define WX_DECLARE_USER_EXPORTED_OBJARRAY(T, name, usergoo) \ + typedef T _L##name; \ + _WX_DECLARE_OBJARRAY(_L##name, name, class usergoo) + // ---------------------------------------------------------------------------- /** @name Some commonly used predefined arrays */ // ----------------------------------------------------------------------------