Rudiments
/home/dmuse/src/rudiments/include/rudiments/private/dictionarynodeinlines.h
00001 // Copyright (c) 2003 David Muse
00002 // See the COPYING file for more information
00003 
00004 #ifndef EXCLUDE_RUDIMENTS_TEMPLATE_IMPLEMENTATIONS
00005 
00006 #include <rudiments/private/rudimentsinlines.h>
00007 
00008 #ifdef RUDIMENTS_NAMESPACE
00009 namespace rudiments {
00010 #endif
00011 
00012 #define DICTIONARYNODE_TEMPLATE \
00013         template <class keytype, class datatype>
00014 
00015 #define DICTIONARYNODE_CLASS \
00016         dictionarynode<keytype,datatype>
00017 
00018 DICTIONARYNODE_TEMPLATE
00019 RUDIMENTS_TEMPLATE_INLINE
00020 DICTIONARYNODE_CLASS::dictionarynode() {
00021         key=0;
00022         data=0;
00023 }
00024 
00025 DICTIONARYNODE_TEMPLATE
00026 RUDIMENTS_TEMPLATE_INLINE
00027 DICTIONARYNODE_CLASS::~dictionarynode() {}
00028 
00029 DICTIONARYNODE_TEMPLATE
00030 RUDIMENTS_TEMPLATE_INLINE
00031 void DICTIONARYNODE_CLASS::setKey(keytype key) {
00032         this->key=key;
00033 }
00034 
00035 DICTIONARYNODE_TEMPLATE
00036 RUDIMENTS_TEMPLATE_INLINE
00037 void DICTIONARYNODE_CLASS::setData(datatype data) {
00038         this->data=data;
00039 }
00040 
00041 DICTIONARYNODE_TEMPLATE
00042 RUDIMENTS_TEMPLATE_INLINE
00043 keytype DICTIONARYNODE_CLASS::getKey() const {
00044         return key;
00045 }
00046 
00047 DICTIONARYNODE_TEMPLATE
00048 RUDIMENTS_TEMPLATE_INLINE
00049 datatype DICTIONARYNODE_CLASS::getData() const {
00050         return data;
00051 }
00052 
00053 DICTIONARYNODE_TEMPLATE
00054 RUDIMENTS_TEMPLATE_INLINE
00055 int32_t DICTIONARYNODE_CLASS::compare(keytype testkey) const {
00056         return keyutil.compare(key,testkey);
00057 }
00058 
00059 DICTIONARYNODE_TEMPLATE
00060 RUDIMENTS_TEMPLATE_INLINE
00061 void DICTIONARYNODE_CLASS::print() const {
00062         keyutil.print(key);
00063         printf(":");
00064         datautil.print(data);
00065 }
00066 
00067 #ifdef RUDIMENTS_NAMESPACE
00068 }
00069 #endif
00070 
00071 #endif