Rudiments
|
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