|
Go to the documentation of this file.
33 const Name nstr (str);
54 char* tmp = &( mem[idx]);
55 memused += int(strlen(str)) + 1;
58 *( set.create(p_key)) = idx;
66 for ( int i = 0; i < p_set. num(); ++i)
76 for ( int i = 0; i < p_set. num(); ++i)
80 add(p_key[i], p_set[i]);
106 for ( int i = 0; i < n; ++i)
112 for ( int i = 0; i < n; ++i)
118 for( int i = 0; i < set.num(); i++)
151 for ( int i = num() - 1; i >= 0; --i)
165 for(i = 0; i < num(); i++)
167 const char* t = & mem[ set[i]];
168 strcpy(&newmem[newlast], t);
170 newlast += int(strlen(t)) + 1;
172 memcpy( mem, newmem, static_cast<size_t>(newlast));
179 for (i = 0; i < num(); i++)
186 unsigned int res = 37;
187 const char* sptr = str-> name;
192 res += ( unsigned int) (*sptr++);
204 if ( max() < rhs.size())
206 if ( memMax() < rhs.memSize())
212 for ( int i = 0; i < set.num(); ++i)
214 Name iname( set[i].name);
215 DataKey ikey = DataKey( set. key(i));
226 , hashtab(org.hashtab)
228 , memFactor(org.memFactor)
231 memmax = org.memSize();
236 for ( int i = 0; i < set.num(); ++i)
238 list.append(&( set[i]));
240 DataKey k = DataKey( set.key(i));
241 hashtab.add(iname, k);
247 NameSet::NameSet( int p_max, int mmax, Real fac, Real memFac)
255 memmax = (mmax < 1) ? (8 * set. max() + 1) : mmax;
266 #ifdef ENABLE_CONSISTENCY_CHECKS
272 for(i = 0; i < num(); i++)
274 const char* t = & mem[ set[i]];
279 if (strcmp(t, operator[]( key(t))))
282 return set.isConsistent() && hashtab.isConsistent();
290 for( int i = 0; i < nset. num(); i++)
294 << nset. key(i). idx << "= "
|