OpenDDS  Snapshot(2023/04/07-19:43)
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
OpenDDS::DCPS::unique_ptr< T, Deleter > Class Template Reference

#include <unique_ptr.h>

Collaboration diagram for OpenDDS::DCPS::unique_ptr< T, Deleter >:
Collaboration graph
[legend]

Public Types

typedef T element_type
 
typedef Deleter deleter_type
 
typedef rv< unique_ptr > & rv_reference
 

Public Member Functions

 unique_ptr (T *p=0)
 
 unique_ptr (rv_reference other)
 
 ~unique_ptr ()
 
unique_ptroperator= (rv< unique_ptr > &other)
 
void reset (T *p=0)
 
T * release ()
 
T & operator* () const
 
T * operator-> () const
 
T * get () const
 
 operator bool () const
 
void swap (unique_ptr &b)
 
bool operator< (const unique_ptr &other) const
 

Private Member Functions

 unique_ptr (const unique_ptr &)
 
unique_ptroperator= (const unique_ptr &)
 

Private Attributes

T * ptr_
 

Detailed Description

template<typename T, typename Deleter = default_deleter<T>>
class OpenDDS::DCPS::unique_ptr< T, Deleter >

Definition at line 64 of file unique_ptr.h.

Member Typedef Documentation

◆ deleter_type

template<typename T, typename Deleter = default_deleter<T>>
typedef Deleter OpenDDS::DCPS::unique_ptr< T, Deleter >::deleter_type

Definition at line 67 of file unique_ptr.h.

◆ element_type

template<typename T, typename Deleter = default_deleter<T>>
typedef T OpenDDS::DCPS::unique_ptr< T, Deleter >::element_type

Definition at line 66 of file unique_ptr.h.

◆ rv_reference

template<typename T, typename Deleter = default_deleter<T>>
typedef rv<unique_ptr>& OpenDDS::DCPS::unique_ptr< T, Deleter >::rv_reference

Definition at line 73 of file unique_ptr.h.

Constructor & Destructor Documentation

◆ unique_ptr() [1/3]

template<typename T, typename Deleter = default_deleter<T>>
OpenDDS::DCPS::unique_ptr< T, Deleter >::unique_ptr ( T *  p = 0)
inlineexplicit

Definition at line 69 of file unique_ptr.h.

70  : ptr_(p)
71  {}

◆ unique_ptr() [2/3]

template<typename T, typename Deleter = default_deleter<T>>
OpenDDS::DCPS::unique_ptr< T, Deleter >::unique_ptr ( rv_reference  other)
inline

Definition at line 75 of file unique_ptr.h.

76  : ptr_(other.release())
77  {}

◆ ~unique_ptr()

template<typename T, typename Deleter = default_deleter<T>>
OpenDDS::DCPS::unique_ptr< T, Deleter >::~unique_ptr ( )
inline

Definition at line 79 of file unique_ptr.h.

80  {
81  Deleter()(ptr_);
82  }

◆ unique_ptr() [3/3]

template<typename T, typename Deleter = default_deleter<T>>
OpenDDS::DCPS::unique_ptr< T, Deleter >::unique_ptr ( const unique_ptr< T, Deleter > &  )
private

Member Function Documentation

◆ get()

template<typename T, typename Deleter = default_deleter<T>>
T* OpenDDS::DCPS::unique_ptr< T, Deleter >::get ( void  ) const
inline

Definition at line 113 of file unique_ptr.h.

Referenced by DCPS_IR_Participant::add_publication(), TAO_DDS_DCPSInfo_i::add_publication(), DCPS_IR_Participant::add_subscription(), TAO_DDS_DCPSInfo_i::add_subscription(), DCPS_IR_Domain::add_topic_description(), DCPS_IR_Domain::add_topic_i(), OpenDDS::DCPS::DataWriterImpl::association_complete_i(), OpenDDS::DCPS::RtpsUdpDataLink::bundle_and_send_submessages(), TAO_DDS_DCPSInfo_i::domain(), OpenDDS::DCPS::RtpsUdpSendStrategy::encode_payload(), OpenDDS::DCPS::DataWriterImpl::end_coherent_changes(), OpenDDS::RTPS::Sedp::Writer::end_historic_samples(), OpenDDS::XTypes::External< OpenDDS::XTypes::TypeIdentifier >::get(), OpenDDS::DCPS::DataDurabilityCache::get_data(), OpenDDS::DCPS::RecorderImpl::get_dynamic_data(), OpenDDS::DCPS::DataSampleElement::get_sample(), OpenDDS::DCPS::DataDurabilityCache::init(), OpenDDS::DCPS::DataDurabilityCache::insert(), OpenDDS::DCPS::TransportReplacedElement::msg(), OpenDDS::DCPS::TransportCustomizedElement::msg(), OpenDDS::DCPS::TransportControlElement::msg(), OpenDDS::DCPS::TransportRetainedElement::msg(), OpenDDS::DCPS::TransportSendControlElement::msg(), OpenDDS::DCPS::ReliableSession::nak_received(), OpenDDS::DCPS::ReliableSession::nakack_received(), OpenDDS::XTypes::External< OpenDDS::XTypes::TypeIdentifier >::operator->(), OpenDDS::DCPS::RtpsUdpSendStrategy::pre_send_packet(), OpenDDS::DCPS::DataWriterImpl::replay_durable_data_for(), OpenDDS::RTPS::Sedp::Writer::request_ack(), OpenDDS::DCPS::TcpDataLink::request_ack_received(), OpenDDS::DCPS::ShmemDataLink::send_association_msg(), OpenDDS::DCPS::TcpDataLink::send_association_msg(), OpenDDS::DCPS::ReliableSession::send_nakack(), OpenDDS::DCPS::MulticastSession::send_syn(), OpenDDS::DCPS::MulticastSession::send_synack(), OpenDDS::DCPS::DataWriterImpl::serialize_sample(), OpenDDS::DCPS::DataSampleHeader::split(), OpenDDS::DCPS::DataSampleHeader::split_payload(), OpenDDS::DCPS::DataReaderImpl_T< DynamicSample >::store_instance_data(), OpenDDS::DCPS::MulticastSession::syn_received(), OpenDDS::DCPS::MulticastDataLink::syn_received_no_session(), OpenDDS::DCPS::MulticastSession::synack_received(), and OpenDDS::DCPS::DataDurabilityCache::~DataDurabilityCache().

114  {
115  return ptr_;
116  }

◆ operator bool()

template<typename T, typename Deleter = default_deleter<T>>
OpenDDS::DCPS::unique_ptr< T, Deleter >::operator bool ( ) const
inline

Definition at line 118 of file unique_ptr.h.

119  {
120  return get() != 0;
121  }

◆ operator*()

template<typename T, typename Deleter = default_deleter<T>>
T& OpenDDS::DCPS::unique_ptr< T, Deleter >::operator* ( void  ) const
inline

Definition at line 103 of file unique_ptr.h.

104  {
105  return *get();
106  }

◆ operator->()

template<typename T, typename Deleter = default_deleter<T>>
T* OpenDDS::DCPS::unique_ptr< T, Deleter >::operator-> ( void  ) const
inline

Definition at line 108 of file unique_ptr.h.

109  {
110  return get();
111  }

◆ operator<()

template<typename T, typename Deleter = default_deleter<T>>
bool OpenDDS::DCPS::unique_ptr< T, Deleter >::operator< ( const unique_ptr< T, Deleter > &  other) const
inline

Definition at line 128 of file unique_ptr.h.

129  {
130  return ptr_ < other.ptr_;
131  }

◆ operator=() [1/2]

template<typename T, typename Deleter = default_deleter<T>>
unique_ptr& OpenDDS::DCPS::unique_ptr< T, Deleter >::operator= ( rv< unique_ptr< T, Deleter > > &  other)
inline

Definition at line 84 of file unique_ptr.h.

85  {
86  reset(other.release());
87  return *this;
88  }

◆ operator=() [2/2]

template<typename T, typename Deleter = default_deleter<T>>
unique_ptr& OpenDDS::DCPS::unique_ptr< T, Deleter >::operator= ( const unique_ptr< T, Deleter > &  )
private

◆ release()

template<typename T, typename Deleter = default_deleter<T>>
T* OpenDDS::DCPS::unique_ptr< T, Deleter >::release ( void  )
inline

◆ reset()

template<typename T, typename Deleter = default_deleter<T>>
void OpenDDS::DCPS::unique_ptr< T, Deleter >::reset ( T *  p = 0)
inline

◆ swap()

template<typename T, typename Deleter = default_deleter<T>>
void OpenDDS::DCPS::unique_ptr< T, Deleter >::swap ( unique_ptr< T, Deleter > &  b)
inline

Definition at line 123 of file unique_ptr.h.

Referenced by OpenDDS::DCPS::swap().

124  {
125  std::swap(ptr_, b.ptr_);
126  }
void swap(container_supported_unique_ptr< T > &lhs, container_supported_unique_ptr< T > &rhs)
Definition: unique_ptr.h:298

Member Data Documentation

◆ ptr_

template<typename T, typename Deleter = default_deleter<T>>
T* OpenDDS::DCPS::unique_ptr< T, Deleter >::ptr_
private

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