#include <ORB_Core_Auto_Ptr.h>
Collaboration diagram for TAO_ORB_Core_Auto_Ptr:
Public Member Functions | |
Initialization and termination methods | |
TAO_ORB_Core_Auto_Ptr (TAO_ORB_Core *p=0) | |
TAO_ORB_Core_Auto_Ptr (TAO_ORB_Core_Auto_Ptr &ap) | |
TAO_ORB_Core_Auto_Ptr & | operator= (TAO_ORB_Core_Auto_Ptr &rhs) |
~TAO_ORB_Core_Auto_Ptr (void) | |
Accessor methods. | |
TAO_ORB_Core & | operator * () const |
TAO_ORB_Core * | get (void) const |
TAO_ORB_Core * | release (void) |
void | reset (TAO_ORB_Core *p=0) |
TAO_ORB_Core * | operator-> () const |
Protected Attributes | |
TAO_ORB_Core * | p_ |
This class is used as an aid to make ORB initialization exception safe. It ensures that the ORB core is deallocated through its reference counting mechanism if an exception is thrown.
Definition at line 40 of file ORB_Core_Auto_Ptr.h.
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO_ORB_Core_Auto_Ptr::TAO_ORB_Core_Auto_Ptr | ( | TAO_ORB_Core * | p = 0 |
) | [explicit] |
ACE_INLINE TAO_ORB_Core_Auto_Ptr::TAO_ORB_Core_Auto_Ptr | ( | TAO_ORB_Core_Auto_Ptr & | ap | ) |
TAO_BEGIN_VERSIONED_NAMESPACE_DECL TAO_ORB_Core_Auto_Ptr::~TAO_ORB_Core_Auto_Ptr | ( | void | ) |
ACE_INLINE TAO_ORB_Core * TAO_ORB_Core_Auto_Ptr::get | ( | void | ) | const |
Definition at line 15 of file ORB_Core_Auto_Ptr.inl.
References p_.
Referenced by TAO_ORB_Core::create_object(), TAO_ORB_Core::initialize_object_i(), operator *(), operator->(), TAO_Stub::orb_core(), CORBA::ORB_init(), and reset().
00016 { 00017 return this->p_; 00018 }
ACE_INLINE TAO_ORB_Core & TAO_ORB_Core_Auto_Ptr::operator * | ( | ) | const |
Definition at line 53 of file ORB_Core_Auto_Ptr.inl.
References get().
00054 { 00055 // @@ Potential problem if this->p_ is zero! 00056 return *this->get (); 00057 }
ACE_INLINE TAO_ORB_Core * TAO_ORB_Core_Auto_Ptr::operator-> | ( | ) | const |
Definition at line 29 of file ORB_Core_Auto_Ptr.inl.
References get().
00030 { 00031 return this->get (); 00032 }
ACE_INLINE TAO_ORB_Core_Auto_Ptr & TAO_ORB_Core_Auto_Ptr::operator= | ( | TAO_ORB_Core_Auto_Ptr & | rhs | ) |
ACE_INLINE TAO_ORB_Core * TAO_ORB_Core_Auto_Ptr::release | ( | void | ) |
Definition at line 21 of file ORB_Core_Auto_Ptr.inl.
References p_.
Referenced by operator=().
00022 { 00023 TAO_ORB_Core *old = this->p_; 00024 this->p_ = 0; 00025 return old; 00026 }
void TAO_ORB_Core_Auto_Ptr::reset | ( | TAO_ORB_Core * | p = 0 |
) |
Definition at line 23 of file ORB_Core_Auto_Ptr.cpp.
Referenced by operator=(), and CORBA::ORB_init().
00024 { 00025 if (this->get () != p && this->get () != 0) 00026 { 00027 this->get ()->_decr_refcnt (); 00028 } 00029 00030 this->p_ = p; 00031 }
TAO_ORB_Core* TAO_ORB_Core_Auto_Ptr::p_ [protected] |