4 #ifndef RUDIMENTS_DICTIONARY_H
5 #define RUDIMENTS_DICTIONARY_H
7 #include <rudiments/private/dictionaryincludes.h>
9 #ifdef RUDIMENTS_NAMESPACE
15 template <
class keytype,
class datatype>
27 void setKey(keytype key);
30 void setData(datatype data);
33 keytype getKey()
const;
36 datatype getData()
const;
41 int32_t compare(keytype testkey)
const;
47 #include <rudiments/private/dictionarynode.h>
50 template <
class keytype,
class datatype>
54 template <
class keytype,
class datatype>
56 public linkedlist< dictionarynode<keytype,datatype> *,
57 dictionarylistnode<keytype,datatype> > {};
68 template <
class keytype,
class datatype,
86 void setData(keytype key, datatype data);
91 bool getData(keytype key, datatype *data);
96 bool removeData(keytype key);
99 dictionarylisttype *getList();
107 #include <rudiments/private/dictionary.h>
110 template <
class datatype>
117 template <
class datatype>
124 template <
class datatype>
130 template <
class datatype>
132 stringdictionarynode<datatype>,
133 stringdictionarylistnode<datatype>,
134 stringdictionarylist<datatype> > {
139 template <
class datatype>
146 template <
class datatype>
153 template <
class datatype>
160 template <
class datatype>
162 conststringdictionarynode<datatype>,
163 conststringdictionarylistnode<datatype>,
164 conststringdictionarylist<datatype> > {
169 template <
class datatype>
176 template <
class datatype>
183 template <
class datatype>
189 template <
class datatype>
191 numericdictionarynode<datatype>,
192 numericdictionarylistnode<datatype>,
193 numericdictionarylist<datatype> > {
212 #ifdef RUDIMENTS_NAMESPACE
216 #include <rudiments/private/dictionarynodeinlines.h>
217 #include <rudiments/private/dictionaryinlines.h>