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 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)
void _add_ref (void)
void _remove_ref (void)

Protected Member Functions

 TAO_Intrusive_Ref_Count_Base (void)

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 used to protect the atomic reference count data member.


Constructor & Destructor Documentation

template<typename T>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_Intrusive_Ref_Count_Base< T >::~TAO_Intrusive_Ref_Count_Base ( void   )  [inline, virtual]

template<typename T>
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_Intrusive_Ref_Count_Base< T >::TAO_Intrusive_Ref_Count_Base ( void   )  [inline, 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 ( void   )  [inline]

template<typename T>
ACE_INLINE void TAO_Intrusive_Ref_Count_Base< T >::_remove_ref ( void   )  [inline]

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 Mon Jun 25 16:39:50 2007 for TAO by  doxygen 1.5.2-2