#include <unique_ptr.h>
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) |
Definition at line 305 of file unique_ptr.h.
OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::EnableContainerSupportedUniquePtr | ( | ) | [inline, protected] |
Definition at line 307 of file unique_ptr.h.
00308 : ref_count_(1) 00309 { 00310 }
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 }
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 }
long OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::ref_count | ( | ) | const [inline, private] |
Definition at line 329 of file unique_ptr.h.
00329 { return ref_count_.value(); }
friend class container_supported_unique_ptr [friend] |
Definition at line 313 of file unique_ptr.h.
unique_ptr<U>::rv_reference move | ( | container_supported_unique_ptr< U > & | ptr | ) | [friend] |
ACE_Atomic_Op<ACE_SYNCH_MUTEX, long> OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::ref_count_ [private] |
Definition at line 330 of file unique_ptr.h.
Referenced by OpenDDS::DCPS::EnableContainerSupportedUniquePtr< DCPS_IR_Domain >::_add_ref(), OpenDDS::DCPS::EnableContainerSupportedUniquePtr< DCPS_IR_Domain >::_remove_ref(), and OpenDDS::DCPS::EnableContainerSupportedUniquePtr< DCPS_IR_Domain >::ref_count().