1 /* 2 * (c) Oleg Puchinin 2012 3 * graycardinalster@gmail.com 4 * 5 */ 6 7 #ifndef DEFINE_DHASH_H 8 #define DEFINE_DHASH_H 9 class DHash 10 { 11 public: 12 DHash (int asize = 256); 13 ~DHash (); 14 bool set (char * KEY, char * DATA, int TYPE = DHASH_LPCHAR); 15 bool set (char * KEY, long DATA, int TYPE = DHASH_INT); 16 char * get (char * KEY); 17 char * del (char * KEY); get_keys()18 inline char ** get_keys () { return keys; } get_values()19 inline char ** get_values () { return values; } get_types()20 inline int * get_types () { return types; } get_size()21 inline int get_size () { return size; } 22 void foreach (Dhash_f func); 23 int from_file (char *f_name); 24 25 private: 26 char ** keys; 27 char ** values; 28 int * types; 29 int size; 30 }; 31 32 #endif 33 34