| 
    TAO_AnyTypeCode
    2.0.8
    
   
   | 
  
  
  
 
True reference counting policy. More...
#include <True_RefCount_Policy.h>

Public Member Functions | |
| void | add_ref (void) | 
| Increase the reference count on this object.   | |
| void | remove_ref (void) | 
| Decrease the reference count on this object.   | |
Protected Member Functions | |
| True_RefCount_Policy (void) | |
| Constructor.   | |
| virtual | ~True_RefCount_Policy (void) | 
| Destructor.   | |
Private Attributes | |
| ACE_Atomic_Op< TAO_SYNCH_MUTEX,  unsigned long >  | refcount_ | 
| Reference counter.   | |
True reference counting policy.
This class is intended to be used as a "policy" argument to a host class template that requires true/functional reference counting. That class would then inherit privately from it like so:
template <class RefCountPolicy> class MyHostClass : private RefCountPolicy { public: void my_add_ref (void) { this->RefCountPolicy::add_ref (); } void my_remove_ref (void) { this->RefCountPolicy::remove_ref (); } };
and use it like so:
typedef MyHostClass<TAO::True_RefCount_Policy> MyRefCountedClass; MyRefCountedClass * p = new MyRefCountedClass; ... p->my_remove_ref ();
operator delete() directly on the host class object. | TAO::True_RefCount_Policy::True_RefCount_Policy | ( | void | ) |  [protected] | 
        
Constructor.
| TAO::True_RefCount_Policy::~True_RefCount_Policy | ( | void | ) |  [protected, virtual] | 
        
Destructor.
remove_ref() calls operator delete this. | void TAO::True_RefCount_Policy::add_ref | ( | void | ) | 
Increase the reference count on this object.
| void TAO::True_RefCount_Policy::remove_ref | ( | void | ) | 
Decrease the reference count on this object.
Decrease the reference count on this object. Once the reference count drops to zero, call operator delete() on this object. 
ACE_Atomic_Op<TAO_SYNCH_MUTEX, unsigned long> TAO::True_RefCount_Policy::refcount_ [private] | 
        
Reference counter.
 1.7.5.1