chxmakesmartptr.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:1k
源码类别:

Symbian

开发平台:

C/C++

  1. /************************************************************************
  2.  * chxmakesmartptr.h
  3.  * -------------------
  4.  * Easy way of making smart pointers.
  5.  * 
  6.  * Target:
  7.  * Symbian OS
  8.  *
  9.  *
  10.  * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
  11.  *
  12.  ************************************************************************/
  13. // Includes...
  14. #include "chxsmartptr.h"
  15. #ifndef _chxmakesmartptr_h_
  16. #define _chxmakesmartptr_h_
  17. #define MakeSmartPtr(T)  
  18. class T ## Ptr : public CHXSmartPtr<T> {  
  19. public:  
  20.   T ## Ptr(T* p=(T*)0)  
  21.     : CHXSmartPtr<T>(p) {}  
  22.   T ## Ptr(const T ## Ptr& p)  
  23.       : CHXSmartPtr<T>(p)                 
  24.     {}  
  25.   T ## Ptr& operator=(T* p)  
  26.     {  
  27.       (void) CHXSmartPtr<T>::operator=(p);
  28.       return *this;  
  29.     }  
  30. };  
  31. #define MakeSmartCPtr(T)  
  32. class T ## CPtr : public CHXSmartCPtr<T> { 
  33. public:  
  34.   T ## CPtr(const T* p=(const T*)0)  
  35.     : CHXSmartCPtr<T>(p) {}  
  36.   T ## CPtr(const T ## CPtr& p)  
  37.       : CHXSmartCPtr<T>(p)                
  38.     {}  
  39.   T ## CPtr& operator=(const T* p)  
  40.     {  
  41.       (void) CHXSmartCPtr<T>::operator=(p);
  42.       return *this;  
  43.     }  
  44. };  
  45. #endif // _chxmakesmartptr_h_