Moved the definitions of the << operator into the class declaration to
[dyninst.git] / common / h / stringPool.h
1 /*
2  * 
3  * $Log: stringPool.h,v $
4  * Revision 1.2  1994/08/05 16:01:54  hollings
5  * More consistant use of stringHandle vs. char *.
6  *
7  * Revision 1.1  1994/01/25  20:49:42  hollings
8  * First real version of utility library.
9  *
10  * Revision 1.1  1992/08/03  20:45:54  hollings
11  * Initial revision
12  *
13  *
14  */
15
16 #ifndef STRINGPOOL_H
17 #define STRINGPOOL_H
18
19 typedef void *stringHandle;
20
21 #define TAB_SIZE 10004
22 #define PAGE_SIZE 4090
23
24 typedef struct _stringEntry {
25     stringHandle data;
26     struct _stringEntry *next;
27 } stringEntry;
28
29 class stringPool {
30     public:
31         stringPool();
32         stringHandle find(char *);
33         stringHandle findAndAdd(char *);
34     private:
35         stringEntry *table[TAB_SIZE];
36         stringHandle head;
37         stringHandle currPage;
38         stringHandle currPos;
39         stringHandle getSpace(int);
40 };
41
42 #endif /* STRINGPOOL_H */