Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

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 Methods

 TAO_Stub_Auto_Ptr (TAO_Stub *p=0)
 TAO_Stub_Auto_Ptr (TAO_Stub_Auto_Ptr &ap)
TAO_Stub_Auto_Ptr & operator= (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 434 of file Stub.h.


Constructor & Destructor Documentation

ACE_INLINE TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr TAO_Stub   p = 0
 

Definition at line 267 of file Stub.i.

References ACE_TRACE.

00268   : p_ (p)
00269 {
00270   ACE_TRACE ("TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr");
00271 }

ACE_INLINE TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr TAO_Stub_Auto_Ptr &    ap
 

Definition at line 306 of file Stub.i.

References ACE_TRACE.

00307   : p_ (rhs.release ())
00308 {
00309   ACE_TRACE ("TAO_Stub_Auto_Ptr::TAO_Stub_Auto_Ptr");
00310 }

ACE_INLINE TAO_Stub_Auto_Ptr::~TAO_Stub_Auto_Ptr void   
 

Definition at line 324 of file Stub.i.

References TAO_Stub::_decr_refcnt, ACE_TRACE, and get.

00325 {
00326   ACE_TRACE ("TAO_Stub_Auto_Ptr::~TAO_Stub_Auto_Ptr");
00327   if (this->get() != 0)
00328     this->get ()->_decr_refcnt ();
00329 }


Member Function Documentation

ACE_INLINE TAO_Stub * TAO_Stub_Auto_Ptr::get void    const
 

Definition at line 274 of file Stub.i.

References ACE_TRACE, and p_.

Referenced by operator *, operator->, operator>>, reset, and ~TAO_Stub_Auto_Ptr.

00275 {
00276   ACE_TRACE ("TAO_Stub_Auto_Ptr::get");
00277   return this->p_;
00278 }

ACE_INLINE TAO_Stub & TAO_Stub_Auto_Ptr::operator *   const
 

Definition at line 334 of file Stub.i.

References ACE_TRACE, and get.

00335 {
00336   ACE_TRACE ("TAO_Stub_Auto_Ptr::operator *()");
00337   // @@ Potential problem if this->p_ is zero!
00338   return *this->get ();
00339 }

ACE_INLINE TAO_Stub * TAO_Stub_Auto_Ptr::operator->   const
 

Definition at line 299 of file Stub.i.

References ACE_TRACE, and get.

00300 {
00301   ACE_TRACE ("TAO_Stub_Auto_Ptr::operator->");
00302   return this->get ();
00303 }

ACE_INLINE TAO_Stub_Auto_Ptr & TAO_Stub_Auto_Ptr::operator= TAO_Stub_Auto_Ptr &    rhs
 

Definition at line 313 of file Stub.i.

References ACE_TRACE, release, and reset.

00314 {
00315   ACE_TRACE ("TAO_Stub_Auto_Ptr::operator=");
00316   if (this != &rhs)
00317     {
00318       this->reset (rhs.release ());
00319     }
00320   return *this;
00321 }

ACE_INLINE TAO_Stub * TAO_Stub_Auto_Ptr::release void   
 

Definition at line 281 of file Stub.i.

References ACE_TRACE, and p_.

Referenced by CORBA_Object::_set_policy_overrides, TAO_CORBALOC_Parser::make_stub_from_mprofile, operator=, and operator>>.

00282 {
00283   ACE_TRACE ("TAO_Stub_Auto_Ptr::release");
00284   TAO_Stub *old = this->p_;
00285   this->p_ = 0;
00286   return old;
00287 }

ACE_INLINE void TAO_Stub_Auto_Ptr::reset TAO_Stub   p = 0
 

Definition at line 290 of file Stub.i.

References TAO_Stub::_decr_refcnt, ACE_TRACE, get, and p_.

Referenced by operator=.

00291 {
00292   ACE_TRACE ("TAO_Stub_Auto_Ptr::reset");
00293   if (this->get () != p && this->get () != 0)
00294     this->get ()->_decr_refcnt ();
00295   this->p_ = p;
00296 }


Member Data Documentation

TAO_Stub* TAO_Stub_Auto_Ptr::p_ [protected]
 

Definition at line 453 of file Stub.h.

Referenced by get, release, and reset.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:40:31 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002