Rudiments
dictionarynodeinlines.h
1 // Copyright (c) 2003 David Muse
2 // See the COPYING file for more information
3 
4 #ifndef EXCLUDE_RUDIMENTS_TEMPLATE_IMPLEMENTATIONS
5 
6 #include <rudiments/private/rudimentsinlines.h>
7 
8 #ifdef RUDIMENTS_NAMESPACE
9 namespace rudiments {
10 #endif
11 
12 #define DICTIONARYNODE_TEMPLATE \
13  template <class keytype, class datatype>
14 
15 #define DICTIONARYNODE_CLASS \
16  dictionarynode<keytype,datatype>
17 
18 DICTIONARYNODE_TEMPLATE
19 RUDIMENTS_TEMPLATE_INLINE
20 DICTIONARYNODE_CLASS::dictionarynode() {
21  key=0;
22  data=0;
23 }
24 
25 DICTIONARYNODE_TEMPLATE
26 RUDIMENTS_TEMPLATE_INLINE
27 DICTIONARYNODE_CLASS::~dictionarynode() {}
28 
29 DICTIONARYNODE_TEMPLATE
30 RUDIMENTS_TEMPLATE_INLINE
31 void DICTIONARYNODE_CLASS::setKey(keytype key) {
32  this->key=key;
33 }
34 
35 DICTIONARYNODE_TEMPLATE
36 RUDIMENTS_TEMPLATE_INLINE
37 void DICTIONARYNODE_CLASS::setData(datatype data) {
38  this->data=data;
39 }
40 
41 DICTIONARYNODE_TEMPLATE
42 RUDIMENTS_TEMPLATE_INLINE
43 keytype DICTIONARYNODE_CLASS::getKey() const {
44  return key;
45 }
46 
47 DICTIONARYNODE_TEMPLATE
48 RUDIMENTS_TEMPLATE_INLINE
49 datatype DICTIONARYNODE_CLASS::getData() const {
50  return data;
51 }
52 
53 DICTIONARYNODE_TEMPLATE
54 RUDIMENTS_TEMPLATE_INLINE
55 int32_t DICTIONARYNODE_CLASS::compare(keytype testkey) const {
56  return keyutil.compare(key,testkey);
57 }
58 
59 DICTIONARYNODE_TEMPLATE
60 RUDIMENTS_TEMPLATE_INLINE
61 void DICTIONARYNODE_CLASS::print() const {
62  keyutil.print(key);
63  printf(":");
64  datautil.print(data);
65 }
66 
67 #ifdef RUDIMENTS_NAMESPACE
68 }
69 #endif
70 
71 #endif