X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6e86701b83e4d081c095747fbf6fa642e717e969..6def7a17b01a15e68696a1863d114ecc5554e3d4:/include/wx/hash.h diff --git a/include/wx/hash.h b/include/wx/hash.h index 851ce62231..247a844637 100644 --- a/include/wx/hash.h +++ b/include/wx/hash.h @@ -111,6 +111,10 @@ union wxHashKeyValue wxChar *string; }; +// for some compilers (AIX xlC), defining it as friend inside the class is not +// enough, so provide a real forward declaration +class WXDLLIMPEXP_BASE wxHashTableBase; + class WXDLLIMPEXP_BASE wxHashTableBase_Node { friend class WXDLLIMPEXP_BASE wxHashTableBase; @@ -159,7 +163,7 @@ public: typedef wxHashTableBase_Node Node; wxHashTableBase(); - virtual ~wxHashTableBase(); + virtual ~wxHashTableBase() { }; void Create( wxKeyType keyType = wxKEY_INTEGER, size_t size = wxHASH_SIZE_DEFAULT ); @@ -281,10 +285,10 @@ public: void Put(long key, const wxString& value); // get the string from the key: if not found, an empty string is returned - // and the wasFound is set to FALSE if not NULL + // 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 + // remove the item, returning true if the item was found and deleted bool Delete(long key) const; // clean up @@ -344,9 +348,9 @@ public: : wxHashTableBase() { Create( keyType, size ); BeginFind(); } wxHashTable( const wxHashTable& table ); - const wxHashTable& operator=( const wxHashTable& ); + virtual ~wxHashTable() { Destroy(); } - void Destroy() { Clear(); } + const wxHashTable& operator=( const wxHashTable& ); // key and value are the same void Put(long value, wxObject *object) @@ -514,9 +518,8 @@ private: size_t size = wxHASH_SIZE_DEFAULT) \ : wxHashTableBase() { Create(keyType, size); } \ \ - ~hashclass() { Destroy(); } \ + virtual ~hashclass() { Destroy(); } \ \ - void Destroy() { Clear(); } \ void Put(long key, eltype *data) { DoPut(key, key, (void*)data); } \ void Put(long hash, long key, eltype *data) \ { DoPut(key, hash, (void*)data); } \ @@ -585,7 +588,7 @@ private: { \ m_hashTable[slot] = new listclass(m_keyType); \ if ( m_deleteContents ) \ - m_hashTable[slot]->DeleteContents(TRUE); \ + m_hashTable[slot]->DeleteContents(true); \ } \ \ ((listclass *)m_hashTable[slot])->Append(value, data); \