Rudiments
/home/dmuse/src/rudiments/include/rudiments/private/linkedlistnodeinlines.h
00001 // Copyright (c) 2003 David Muse
00002 // See the COPYING file for more information
00003 
00004 #ifndef EXCLUDE_RUDIMENTS_TEMPLATE_IMPLEMENTATIONS
00005 
00006 #ifdef RUDIMENTS_HAVE_STDLIB_H
00007         #include <stdlib.h>
00008 #endif
00009 
00010 #include <rudiments/private/rudimentsinlines.h>
00011 
00012 #ifdef RUDIMENTS_NAMESPACE
00013 namespace rudiments {
00014 #endif
00015 
00016 #define LINKEDLISTNODE_TEMPLATE template <class datatype>
00017 
00018 #define LINKEDLISTNODE_CLASS linkedlistnode<datatype>
00019 
00020 LINKEDLISTNODE_TEMPLATE
00021 RUDIMENTS_TEMPLATE_INLINE
00022 LINKEDLISTNODE_CLASS::linkedlistnode() {
00023         data=0;
00024         previous=NULL;
00025         next=NULL;
00026 }
00027 
00028 LINKEDLISTNODE_TEMPLATE
00029 RUDIMENTS_TEMPLATE_INLINE
00030 LINKEDLISTNODE_CLASS::~linkedlistnode() {
00031 }
00032 
00033 LINKEDLISTNODE_TEMPLATE
00034 RUDIMENTS_TEMPLATE_INLINE
00035 void LINKEDLISTNODE_CLASS::setData(datatype data) {
00036         this->data=data;
00037 }
00038 
00039 LINKEDLISTNODE_TEMPLATE
00040 RUDIMENTS_TEMPLATE_INLINE
00041 datatype LINKEDLISTNODE_CLASS::getData() const {
00042         return data;
00043 }
00044 
00045 LINKEDLISTNODE_TEMPLATE
00046 RUDIMENTS_TEMPLATE_INLINE
00047 void LINKEDLISTNODE_CLASS::setPrevious(LINKEDLISTNODE_CLASS *previous) {
00048         this->previous=previous;
00049 }
00050 
00051 LINKEDLISTNODE_TEMPLATE
00052 RUDIMENTS_TEMPLATE_INLINE
00053 void LINKEDLISTNODE_CLASS::setNext(LINKEDLISTNODE_CLASS *next) {
00054         this->next=next;
00055 }
00056 
00057 LINKEDLISTNODE_TEMPLATE
00058 RUDIMENTS_TEMPLATE_INLINE
00059 LINKEDLISTNODE_CLASS *LINKEDLISTNODE_CLASS::getPrevious() {
00060         return previous;
00061 }
00062 
00063 LINKEDLISTNODE_TEMPLATE
00064 RUDIMENTS_TEMPLATE_INLINE
00065 LINKEDLISTNODE_CLASS *LINKEDLISTNODE_CLASS::getNext() {
00066         return next;
00067 }
00068 
00069 LINKEDLISTNODE_TEMPLATE
00070 RUDIMENTS_TEMPLATE_INLINE
00071 int32_t LINKEDLISTNODE_CLASS::compare(datatype data) const {
00072         return datautil.compare(this->data,data);
00073 }
00074 
00075 LINKEDLISTNODE_TEMPLATE
00076 RUDIMENTS_TEMPLATE_INLINE
00077 void LINKEDLISTNODE_CLASS::print() const {
00078         datautil.print(data);
00079 }
00080 
00081 #ifdef RUDIMENTS_NAMESPACE
00082 }
00083 #endif
00084 
00085 #endif