OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T > Class Template Reference

#include <unique_ptr.h>

Collaboration diagram for OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >:
Collaboration graph
[legend]

List of all members.

Protected Member Functions

 EnableContainerSupportedUniquePtr ()

Private Member Functions

void _add_ref ()
void _remove_ref ()
long ref_count () const

Private Attributes

ACE_Atomic_Op< ACE_SYNCH_MUTEX,
long > 
ref_count_

Friends

class container_supported_unique_ptr
template<typename U >
unique_ptr< U >::rv_reference move (container_supported_unique_ptr< U > &ptr)

Detailed Description

template<typename T>
class OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >

Definition at line 305 of file unique_ptr.h.


Constructor & Destructor Documentation

template<typename T>
OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::EnableContainerSupportedUniquePtr (  )  [inline, protected]

Definition at line 307 of file unique_ptr.h.

00308     : ref_count_(1)
00309   {
00310   }


Member Function Documentation

template<typename T>
void OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::_add_ref ( void   )  [inline, private]

Definition at line 318 of file unique_ptr.h.

00318                   {
00319     ++this->ref_count_;
00320   }

template<typename T>
void OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::_remove_ref ( void   )  [inline, private]

Definition at line 322 of file unique_ptr.h.

00322                     {
00323     const long new_count = --this->ref_count_;
00324 
00325     if (new_count == 0) {
00326       delete static_cast<T*>(this);
00327     }
00328   }

template<typename T>
long OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::ref_count (  )  const [inline, private]

Definition at line 329 of file unique_ptr.h.

00329 { return ref_count_.value(); }


Friends And Related Function Documentation

template<typename T>
friend class container_supported_unique_ptr [friend]

Definition at line 313 of file unique_ptr.h.

template<typename T>
template<typename U >
unique_ptr<U>::rv_reference move ( container_supported_unique_ptr< U > &  ptr  )  [friend]

Member Data Documentation

template<typename T>
ACE_Atomic_Op<ACE_SYNCH_MUTEX, long> OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::ref_count_ [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1