35 template <
class type_t>
43 template <
class type_t>
48 for (ptr = p.
root; ptr != NULL; ptr = ptr->
next)
53 template <
class type_t>
59 template <
class type_t>
72 template <
class type_t>
75 if (root) root->
prev = entry;
76 entry->
key = strdup (n);
81 if (!last) last = root;
86 template <
class type_t>
89 entry->
key = strdup (n);
94 for (p = root; p->
next != NULL; p = p->
next) ;
107 template <
class type_t>
110 append (ptr->key,
new type_t (*(ptr->value)));
114 template <
class type_t>
120 template <
class type_t>
125 if (!strcmp (p->key, n)) {
128 if (root) root->
prev = NULL;
134 if (p == last) last = p->
prev;
142 template <
class type_t>
146 if (!strcmp (p->key, n)) count++;
152 template <
class type_t>
155 if (!strcmp (p->key, n))
return p->value;
161 template <
class type_t>
169 template <
class type_t>
174 template <
class type_t>
176 return _valuelist->size;
180 template <
class type_t>
182 _current = _first = _valuelist->root;
183 return _current ? _current->key : NULL;
187 template <
class type_t>
189 _current = _last = _valuelist->last;
190 return _current ? _current->key : NULL;
194 template <
class type_t>
196 _current = _current->next;
197 return _current ? _current->key : NULL;
201 template <
class type_t>
203 _current = _current->prev;
204 return _current ? _current->key : NULL;
208 template <
class type_t>
210 return _current ? _current->key : NULL;
214 template <
class type_t>
220 template <
class type_t>
222 return _current ? _current->value : NULL;
226 template <
class type_t>
228 return _first ? _first->key : NULL;
232 template <
class type_t>
234 return _last ? _last->key : NULL;
type_t * currentVal(void)
valuelistiterator(valuelist< type_t > &)
valentry< type_t > * root
void add(const char *, type_t *)
void append(char *, type_t *)
type_t * get(const char *)