| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        hash.h
 
- // Purpose:     interface of wxHashTable
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     @class wxHashTable
 
-     @deprecated
 
-     Please note that this class is retained for backward compatibility
 
-     reasons; you should use wxHashMap.
 
-     This class provides hash table functionality for wxWidgets, and for an
 
-     application if it wishes.  Data can be hashed on an integer or string key.
 
-     Example:
 
-     @code
 
-         wxHashTable table(wxKEY_STRING);
 
-         wxPoint *point = new wxPoint(100, 200);
 
-         table.Put("point 1", point);
 
-         ....
 
-         wxPoint *found_point = (wxPoint *)table.Get("point 1");
 
-     @endcode
 
-     A hash table is implemented as an array of pointers to lists.
 
-     When no data has been stored, the hash table takes only a little more space
 
-     than this array (default size is 1000). When a data item is added, an integer
 
-     is constructed from the integer or string key that is within the bounds of the array.
 
-     If the array element is @NULL, a new (keyed) list is created for the element.
 
-     Then the data object is appended to the list, storing the key in case other
 
-     data objects need to be stored in the list also (when a 'collision' occurs).
 
-     Retrieval involves recalculating the array index from the key, and searching
 
-     along the keyed list for the data object whose stored key matches the passed key.
 
-     Obviously this is quicker when there are fewer collisions, so hashing will
 
-     become inefficient if the number of items to be stored greatly exceeds the
 
-     size of the hash table.
 
-     @library{wxbase}
 
-     @category{containers}
 
-     @see wxList
 
- */
 
- class wxHashTable : public wxObject
 
- {
 
- public:
 
-     /**
 
-         Constructor. @a key_type is one of wxKEY_INTEGER, or wxKEY_STRING,
 
-         and indicates what sort of keying is required. @a size is optional.
 
-     */
 
-     wxHashTable(wxKeyType key_type = wxKEY_INTEGER, size_t size = 1000);
 
-     /**
 
-         Destroys the hash table.
 
-     */
 
-     virtual ~wxHashTable();
 
-     /**
 
-         The counterpart of Next().  If the application wishes to iterate
 
-         through all the data in the hash table, it can call BeginFind() and
 
-         then loop on Next().
 
-     */
 
-     void BeginFind();
 
-     /**
 
-         Clears the hash table of all nodes (but as usual, doesn't delete user data).
 
-     */
 
-     void Clear();
 
-     //@{
 
-     /**
 
-         Deletes entry in hash table and returns the user's data (if found).
 
-     */
 
-     wxObject* Delete(long key);
 
-     wxObject* Delete(const wxString& key);
 
-     //@}
 
-     /**
 
-         If set to @true data stored in hash table will be deleted when hash table
 
-         object is destroyed.
 
-     */
 
-     void DeleteContents(bool flag);
 
-     //@{
 
-     /**
 
-         Gets data from the hash table, using an integer or string key
 
-         (depending on which has table constructor was used).
 
-     */
 
-     wxObject* Get(long key);
 
-     wxObject* Get(const char* key);
 
-     //@}
 
-     /**
 
-         Returns the number of elements in the hash table.
 
-     */
 
-     size_t GetCount() const;
 
-     /**
 
-         Makes an integer key out of a string. An application may wish to make a key
 
-         explicitly (for instance when combining two data values to form a key).
 
-     */
 
-     static long MakeKey(const wxString& string);
 
-     /**
 
-         If the application wishes to iterate through all the data in the hash
 
-         table, it can call BeginFind() and then loop on Next(). This function
 
-         returns a @b wxHashTable::Node pointer (or @NULL if there are no more nodes).
 
-         The return value is functionally equivalent to @b wxNode but might not be
 
-         implemented as a @b wxNode. The user will probably only wish to use the
 
-         wxNode::GetData() method to retrieve the data; the node may also be deleted.
 
-     */
 
-     wxHashTable::Node* Next();
 
-     //@{
 
-     /**
 
-         Inserts data into the hash table, using an integer or string key (depending on
 
-         which has table constructor was used).
 
-         The key string is copied and stored by the hash table implementation.
 
-     */
 
-     void Put(long key, wxObject* object);
 
-     void Put(const char* key, wxObject* object);
 
-     //@}
 
- };
 
 
  |