Advertisement
Tyler_Elric

SmartObject.h

Dec 21st, 2011
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.68 KB | None | 0 0
  1. #ifndef __SmartObject_class__h
  2. #define __SmartObject_class__h
  3.  
  4. #ifndef SmartObject_Debug
  5. #define SmartObject_Debug 0
  6. #endif
  7.  
  8. class SmartObject{
  9.     protected:
  10.         unsigned int mRefCount;
  11.     private:
  12.         SmartObject* createReference();
  13.         unsigned int mID;
  14.     public:
  15.         static unsigned int gIDList;
  16.         SmartObject();
  17.         virtual ~SmartObject();
  18.         unsigned int ID();
  19.         class Reference{
  20.             private:
  21.                 SmartObject* referenceTo;
  22.             public:
  23.                 void* operator new [] ( size_t );
  24.                 Reference( SmartObject* );
  25.                 Reference( Reference& );
  26.                 Reference( void );
  27.                 Reference& operator = ( SmartObject* );
  28.                 Reference& operator = ( Reference& );
  29.                 ~Reference();
  30.                 SmartObject& operator () ();
  31.         };
  32. };
  33. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement