00001 #ifndef __J2K__DLink_CPP__
00002 #define __J2K__DLink_CPP__
00003
00004 #include <j2k/DataType/Link/DLink.hpp>
00005
00006
00007 DLink* DLink::freelist = NULL;
00008
00009 inline DLink::DLink()
00010 : element( ZERO ), next( NULL ), prev( NULL ) { }
00011
00012 inline DLink::DLink( DLink* nextp )
00013 : element( ZERO ), next( nextp ), prev( NULL ) { }
00014
00015 inline DLink::DLink( DLink* nextp, DLink* prevp )
00016 : next( nextp ), prev( prevp ) { }
00017
00018 inline DLink::DLink( Elem Elemval )
00019 : element( Elemval ), next( NULL ), prev( NULL ) { }
00020
00021 inline DLink::DLink( Elem Elemval, DLink* nextp )
00022 : element( Elemval ), next( nextp ), prev( NULL ) { }
00023
00024 inline DLink::DLink( Elem Elemval, DLink* nextp, DLink* prevp )
00025 : element( Elemval ), next( nextp ), prev( prevp ) { }
00026
00027 #if 0
00028
00029 void* DLink::operator new(size_t)
00030 {
00031 if (freelist == NULL)
00032 return ::new DLink;
00033
00034 DLink* temp = freelist;
00035 freelist = freelist->next;
00036 return temp;
00037 }
00038
00039 void DLink::operator delete(void* ptr)
00040 {
00041 ((DLink*)ptr)->next = freelist;
00042 freelist = (DLink*)ptr;
00043 }
00044
00045 #endif
00046
00047 #endif