TAO_Stub_Auto_Ptr Class Reference

Implements the draft C++ standard auto_ptr abstraction. This class allows one to work Stub Objects *Only*! More...

#include <Stub.h>

Collaboration diagram for TAO_Stub_Auto_Ptr:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TAO_Stub_Auto_Ptr (TAO_Stub *p=0)
 TAO_Stub_Auto_Ptr (TAO_Stub_Auto_Ptr &ap)
TAO_Stub_Auto_Ptroperator= (TAO_Stub_Auto_Ptr &rhs)
 ~TAO_Stub_Auto_Ptr (void)
TAO_Stuboperator * () const
TAO_Stubget (void) const
TAO_Stubrelease (void)
void reset (TAO_Stub *p=0)
TAO_Stuboperator-> () const

Protected Attributes

TAO_Stubp_

Detailed Description

Implements the draft C++ standard auto_ptr abstraction. This class allows one to work Stub Objects *Only*!

Definition at line 423 of file Stub.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr TAO_Stub p = 0  )  [explicit]
 

Definition at line 326 of file Stub.i.

References ACE_TRACE.

00327   : p_ (p)
00328 {
00329   ACE_TRACE ("TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr");
00330 }

ACE_INLINE TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr TAO_Stub_Auto_Ptr ap  ) 
 

Definition at line 365 of file Stub.i.

References ACE_TRACE.

00366   : p_ (rhs.release ())
00367 {
00368   ACE_TRACE ("TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr");
00369 }

ACE_INLINE TAO_Stub_Auto_Ptr::~TAO_Stub_Auto_Ptr void   ) 
 

Definition at line 383 of file Stub.i.

References TAO_Stub::_decr_refcnt(), ACE_TRACE, and get().

00384 {
00385   ACE_TRACE ("TAO_Stub_Auto_Ptr::~TAO_Stub_Auto_Ptr");
00386   if (this->get() != 0)
00387     this->get ()->_decr_refcnt ();
00388 }


Member Function Documentation

ACE_INLINE TAO_Stub * TAO_Stub_Auto_Ptr::get void   )  const
 

Definition at line 333 of file Stub.i.

References ACE_TRACE.

Referenced by operator *(), operator->(), operator>>(), reset(), CORBA::Object::tao_object_initialize(), CORBA::ORB::url_ior_string_to_object(), and ~TAO_Stub_Auto_Ptr().

00334 {
00335   ACE_TRACE ("TAO_Stub_Auto_Ptr::get");
00336   return this->p_;
00337 }

ACE_INLINE TAO_Stub & TAO_Stub_Auto_Ptr::operator *  )  const
 

Definition at line 393 of file Stub.i.

References ACE_TRACE, and get().

00394 {
00395   ACE_TRACE ("TAO_Stub_Auto_Ptr::operator *()");
00396   // @@ Potential problem if this->p_ is zero!
00397   return *this->get ();
00398 }

ACE_INLINE TAO_Stub * TAO_Stub_Auto_Ptr::operator->  )  const
 

Definition at line 358 of file Stub.i.

References ACE_TRACE, and get().

00359 {
00360   ACE_TRACE ("TAO_Stub_Auto_Ptr::operator->");
00361   return this->get ();
00362 }

ACE_INLINE TAO_Stub_Auto_Ptr & TAO_Stub_Auto_Ptr::operator= TAO_Stub_Auto_Ptr rhs  ) 
 

Definition at line 372 of file Stub.i.

References ACE_TRACE, release(), and reset().

00373 {
00374   ACE_TRACE ("TAO_Stub_Auto_Ptr::operator=");
00375   if (this != &rhs)
00376     {
00377       this->reset (rhs.release ());
00378     }
00379   return *this;
00380 }

ACE_INLINE TAO_Stub * TAO_Stub_Auto_Ptr::release void   ) 
 

Definition at line 340 of file Stub.i.

References ACE_TRACE.

Referenced by CORBA::Object::_set_policy_overrides(), TAO_CORBALOC_Parser::make_stub_from_mprofile(), operator=(), operator>>(), CORBA::Object::tao_object_initialize(), and CORBA::ORB::url_ior_string_to_object().

00341 {
00342   ACE_TRACE ("TAO_Stub_Auto_Ptr::release");
00343   TAO_Stub *old = this->p_;
00344   this->p_ = 0;
00345   return old;
00346 }

ACE_INLINE void TAO_Stub_Auto_Ptr::reset TAO_Stub p = 0  ) 
 

Definition at line 349 of file Stub.i.

References TAO_Stub::_decr_refcnt(), ACE_TRACE, and get().

Referenced by operator=().

00350 {
00351   ACE_TRACE ("TAO_Stub_Auto_Ptr::reset");
00352   if (this->get () != p && this->get () != 0)
00353     this->get ()->_decr_refcnt ();
00354   this->p_ = p;
00355 }


Member Data Documentation

TAO_Stub* TAO_Stub_Auto_Ptr::p_ [protected]
 

Definition at line 440 of file Stub.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 12:23:41 2006 for TAO by doxygen 1.3.6