home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / StringHash.hxx < prev    next >
Text File  |  1996-05-31  |  1KB  |  46 lines

  1. /*---------------------------------------------------------------------------
  2.  *
  3.  *    (c)    Westmount Technology    1991
  4.  *
  5.  *    File:         @(#)StringHash.hxx    1.1    (1.1) (1.3)
  6.  *    Author:        sipi
  7.  *    Description:    declaration of Hashable class for strings
  8.  *---------------------------------------------------------------------------
  9.  SccsId = @(#)StringHash.hxx    1.1    (1.1) (1.3)\t09 Nov 1993 Copyright 1992 Westmount Technology */
  10.  
  11. #ifndef STRINGHASH_HXX
  12. #define STRINGHASH_HXX
  13.  
  14. #ifndef HASHTBL_HXX
  15. #include <HashTbl.hxx>
  16. #endif
  17.  
  18. #ifndef STRING_HXX
  19. #include <String.hxx>
  20. #endif
  21.  
  22. class StringHash: public Hashable {
  23.     private:
  24.     String key;
  25.  
  26.     public:
  27.     // Note: a copy is made of given strings
  28.     //
  29.     StringHash(const char *mykey) : key(mykey) {}
  30.     StringHash(const String &mykey);
  31.     ~StringHash();
  32.  
  33.     // Append extra text to the key
  34.     // Note: don't use this function after this object has been placed
  35.     //       in a hashtable
  36.     //
  37.     void        append_to_key(const char *extra) {key += extra;}
  38.  
  39.     unsigned    hash() const;
  40.     int        isEqual(const Hashable& otherkey) const;
  41.  
  42.     const String&    get_key() const {return key;}
  43. };
  44.  
  45. #endif
  46.