/* -*- C++ -*- */ // $Id$ // Auto_Ptr.i template ACE_INLINE void auto_basic_ptr::operator= (auto_basic_ptr &rhs) { ACE_TRACE ("auto_basic_ptr::operator="); if (this != &rhs) { auto_basic_ptr::remove (p_); p_ = rhs.release (); } } template ACE_INLINE auto_basic_ptr::auto_basic_ptr (X *p) : p_ (p) { ACE_TRACE ("auto_basic_ptr::auto_basic_ptr"); } template ACE_INLINE auto_basic_ptr::auto_basic_ptr (auto_basic_ptr &ap) : p_ (ap.release ()) { ACE_TRACE ("auto_basic_ptr::auto_basic_ptr"); } template ACE_INLINE auto_basic_ptr::~auto_basic_ptr (void) { ACE_TRACE ("auto_basic_ptr::~auto_basic_ptr"); delete p_; } template ACE_INLINE X & auto_basic_ptr::operator *() const { return *p_; } template ACE_INLINE X * auto_basic_ptr::get (void) const { ACE_TRACE ("auto_basic_ptr::get"); return p_; } template ACE_INLINE X * auto_basic_ptr::release (void) { ACE_TRACE ("auto_basic_ptr::release"); return this->reset (0); } template ACE_INLINE X * auto_basic_ptr::reset (X *p) { ACE_TRACE ("auto_basic_ptr::reset"); X *tp = p_; p_ = p; return tp; } template ACE_INLINE auto_ptr::auto_ptr (X *p) : auto_basic_ptr (p) { ACE_TRACE ("auto_basic_ptr::auto_basic_ptr"); } template ACE_INLINE X * auto_ptr::operator-> () const { ACE_TRACE ("auto_ptr::operator->"); return p_; } template ACE_INLINE auto_basic_array_ptr::auto_basic_array_ptr (X *p) : p_ (p) { ACE_TRACE ("auto_basic_array_ptr::auto_basic_array_ptr"); } template ACE_INLINE auto_basic_array_ptr::auto_basic_array_ptr (auto_basic_array_ptr &ap) : p_ (ap.release ()) { ACE_TRACE ("auto_basic_array_ptr::auto_basic_array_ptr"); } template ACE_INLINE auto_basic_array_ptr::~auto_basic_array_ptr (void) { ACE_TRACE ("auto_basic_array_ptr::~auto_basic_array_ptr"); delete [] p_; } template ACE_INLINE X & auto_basic_array_ptr::operator*() { return *p_; } template ACE_INLINE X & auto_basic_array_ptr::operator[](int i) { return p_[i]; } template ACE_INLINE X auto_basic_array_ptr::operator[](int i) const { return p_[i]; } template ACE_INLINE X * auto_basic_array_ptr::get (void) const { ACE_TRACE ("auto_basic_array_ptr::get"); return p_; } template ACE_INLINE X * auto_basic_array_ptr::release (void) { ACE_TRACE ("auto_basic_array_ptr::release"); return this->reset (0); } template ACE_INLINE X * auto_basic_array_ptr::reset (X *p) { ACE_TRACE ("auto_basic_array_ptr::reset"); X *tp = p_; p_ = p; return tp; } template ACE_INLINE void auto_basic_array_ptr::operator= (auto_basic_array_ptr &rhs) { ACE_TRACE ("auto_basic_array_ptr::operator="); if (this != &rhs) { auto_basic_array_ptr::remove (p_); p_ = rhs.release (); } } template ACE_INLINE auto_array_ptr::auto_array_ptr (X *p) : auto_basic_array_ptr (p) { ACE_TRACE ("auto_basic_array_ptr::auto_basic_array_ptr"); } template ACE_INLINE X * auto_array_ptr::operator->() const { return p_; }