74 {
75
76 int ihash=hash(str);
77
78 typedef std::string* EvtStringPtr;
79 typedef T* TPtr;
80
81 std::string** newstrings=new EvtStringPtr[_entries[ihash]+1];
82 T** newdata=new TPtr[_entries[ihash]+1];
83
84 int i;
85
86 for(i=0;i<_entries[ihash];i++){
87 newstrings[i]=_strings[ihash][i];
88 newdata[i]=_data[ihash][i];
89 }
90
91 newstrings[_entries[ihash]]=new std::string;
92 *(newstrings[_entries[ihash]])=str;
93 newdata[_entries[ihash]]=data;
94
95
96 if(_entries[ihash]!=0){
97 delete [] _strings[ihash];
98 delete [] _data[ihash];
99 }
100
101 _entries[ihash]++;
102
103 _strings[ihash]=newstrings;
104 _data[ihash]=newdata;
105
106}