OpenDDS  Snapshot(2023/04/07-19:43)
Protected Member Functions | Private Attributes | Friends | List of all members
OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T > Class Template Reference

#include <unique_ptr.h>

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

Protected Member Functions

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

Private Attributes

Atomic< long > ref_count_
 

Friends

template<typename U >
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 304 of file unique_ptr.h.

Constructor & Destructor Documentation

◆ EnableContainerSupportedUniquePtr()

Definition at line 306 of file unique_ptr.h.

307  : ref_count_(1)
308  {
309  }

Member Function Documentation

◆ _add_ref()

template<typename T>
void OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::_add_ref ( void  )
inlineprotected

Definition at line 317 of file unique_ptr.h.

317  {
318  ++ref_count_;
319  }

◆ _remove_ref()

template<typename T>
void OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::_remove_ref ( void  )
inlineprotected

Definition at line 321 of file unique_ptr.h.

321  {
322  const long new_count = --ref_count_;
323 
324  if (new_count == 0) {
325  delete static_cast<T*>(this);
326  }
327  }

◆ ref_count()

template<typename T>
long OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::ref_count ( ) const
inlineprotected

Definition at line 328 of file unique_ptr.h.

Friends And Related Function Documentation

◆ container_supported_unique_ptr

template<typename T>
template<typename U >
friend class container_supported_unique_ptr
friend

Definition at line 312 of file unique_ptr.h.

◆ move

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

Member Data Documentation

◆ ref_count_

template<typename T>
Atomic<long> OpenDDS::DCPS::EnableContainerSupportedUniquePtr< T >::ref_count_
private

The documentation for this class was generated from the following file: