Buffer.cpp
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:1k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. // Buffer.cpp: implementation of the CBuffer1 class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "Buffer.h"
  5. #include <memory.h>
  6. //////////////////////////////////////////////////////////////////////
  7. // Construction/Destruction
  8. //////////////////////////////////////////////////////////////////////
  9. CBuffer::CBuffer( )
  10. {
  11. this->buffer = NULL ;
  12. this->size = 0;
  13. }
  14. CBuffer::CBuffer( int s )
  15. {
  16. this->buffer = NULL ;
  17. this->Resize( s );
  18. }
  19. CBuffer::CBuffer( const char * buffer , int size )
  20. {
  21. this->buffer = NULL;
  22. this->Resize( size );
  23. memcpy( this->buffer , buffer , size );
  24. }
  25. const CBuffer & CBuffer::operator =( const CBuffer & b )
  26. {
  27. this->Resize( b.size );
  28. memcpy( this->buffer , b.buffer , b.size );
  29. return * this;
  30. }
  31. CBuffer::~CBuffer( )
  32. {  
  33. this->Release( );
  34. }
  35. void CBuffer::Resize( int size )
  36. {
  37. this->Release( );
  38. if( size > 0 )
  39. {
  40. this->size = size;
  41.         this->buffer = new char[ size ];
  42. }
  43. }
  44. void CBuffer::Release( void )
  45. {
  46. if( this->buffer )
  47. {
  48. try
  49. {
  50. delete [ ]this->buffer; this->buffer = NULL;
  51. }
  52. catch( ... )
  53. {
  54. }
  55. this->size = 0;
  56. }
  57. }