X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c2bb85e9e38ee35758e0076485bb6665f2c229f5..51a58d8b4bb58b66ec84dc94c56fe328d77c904a:/include/wx/hash.h diff --git a/include/wx/hash.h b/include/wx/hash.h index 4320f720c8..af9cbbce94 100644 --- a/include/wx/hash.h +++ b/include/wx/hash.h @@ -80,6 +80,7 @@ class WXDLLEXPORT wxHashTableLong : public wxObject { public: wxHashTableLong(size_t size = wxHASH_SIZE_DEFAULT) { Init(size); } + virtual ~wxHashTableLong(); void Create(size_t size = wxHASH_SIZE_DEFAULT); void Destroy(); @@ -199,8 +200,8 @@ private: // defines a new type safe hash table which stores the elements of type eltype // in lists of class listclass -#define WX_DECLARE_HASH(eltype, listclass, hashclass) \ - class WXDLLEXPORT hashclass : public wxHashTableBase \ +#define _WX_DECLARE_HASH(eltype, listclass, hashclass, classexp) \ + classexp hashclass : public wxHashTableBase \ { \ public: \ hashclass(wxKeyType keyType = wxKEY_INTEGER, \ @@ -257,5 +258,14 @@ private: } \ } +// this macro is to be used in the user code +#define WX_DECLARE_HASH(el, list, hash) \ + _WX_DECLARE_HASH(el, list, hash, class) + +// and this one does exactly the same thing but should be used inside the +// library +#define WX_DECLARE_EXPORTED_HASH(el, list, hash) \ + _WX_DECLARE_HASH(el, list, hash, class WXDLLEXPORT) + #endif // _WX_HASH_H__