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