00001 // -*- C++ -*- 00002 // 00003 // $Id: True_RefCount_Policy.inl 69182 2005-11-03 17:38:46Z ossama $ 00004 00005 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00006 00007 ACE_INLINE 00008 TAO::True_RefCount_Policy::True_RefCount_Policy (void) 00009 : refcount_ (1) 00010 { 00011 } 00012 00013 ACE_INLINE void 00014 TAO::True_RefCount_Policy::add_ref (void) 00015 { 00016 ++this->refcount_; 00017 } 00018 00019 ACE_INLINE void 00020 TAO::True_RefCount_Policy::remove_ref (void) 00021 { 00022 const unsigned long new_count = --this->refcount_; 00023 00024 if (new_count == 0) 00025 delete this; 00026 } 00027 00028 TAO_END_VERSIONED_NAMESPACE_DECL