Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/DataType/Link/DLink.cpp

Go to the documentation of this file.
00001 #ifndef __J2K__DLink_CPP__
00002 #define __J2K__DLink_CPP__
00003 
00004 #include <j2k/DataType/Link/DLink.hpp>
00005 
00006  // This is the freelist pointer.
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  // Redefine NEW and DELETE, so we can use a FreeList
00029  void* DLink::operator new(size_t)         // Overload new
00030  {
00031    if (freelist == NULL)                   // Create new space
00032      return ::new DLink; 
00033 
00034    DLink* temp = freelist;                 // Otherwise, get from freelist
00035    freelist = freelist->next;
00036    return temp;                            // Return the Link node
00037  }
00038 
00039  void DLink::operator delete(void* ptr)    // Overload delete
00040  {
00041    ((DLink*)ptr)->next = freelist;         // Put on freelist
00042    freelist = (DLink*)ptr;
00043  }
00044 
00045 #endif
00046 
00047 #endif

Generated on Sun Oct 14 18:46:17 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001