29 const uint SDict_primes[] =
85 int compareValues(
const T *item1,
const T *item2)
const 87 return m_owner->compareValues(item1,item2);
111 SDict(
int size=17,
bool caseSensitive=TRUE) : m_sizeIndex(0)
115 while ((uint)size>SDict_primes[m_sizeIndex]) m_sizeIndex++;
116 m_dict =
new QDict<T>(SDict_primes[m_sizeIndex],caseSensitive);
118 m_dict =
new QDict<T>(size,caseSensitive);
138 m_dict->insert(key,d);
140 if (m_dict->size()>SDict_primes[m_sizeIndex])
142 m_dict->resize(SDict_primes[++m_sizeIndex]);
156 m_dict->insert(key,d);
158 if (m_dict->size()>SDict_primes[m_sizeIndex])
160 m_dict->resize(SDict_primes[++m_sizeIndex]);
166 bool remove(
const char *key)
168 T *item = m_dict->take(key);
169 return item ? m_list->remove(item) : FALSE;
175 T *item = m_dict->take(key);
178 int i = m_list->find(item);
200 m_dict->insert(key,d);
202 if (m_dict->size()>SDict_primes[m_sizeIndex])
204 m_dict->resize(SDict_primes[++m_sizeIndex]);
209 void insertAt(
int i,
const char *key,
const T *d)
212 m_dict->insert(key,d);
214 if (m_dict->size()>SDict_primes[m_sizeIndex])
216 m_dict->resize(SDict_primes[++m_sizeIndex]);
224 m_list->setAutoDelete(val);
234 return m_dict->find(key);
238 return m_dict->find(key);
242 return m_dict->find(key);
247 if (item==0)
return -1;
248 return m_list->find(item);
254 return m_dict->find(key);
260 return m_list->at(i);
286 return m_list->
count();
290 friend class Iterator;
314 return m_li->toFirst();
322 return m_li->toLast();
328 return m_li->current();
337 return m_li->operator++();
346 return m_li->operator--();
364 m_di =
new QDictIterator<T>(*dict.m_dict);
378 return m_di->toFirst();
386 return m_di->toLast();
392 return m_di->current();
398 return m_di->currentKey();
407 return m_di->operator++();
416 return m_di->operator--();
420 QDictIterator<T> *m_di;
434 int compareValues(
const T *item1,
const T *item2)
const 436 return m_owner->compareValues(item1,item2);
461 while ((uint)size>SDict_primes[m_sizeIndex]) m_sizeIndex++;
462 m_dict =
new QIntDict<T>(SDict_primes[m_sizeIndex]);
484 m_dict->insert(key,d);
486 if (m_dict->size()>SDict_primes[m_sizeIndex])
488 m_dict->resize(SDict_primes[++m_sizeIndex]);
502 m_dict->insert(key,d);
504 if (m_dict->size()>SDict_primes[m_sizeIndex])
506 m_dict->resize(SDict_primes[++m_sizeIndex]);
514 T *item = m_dict->take(key);
515 return item ? m_list->remove(item) : FALSE;
535 m_dict->insert(key,d);
537 if (m_dict->size()>SDict_primes[m_sizeIndex])
539 m_dict->resize(SDict_primes[++m_sizeIndex]);
547 m_list->setAutoDelete(val);
557 return m_dict->find(key);
563 return m_dict->find(key);
569 return m_list->at(i);
595 return m_list->
count();
599 friend class Iterator;
623 return m_li->toFirst();
631 return m_li->toLast();
637 return m_li->current();
646 return m_li->operator++();
655 return m_li->operator--();
687 return m_di->toFirst();
695 return m_di->toLast();
701 return m_di->current();
707 return m_di->currentKey();
716 return m_di->operator++();
725 return m_di->operator--();
729 QDictIterator<T> *m_di;
QCString currentKey() const
Definition: sortdict.h:396
void clear()
Definition: sortdict.h:276
T * operator++()
Definition: sortdict.h:405
T * operator[](const char *key) const
Definition: sortdict.h:252
SIntDict(int size=17)
Definition: sortdict.h:457
void prepend(const char *key, const T *d)
Definition: sortdict.h:153
T * operator--()
Definition: sortdict.h:653
virtual ~Iterator()
Definition: sortdict.h:613
Definition: sortdict.h:603
void inSort(const char *key, const T *d)
Definition: sortdict.h:197
Ordered dictionary of elements of type T.
Definition: sortdict.h:74
SDict(int size=17, bool caseSensitive=TRUE)
Definition: sortdict.h:111
int count() const
Definition: sortdict.h:284
T * find(int key)
Definition: sortdict.h:555
int count() const
Definition: sortdict.h:593
T * at(uint i)
Definition: sortdict.h:567
void setAutoDelete(bool val)
Definition: sortdict.h:545
virtual ~IteratorDict()
Definition: sortdict.h:677
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
T * toLast() const
Definition: sortdict.h:384
Iterator(const SDict< T > &dict)
Definition: sortdict.h:298
void append(const char *key, const T *d)
Definition: sortdict.h:135
T * toFirst() const
Definition: sortdict.h:376
virtual ~IteratorDict()
Definition: sortdict.h:368
virtual int compareValues(const T *item1, const T *item2) const
Definition: sortdict.h:576
void setAutoDelete(bool val)
Definition: sortdict.h:222
Ordered dictionary of elements of type T.
Definition: sortdict.h:73
virtual int compareValues(const T *item1, const T *item2) const
Definition: sortdict.h:267
T * operator++()
Definition: sortdict.h:644
T * current() const
Definition: sortdict.h:390
T * toLast() const
Definition: sortdict.h:693
void inSort(int key, const T *d)
Definition: sortdict.h:532
IteratorDict(const SDict< T > &dict)
Definition: sortdict.h:362
T * toFirst() const
Definition: sortdict.h:685
internal wrapper class that redirects compareValues() to the dictionary
Definition: sortdict.h:428
T * toFirst() const
Definition: sortdict.h:621
void clear()
Definition: sortdict.h:585
void clear()
Definition: qlist.h:82
T * toFirst() const
Definition: sortdict.h:312
void append(int key, const T *d)
Definition: sortdict.h:481
T * operator[](int key) const
Definition: sortdict.h:561
virtual ~SDict()
Definition: sortdict.h:123
Definition: sortdict.h:358
uint count() const
Definition: qlist.h:66
T * current() const
Definition: sortdict.h:635
void sort()
Definition: sortdict.h:522
T * take(const char *key)
Definition: sortdict.h:173
T * operator++()
Definition: sortdict.h:335
T * current() const
Definition: sortdict.h:326
T * operator++()
Definition: sortdict.h:714
T * operator--()
Definition: sortdict.h:414
virtual ~Iterator()
Definition: sortdict.h:304
void prepend(int key, const T *d)
Definition: sortdict.h:499
void sort()
Definition: sortdict.h:188
virtual ~SIntDict()
Definition: sortdict.h:469
T * toLast() const
Definition: sortdict.h:629
T * current() const
Definition: sortdict.h:699
void clear()
Definition: qintdict.h:67
Definition: qintdict.h:85
internal wrapper class that redirects compareValues() to the dictionary
Definition: sortdict.h:80
T * at(uint i)
Definition: sortdict.h:258
Iterator(const SIntDict< T > &dict)
Definition: sortdict.h:607
T * operator--()
Definition: sortdict.h:723
IteratorDict(const SIntDict< T > &dict)
Definition: sortdict.h:671
Definition: sortdict.h:294
Definition: sortdict.h:667
This is an alternative implementation of QCString.
Definition: qcstring.h:131
T * find(const char *key)
Definition: sortdict.h:232
int currentKey() const
Definition: sortdict.h:705
T * toLast() const
Definition: sortdict.h:320
T * operator--()
Definition: sortdict.h:344