X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..82a5f02c861e8d57ba8255a9553b941118ad4520:/include/wx/hash.h diff --git a/include/wx/hash.h b/include/wx/hash.h index af9cbbce94..79e8339577 100644 --- a/include/wx/hash.h +++ b/include/wx/hash.h @@ -109,6 +109,36 @@ private: DECLARE_NO_COPY_CLASS(wxHashTableLong); }; +// ---------------------------------------------------------------------------- +// wxStringHashTable: a hash table which indexes strings with longs +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxStringHashTable : public wxObject +{ +public: + wxStringHashTable(size_t sizeTable = wxHASH_SIZE_DEFAULT); + virtual ~wxStringHashTable(); + + // add a string associated with this key to the table + 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 + wxString Get(long key, bool *wasFound = NULL) const; + + // clean up + void Destroy(); + +private: + wxArrayLong **m_keys; + wxArrayString **m_values; + + // the size of array above + size_t m_hashSize; + + DECLARE_NO_COPY_CLASS(wxStringHashTable); +}; + // ---------------------------------------------------------------------------- // for compatibility only // ----------------------------------------------------------------------------