Changed private pointers to char* from void* since void* math is
[dyninst.git] / common / h / stringPool.h
1 /*
2  * 
3  * $Log: stringPool.h,v $
4  * Revision 1.4  1994/09/22 03:17:00  markc
5  * Changed private pointers to char* from void* since void* math is
6  * illegal for ANSI
7  *
8  * Revision 1.3  1994/09/02  10:43:58  markc
9  * Moved typedef for stringHandle outside of stringPool.h
10  *
11  * Revision 1.2  1994/08/05  16:01:54  hollings
12  * More consistant use of stringHandle vs. char *.
13  *
14  * Revision 1.1  1994/01/25  20:49:42  hollings
15  * First real version of utility library.
16  *
17  * Revision 1.1  1992/08/03  20:45:54  hollings
18  * Initial revision
19  *
20  *
21  */
22
23 #ifndef STRINGPOOL_H
24 #define STRINGPOOL_H
25
26 #include "util/h/stringDecl.h"
27
28 #define TAB_SIZE 10004
29 #define PAGE_SIZE 4090
30
31 typedef struct _stringEntry {
32     char *data;
33     struct _stringEntry *next;
34 } stringEntry;
35
36 class stringPool {
37     public:
38         stringPool();
39         stringHandle find(const char *);
40         stringHandle findAndAdd(const char *);
41     private:
42         stringEntry *table[TAB_SIZE];
43         char *currPage;
44         char *currPos;
45         char *getSpace(int);
46 };
47
48 #endif /* STRINGPOOL_H */