X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6a5391afa9a22c72e1daaa8ee949febe78ad079d..d38e8d5f34262fa688cd0e5d397a2201978e5fa7:/include/wx/hash.h diff --git a/include/wx/hash.h b/include/wx/hash.h index 575216d21c..9340538569 100644 --- a/include/wx/hash.h +++ b/include/wx/hash.h @@ -12,7 +12,7 @@ #ifndef _WX_HASH_H__ #define _WX_HASH_H__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "hash.h" #endif @@ -69,7 +69,7 @@ protected: private: // no copy ctor/assignment operator (yet) - DECLARE_NO_COPY_CLASS(wxHashTableBase); + DECLARE_NO_COPY_CLASS(wxHashTableBase) }; // ---------------------------------------------------------------------------- @@ -79,7 +79,8 @@ private: class WXDLLEXPORT wxHashTableLong : public wxObject { public: - wxHashTableLong(size_t size = wxHASH_SIZE_DEFAULT) { Init(size); } + wxHashTableLong(size_t size = wxHASH_SIZE_DEFAULT) + { Init(size); } virtual ~wxHashTableLong(); void Create(size_t size = wxHASH_SIZE_DEFAULT); @@ -106,7 +107,7 @@ private: size_t m_count; // not implemented yet - DECLARE_NO_COPY_CLASS(wxHashTableLong); + DECLARE_NO_COPY_CLASS(wxHashTableLong) }; // ---------------------------------------------------------------------------- @@ -126,6 +127,9 @@ public: // and the wasFound is set to FALSE if not NULL wxString Get(long key, bool *wasFound = NULL) const; + // remove the item, returning TRUE if the item was found and deleted + bool Delete(long key) const; + // clean up void Destroy(); @@ -136,7 +140,7 @@ private: // the size of array above size_t m_hashSize; - DECLARE_NO_COPY_CLASS(wxStringHashTable); + DECLARE_NO_COPY_CLASS(wxStringHashTable) }; // ---------------------------------------------------------------------------- @@ -158,7 +162,8 @@ public: ~wxHashTable(); // copy ctor and assignment operator - wxHashTable(const wxHashTable& table) { DoCopy(table); } + wxHashTable(const wxHashTable& table) : wxObject() + { DoCopy(table); } wxHashTable& operator=(const wxHashTable& table) { Clear(); DoCopy(table); return *this; } @@ -297,5 +302,8 @@ private: #define WX_DECLARE_EXPORTED_HASH(el, list, hash) \ _WX_DECLARE_HASH(el, list, hash, class WXDLLEXPORT) +#define WX_DECLARE_USER_EXPORTED_HASH(el, list, hash, usergoo) \ + _WX_DECLARE_HASH(el, list, hash, class usergoo) + #endif // _WX_HASH_H__