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

Referenced.cpp

Go to the documentation of this file.
00001 #include "vrjGaPrecompiled.h"
00002 #include "Referenced.h"
00003 
00004 using namespace vrjGA;
00005 
00006 Referenced::Referenced(): _refCount(0)
00007 {
00008 }
00009 
00010 Referenced::~Referenced()
00011 {
00012 }
00013 
00014 void Referenced::ref()
00015 {
00016   ++_refCount;
00017 }
00018 
00019 void Referenced::unref()
00020 {
00021   if( 0==--_refCount )
00022     delete this;
00023 }
00024 
00025 
00026 namespace boost
00027 {
00028   void intrusive_ptr_add_ref(vrjGA::Referenced* ptr)
00029   {
00030     assert(ptr);
00031     ptr->ref();
00032   }
00033 
00034   void intrusive_ptr_release(vrjGA::Referenced* ptr)
00035   {
00036     assert(ptr);
00037     ptr->unref();
00038   }
00039 };

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