Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

Referenced.h

Go to the documentation of this file.
00001 #ifndef _VRJGA_REFERENCED_
00002 #define _VRJGA_REFERENCED_
00003 
00004 #include "vrjGA.h"
00005 
00006 #include "boost/intrusive_ptr.hpp"
00007 
00008 namespace vrjGA
00009 {
00010 
00011   class VRJ_GA_EXPORT Referenced
00012   {
00013   public:
00014     void ref();
00015     void unref();
00016 
00017   protected:
00018     Referenced();
00019     virtual ~Referenced();
00020 
00021   private:
00022     unsigned int _refCount;
00023   };
00024 
00025 };
00026 
00027 namespace boost
00028 {
00029   void VRJ_GA_EXPORT intrusive_ptr_add_ref(vrjGA::Referenced*);
00030   void VRJ_GA_EXPORT intrusive_ptr_release(vrjGA::Referenced*);
00031 };
00032 
00033 #define VRJGA_DECLARE_POINTER(classname) \
00034   typedef boost::intrusive_ptr<classname> Ptr
00035 
00036 
00037 #endif

Generated on Thu Aug 12 16:42:14 2004 for vrjGA by doxygen 1.3.5