#include <RcHandle_T.h>
Public Member Functions | |
RcHandle () | |
RcHandle (T *p, keep_count) | |
template<typename U > | |
RcHandle (unique_ptr< U > p) | |
RcHandle (T *p, inc_count) | |
template<typename U > | |
RcHandle (const RcHandle< U > &other) | |
RcHandle (const RcHandle &b) | |
~RcHandle () | |
void | reset () |
template<typename U > | |
void | reset (T *p, U counting_strategy) |
RcHandle & | operator= (const RcHandle &b) |
template<class U > | |
RcHandle & | operator= (const RcHandle< U > &b) |
template<typename U > | |
RcHandle & | operator= (unique_ptr< U > b) |
void | swap (RcHandle &rhs) |
T * | operator-> () const |
T & | operator* () const |
bool | is_nil () const |
T * | in () const |
T * | get () const |
T *& | inout () |
T *& | out () |
T * | _retn () |
operator bool () const | |
bool | operator== (const RcHandle &rhs) const |
bool | operator!= (const RcHandle &rhs) const |
bool | operator< (const RcHandle &rhs) const |
Private Member Functions | |
void | bump_up () |
void | bump_down () |
Private Attributes | |
T * | ptr_ |
The actual "unsmart" pointer to the T object. |
Templated Reference counted handle to a pointer. A non-DDS specific helper class.
Definition at line 24 of file RcHandle_T.h.
OpenDDS::DCPS::RcHandle< T >::RcHandle | ( | ) | [inline] |
Definition at line 27 of file RcHandle_T.h.
00028 : ptr_(0) 00029 {}
OpenDDS::DCPS::RcHandle< T >::RcHandle | ( | T * | p, | |
keep_count | ||||
) | [inline] |
Definition at line 31 of file RcHandle_T.h.
00032 : ptr_(p) 00033 { 00034 }
OpenDDS::DCPS::RcHandle< T >::RcHandle | ( | unique_ptr< U > | p | ) | [inline] |
Definition at line 37 of file RcHandle_T.h.
00038 : ptr_(p.release()) 00039 { 00040 }
OpenDDS::DCPS::RcHandle< T >::RcHandle | ( | T * | p, | |
inc_count | ||||
) | [inline] |
Definition at line 43 of file RcHandle_T.h.
OpenDDS::DCPS::RcHandle< T >::RcHandle | ( | const RcHandle< U > & | other | ) | [inline] |
Definition at line 50 of file RcHandle_T.h.
OpenDDS::DCPS::RcHandle< T >::RcHandle | ( | const RcHandle< T > & | b | ) | [inline] |
Definition at line 56 of file RcHandle_T.h.
OpenDDS::DCPS::RcHandle< T >::~RcHandle | ( | ) | [inline] |
Definition at line 62 of file RcHandle_T.h.
00063 { 00064 this->bump_down(); 00065 }
T* OpenDDS::DCPS::RcHandle< T >::_retn | ( | void | ) | [inline] |
Definition at line 146 of file RcHandle_T.h.
Referenced by OpenDDS::DCPS::DomainParticipantFactoryImpl::create_participant(), OpenDDS::DCPS::SubscriberImpl::get_participant(), and OpenDDS::DCPS::PublisherImpl::get_participant().
void OpenDDS::DCPS::RcHandle< T >::bump_down | ( | ) | [inline, private] |
Definition at line 183 of file RcHandle_T.h.
Referenced by OpenDDS::DCPS::RcHandle< Directory >::out(), and OpenDDS::DCPS::RcHandle< Directory >::~RcHandle().
00184 { 00185 if (this->ptr_ != 0) { 00186 this->ptr_->_remove_ref(); 00187 this->ptr_ = 0; 00188 } 00189 }
void OpenDDS::DCPS::RcHandle< T >::bump_up | ( | ) | [inline, private] |
Definition at line 176 of file RcHandle_T.h.
Referenced by OpenDDS::DCPS::RcHandle< Directory >::RcHandle().
T* OpenDDS::DCPS::RcHandle< T >::get | ( | void | ) | const [inline] |
Definition at line 130 of file RcHandle_T.h.
Referenced by TAO_DDS_DCPSInfo_i::add_domain_participant(), and DCPS_IR_Domain::remove_participant().
00131 { 00132 return this->ptr_; 00133 }
T* OpenDDS::DCPS::RcHandle< T >::in | ( | void | ) | const [inline] |
Definition at line 125 of file RcHandle_T.h.
Referenced by OpenDDS::DCPS::TcpTransport::accept_datalink(), OpenDDS::DCPS::DataReaderImpl::accept_sample_processing(), OpenDDS::DCPS::RecorderImpl::add_association(), OpenDDS::DCPS::DataWriterRemoteImpl::add_association(), OpenDDS::DCPS::DataReaderRemoteImpl::add_association(), TAO_DDS_DCPSInfo_i::add_domain_participant(), DCPS_IR_Domain::add_participant(), OpenDDS::DCPS::DataWriterRemoteImpl::association_complete(), OpenDDS::DCPS::DataReaderRemoteImpl::association_complete(), OpenDDS::DCPS::ReplayerImpl::association_complete_i(), OpenDDS::DCPS::DataWriterImpl::association_complete_i(), OpenDDS::DCPS::TcpTransport::async_connect_failed(), OpenDDS::DCPS::RequestedDeadlineWatchdog::cancel_timer(), OpenDDS::DCPS::DataReaderImpl::coherent_changes_completed(), OpenDDS::DCPS::ComparatorBase::compare(), OpenDDS::DCPS::TcpTransport::connect_datalink(), OpenDDS::DCPS::const_rchandle_cast(), OpenDDS::DCPS::SubscriberImpl::create_datareader(), OpenDDS::DCPS::TransportImpl::create_reactor_task(), OpenDDS::DCPS::RecorderImpl::data_received(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::DataLink::data_received_i(), OpenDDS::DCPS::PublisherImpl::delete_contained_entities(), OpenDDS::DCPS::TransportClient::disassociate(), OpenDDS::DCPS::WriteDataContainer::dispose(), OpenDDS::DCPS::dynamic_rchandle_cast(), OpenDDS::DCPS::DataWriterImpl::enable(), OpenDDS::DCPS::WriteDataContainer::enqueue(), OpenDDS::DCPS::RequestedDeadlineWatchdog::execute(), OpenDDS::DCPS::RemoveAssociationSweeper< T >::CancelCommand::execute(), OpenDDS::DCPS::RemoveAssociationSweeper< T >::ScheduleCommand::execute(), OpenDDS::DCPS::EndHistoricSamplesMissedSweeper::ScheduleCommand::execute(), OpenDDS::DCPS::TcpTransport::find_datalink_i(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::finish_store_instance_data(), OpenDDS::DCPS::TcpTransport::fresh_link(), OpenDDS::DCPS::Service_Participant::get_domain_participant_factory(), OpenDDS::DCPS::DataReaderImpl::get_matched_publication_data(), OpenDDS::DCPS::DataWriterImpl::get_matched_subscription_data(), OpenDDS::DCPS::DataReaderImpl::get_next_handle(), OpenDDS::DCPS::DataWriterImpl::handle_timeout(), OpenDDS::DCPS::TransportInst::impl(), OpenDDS::DCPS::MulticastLoader::init(), OpenDDS::DCPS::MonitorFactoryImpl::initialize(), OpenDDS::Federator::ManagerImpl::initialize(), OpenDDS::DCPS::UdpTransport::make_datalink(), OpenDDS::DCPS::MulticastTransport::make_datalink(), OpenDDS::DCPS::RcHandle< Directory >::operator bool(), OpenDDS::DCPS::RcHandle< Directory >::operator!=(), OpenDDS::DCPS::RakeResults< SampleSeq >::SortedSetCmp::operator()(), OpenDDS::DCPS::RcHandle< Directory >::operator<(), OpenDDS::DCPS::RcHandle< Directory >::operator==(), OpenDDS::DCPS::RtpsUdpDataLink::receive_strategy(), OpenDDS::DCPS::MulticastDataLink::receive_strategy(), OpenDDS::DCPS::TcpDataLink::reconnect(), OpenDDS::DCPS::WriteDataContainer::register_instance(), OpenDDS::DCPS::TcpTransport::release_datalink(), OpenDDS::DCPS::ReplayerImpl::remove_associations(), OpenDDS::DCPS::DataWriterRemoteImpl::remove_associations(), OpenDDS::DCPS::DataReaderRemoteImpl::remove_associations(), OpenDDS::DCPS::RecorderImpl::remove_associations_i(), DCPS_IR_Domain::remove_dead_participants(), DCPS_IR_Domain::remove_participant(), OpenDDS::DCPS::DataWriterImpl::reschedule_deadline(), OpenDDS::DCPS::DataReaderImpl::reschedule_deadline(), OpenDDS::DCPS::TcpDataLink::reuse_existing_connection(), OpenDDS::DCPS::RequestedDeadlineWatchdog::schedule_timer(), OpenDDS::DCPS::DataLinkSet::send_control(), OpenDDS::DCPS::TransportClient::send_i(), OpenDDS::DCPS::RtpsUdpDataLink::send_strategy(), OpenDDS::DCPS::MulticastDataLink::send_strategy(), OpenDDS::DCPS::OwnershipManager::set_instance_map(), OpenDDS::DCPS::TcpReceiveStrategy::start_i(), OpenDDS::DCPS::static_rchandle_cast(), OpenDDS::DCPS::WriteDataContainer::unregister(), OpenDDS::DCPS::OwnershipManager::unregister_reader(), OpenDDS::DCPS::DataWriterRemoteImpl::update_incompatible_qos(), OpenDDS::DCPS::DataReaderRemoteImpl::update_incompatible_qos(), OpenDDS::DCPS::DataWriterRemoteImpl::update_subscription_params(), OpenDDS::DCPS::TransportClient::use_datalink_i(), and OpenDDS::DCPS::PublisherImpl::wait_for_acknowledgments().
00126 { 00127 return this->ptr_; 00128 }
T*& OpenDDS::DCPS::RcHandle< T >::inout | ( | void | ) | [inline] |
Definition at line 135 of file RcHandle_T.h.
00136 { 00137 return this->ptr_; 00138 }
bool OpenDDS::DCPS::RcHandle< T >::is_nil | ( | void | ) | const [inline] |
Definition at line 120 of file RcHandle_T.h.
Referenced by OpenDDS::DCPS::TcpTransport::accept_datalink(), OpenDDS::DCPS::RtpsUdpTransport::accept_datalink(), OpenDDS::DCPS::MulticastTransport::accept_datalink(), OpenDDS::DCPS::StaticDiscovery::add_domain_participant(), OpenDDS::DCPS::DataLink::add_on_start_callback(), OpenDDS::DCPS::TransportClient::associate(), OpenDDS::DCPS::TransportRegistry::bind_config(), OpenDDS::DCPS::InfoRepoDiscovery::bit_config(), OpenDDS::DCPS::UdpTransport::connect_datalink(), OpenDDS::DCPS::TcpTransport::connect_datalink(), OpenDDS::DCPS::RtpsUdpTransport::connect_datalink(), OpenDDS::DCPS::MulticastTransport::connect_datalink(), OpenDDS::Security::SecurityRegistry::create_config(), OpenDDS::DCPS::DataLink::data_received_i(), OpenDDS::DCPS::DomainParticipantImpl::enable(), OpenDDS::DCPS::TransportClient::enable_transport(), OpenDDS::DCPS::MulticastDataLink::find_or_create_session(), OpenDDS::DCPS::TransportRegistry::fix_empty_default(), OpenDDS::DCPS::TcpTransport::fresh_link(), OpenDDS::DCPS::RtpsUdpDataLink::RtpsWriter::heartbeat_high(), OpenDDS::DCPS::MonitorFactoryImpl::initialize(), OpenDDS::DCPS::TransportClient::PendingAssoc::initiate_connect(), OpenDDS::DCPS::RtpsUdpDataLink::MultiSendBuffer::insert(), OpenDDS::DCPS::ReceiveListenerSetMap::insert(), OpenDDS::DCPS::Service_Participant::load_domain_configuration(), OpenDDS::DCPS::DataLink::make_reservation(), OpenDDS::FaceTSS::config::Parser::parse(), OpenDDS::DCPS::StaticDiscovery::parse_endpoints(), OpenDDS::DCPS::TcpTransport::passive_connection(), OpenDDS::DCPS::RtpsUdpDataLink::process_requested_changes(), OpenDDS::DCPS::TransportImpl::reactor(), OpenDDS::DCPS::TcpDataLink::reconnect(), OpenDDS::DCPS::DataLink::release_reservations(), OpenDDS::FileSystemStorage::Directory::remove(), OpenDDS::DCPS::DataLink::remove_all_msgs(), OpenDDS::DCPS::DataLink::remove_sample(), OpenDDS::Federator::ManagerImpl::repository(), OpenDDS::DCPS::TcpDataLink::reuse_existing_connection(), OpenDDS::DCPS::DataLink::schedule_delayed_release(), OpenDDS::DCPS::RtpsUdpDataLink::send_directed_nack_replies(), OpenDDS::DCPS::TransportClient::send_i(), OpenDDS::DCPS::RtpsUdpDataLink::send_nack_replies(), OpenDDS::DCPS::DataLink::send_start_i(), OpenDDS::DCPS::DataLink::send_stop_i(), OpenDDS::DCPS::TransportInst::shutdown(), OpenDDS::DCPS::TransportImpl::shutdown(), OpenDDS::DCPS::RtpsUdpTransport::shutdown_i(), OpenDDS::DCPS::DataLink::start(), OpenDDS::DCPS::MulticastTransport::start_session(), OpenDDS::DCPS::DataLink::stop(), OpenDDS::DCPS::TransportClient::use_datalink_i(), OpenDDS::DCPS::DataWriterImpl_T< MessageType >::write_w_timestamp(), and OpenDDS::DCPS::DataReaderImpl::writer_activity().
00121 { 00122 return this->ptr_ == 0; 00123 }
OpenDDS::DCPS::RcHandle< T >::operator bool | ( | void | ) | const [inline] |
Definition at line 154 of file RcHandle_T.h.
00155 { 00156 return in() != 0; 00157 }
bool OpenDDS::DCPS::RcHandle< T >::operator!= | ( | const RcHandle< T > & | rhs | ) | const [inline] |
Definition at line 164 of file RcHandle_T.h.
00165 { 00166 return in() != rhs.in(); 00167 }
T& OpenDDS::DCPS::RcHandle< T >::operator* | ( | void | ) | const [inline] |
Definition at line 115 of file RcHandle_T.h.
00116 { 00117 return *this->ptr_; 00118 }
T* OpenDDS::DCPS::RcHandle< T >::operator-> | ( | void | ) | const [inline] |
Definition at line 110 of file RcHandle_T.h.
00111 { 00112 return this->ptr_; 00113 }
bool OpenDDS::DCPS::RcHandle< T >::operator< | ( | const RcHandle< T > & | rhs | ) | const [inline] |
Definition at line 169 of file RcHandle_T.h.
00170 { 00171 return in() < rhs.in(); 00172 }
RcHandle& OpenDDS::DCPS::RcHandle< T >::operator= | ( | unique_ptr< U > | b | ) | [inline] |
Definition at line 96 of file RcHandle_T.h.
00097 { 00098 RcHandle<T> tmp(b.release(), keep_count()); 00099 swap(tmp); 00100 return *this; 00101 }
RcHandle& OpenDDS::DCPS::RcHandle< T >::operator= | ( | const RcHandle< U > & | b | ) | [inline] |
Definition at line 88 of file RcHandle_T.h.
00089 { 00090 RcHandle<T> tmp(b); 00091 swap(tmp); 00092 return *this; 00093 }
RcHandle& OpenDDS::DCPS::RcHandle< T >::operator= | ( | const RcHandle< T > & | b | ) | [inline] |
Definition at line 80 of file RcHandle_T.h.
bool OpenDDS::DCPS::RcHandle< T >::operator== | ( | const RcHandle< T > & | rhs | ) | const [inline] |
Definition at line 159 of file RcHandle_T.h.
00160 { 00161 return in() == rhs.in(); 00162 }
T*& OpenDDS::DCPS::RcHandle< T >::out | ( | void | ) | [inline] |
Definition at line 140 of file RcHandle_T.h.
void OpenDDS::DCPS::RcHandle< T >::reset | ( | T * | p, | |
U | counting_strategy | |||
) | [inline] |
Definition at line 74 of file RcHandle_T.h.
void OpenDDS::DCPS::RcHandle< T >::reset | ( | void | ) | [inline] |
Definition at line 67 of file RcHandle_T.h.
Referenced by OpenDDS::DCPS::TcpTransport::accept_datalink(), OpenDDS::DCPS::MulticastTransport::accept_datalink(), OpenDDS::DCPS::DataReaderImpl::data_received(), OpenDDS::DCPS::TcpTransport::find_datalink_i(), OpenDDS::DCPS::DataReaderImpl_T< MessageType >::lookup_instance(), OpenDDS::DCPS::DataReaderImpl::qos_change(), OpenDDS::DCPS::WriteDataContainer::register_instance(), OpenDDS::DCPS::TransportRegistry::release(), OpenDDS::FileSystemStorage::Directory::remove(), OpenDDS::DCPS::DataWriterImpl::set_qos(), OpenDDS::DCPS::UdpTransport::shutdown_i(), OpenDDS::DCPS::RtpsUdpTransport::shutdown_i(), OpenDDS::DCPS::DataLink::stop(), and OpenDDS::DCPS::DataReaderImpl::writer_activity().
void OpenDDS::DCPS::RcHandle< T >::swap | ( | RcHandle< T > & | rhs | ) | [inline] |
Definition at line 103 of file RcHandle_T.h.
Referenced by OpenDDS::RTPS::RtpsDiscovery::Config::discovery_config(), OpenDDS::DCPS::RcHandle< Directory >::operator=(), OpenDDS::DCPS::RcHandle< Directory >::reset(), and OpenDDS::DCPS::swap().
T* OpenDDS::DCPS::RcHandle< T >::ptr_ [private] |
The actual "unsmart" pointer to the T object.
Definition at line 192 of file RcHandle_T.h.
Referenced by OpenDDS::DCPS::RcHandle< Directory >::_retn(), OpenDDS::DCPS::RcHandle< Directory >::bump_down(), OpenDDS::DCPS::RcHandle< Directory >::bump_up(), OpenDDS::DCPS::RcHandle< Directory >::get(), OpenDDS::DCPS::RcHandle< Directory >::in(), OpenDDS::DCPS::RcHandle< Directory >::inout(), OpenDDS::DCPS::RcHandle< Directory >::is_nil(), OpenDDS::DCPS::RcHandle< Directory >::operator*(), OpenDDS::DCPS::RcHandle< Directory >::operator->(), OpenDDS::DCPS::RcHandle< Directory >::out(), and OpenDDS::DCPS::RcHandle< Directory >::swap().