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

C:/temp/src/j2k/Deprecated/old_18mar_diff/nto/Buffer.cpp

Go to the documentation of this file.
00001 #ifndef __J2K__Buffer_CPP__
00002 #define __J2K__Buffer_CPP__
00003 
00004 #include <j2k/nto/Buffer.hpp>
00005 
00006 Buffer::Buffer( size_t sz = 80, const char* src = NULL ) 
00007   : size( sz+1 ), buffer( NULL )
00008 {
00009   if ( sz < 2 ) size = 1;
00010 
00011   buffer = new char[ size ];
00012 
00013   if ( buffer == NULL )
00014   {
00015     printf( "Memory couldn't be allocated !" );
00016     exit( 1 );
00017   }
00018 
00019   memset( buffer, 0, size );
00020 
00021   if ( src != NULL )
00022     memcpy( buffer, src, size );
00023 }
00024 
00025 Buffer::Buffer( const Buffer& src )
00026  : size( src.size ), buffer( NULL )
00027 {
00028   buffer = new char[ src.size ];
00029   memset( buffer, 0, src.size );
00030  
00031   if ( src.buffer != NULL )
00032     memcpy( buffer, src.buffer, src.size );
00033 }
00034 
00035 const Buffer& Buffer::operator= ( const Buffer& src )
00036 {
00037  size = src.size;
00038        
00039  if ( buffer != NULL ) delete[] buffer;
00040 
00041  buffer = NULL;
00042  buffer = new char[ src.size + 1 ];
00043 
00044  if ( buffer == NULL )
00045  {
00046    printf( "Memory couldn't be allocated !" );
00047    exit( 1 );
00048  }
00049 
00050  memset( buffer, 0, src.size );
00051  
00052  if ( src.buffer != NULL )
00053    memcpy( buffer, src.buffer, src.size );
00054 }
00055 
00056 Buffer::~Buffer() 
00057 {
00058   if ( buffer != NULL ) delete[] buffer;
00059 }
00060 
00061 #endif

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