TAO_Intrusive_Ref_Count_Base< ACE_LOCK > Class Template Reference

Template base class to provide intrusive reference-counting to subclasses. This makes the subclass capable of using a TAO_Intrusive_Ref_Count_Handle<X> class as a smart-pointer to an X object. In this case, X is a sub-class of this class, TAO_Intrusive_Ref_Count_Base<ACE_LOCK>. The ACE_LOCK type is the mutex type used to protect the atomic reference count data member. More...

#include <Intrusive_Ref_Count_Base_T.h>

Collaboration diagram for TAO_Intrusive_Ref_Count_Base< ACE_LOCK >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~TAO_Intrusive_Ref_Count_Base ()
void _add_ref ()
void _remove_ref ()

Protected Member Functions

 TAO_Intrusive_Ref_Count_Base ()

Private Member Functions

 TAO_Intrusive_Ref_Count_Base (const TAO_Intrusive_Ref_Count_Base &)
TAO_Intrusive_Ref_Count_Baseoperator= (const TAO_Intrusive_Ref_Count_Base &)

Private Attributes

ACE_Atomic_Op< ACE_LOCK, long > ref_count_

Detailed Description

template<class ACE_LOCK>
class TAO_Intrusive_Ref_Count_Base< ACE_LOCK >

Template base class to provide intrusive reference-counting to subclasses. This makes the subclass capable of using a TAO_Intrusive_Ref_Count_Handle<X> class as a smart-pointer to an X object. In this case, X is a sub-class of this class, TAO_Intrusive_Ref_Count_Base<ACE_LOCK>. The ACE_LOCK type is the mutex type used to protect the atomic reference count data member.


Constructor & Destructor Documentation

template<typename T>
TAO_Intrusive_Ref_Count_Base< T >::~TAO_Intrusive_Ref_Count_Base  )  [virtual]
 

template<typename T>
ACE_INLINE TAO_Intrusive_Ref_Count_Base< T >::TAO_Intrusive_Ref_Count_Base  )  [protected]
 

template<class ACE_LOCK>
TAO_Intrusive_Ref_Count_Base< ACE_LOCK >::TAO_Intrusive_Ref_Count_Base const TAO_Intrusive_Ref_Count_Base< ACE_LOCK > &   )  [private]
 


Member Function Documentation

template<typename T>
ACE_INLINE void TAO_Intrusive_Ref_Count_Base< T >::_add_ref  ) 
 

template<typename T>
ACE_INLINE void TAO_Intrusive_Ref_Count_Base< T >::_remove_ref  ) 
 

template<class ACE_LOCK>
TAO_Intrusive_Ref_Count_Base& TAO_Intrusive_Ref_Count_Base< ACE_LOCK >::operator= const TAO_Intrusive_Ref_Count_Base< ACE_LOCK > &   )  [private]
 


Member Data Documentation

template<class ACE_LOCK>
ACE_Atomic_Op<ACE_LOCK, long> TAO_Intrusive_Ref_Count_Base< ACE_LOCK >::ref_count_ [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Nov 23 16:02:57 2005 for TAO by  doxygen 1.4.5