30 #ifdef CONTAINER_STATS
42 #ifdef CONTAINER_STATS
44 mUsedRam+=
sizeof(Container);
55 #ifdef CONTAINER_STATS
57 mUsedRam+=
sizeof(Container);
69 #ifdef CONTAINER_STATS
71 mUsedRam+=
sizeof(Container);
84 #ifdef CONTAINER_STATS
86 mUsedRam-=GetUsedRam();
99 #ifdef CONTAINER_STATS
100 mUsedRam-=mMaxNbEntries*
sizeof(
udword);
103 mCurNbEntries = mMaxNbEntries = 0;
116 #ifdef CONTAINER_STATS
118 mUsedRam-=mMaxNbEntries*
sizeof(
udword);
122 mMaxNbEntries = mMaxNbEntries ?
udword(
float(mMaxNbEntries)*mGrowthFactor) : 2;
123 if(mMaxNbEntries<mCurNbEntries + needed) mMaxNbEntries = mCurNbEntries + needed;
129 #ifdef CONTAINER_STATS
131 mUsedRam+=mMaxNbEntries*
sizeof(
udword);
135 if(mCurNbEntries)
CopyMemory(NewEntries, mEntries, mCurNbEntries*
sizeof(
udword));
141 mEntries = NewEntries;
159 if(!nb)
return false;
165 mEntries =
new udword[mMaxNbEntries];
168 #ifdef CONTAINER_STATS
170 mUsedRam+=mMaxNbEntries*
sizeof(
udword);
183 #ifdef CONTAINER_STATS
185 mUsedRam-=mMaxNbEntries*
sizeof(
udword);
189 mMaxNbEntries = mCurNbEntries;
190 if(!mMaxNbEntries)
return false;
196 #ifdef CONTAINER_STATS
198 mUsedRam+=mMaxNbEntries*
sizeof(
udword);
208 mEntries = NewEntries;
229 if(mEntries[
i]==entry)
251 if(mEntries[
i]==entry)
274 if(mEntries[
i]==entry)
279 for(
udword j=
i;j<mCurNbEntries;j++)
281 mEntries[j] = mEntries[j+1];
300 if(Contains(entry, &Location))
303 if(Location==mCurNbEntries) Location = find_mode==
FIND_WRAP ? 0 : mCurNbEntries-1;
304 entry = mEntries[Location];
320 if(Contains(entry, &Location))
323 if(Location==0xffffffff) Location = find_mode==
FIND_WRAP ? mCurNbEntries-1 : 0;
324 entry = mEntries[Location];
337 return sizeof(Container) + mMaxNbEntries *
sizeof(
udword);