// -*- C++ -*- TAO_BEGIN_VERSIONED_NAMESPACE_DECL template ACE_INLINE TAO_Objref_Var_T::TAO_Objref_Var_T (void) : ptr_ (TAO::Objref_Traits::nil ()) { } template ACE_INLINE TAO_Objref_Var_T::~TAO_Objref_Var_T (void) { TAO::Objref_Traits::release (this->ptr_); } template ACE_INLINE T * TAO_Objref_Var_T::operator-> (void) const { return this->ptr_; } template ACE_INLINE TAO_Objref_Var_T::operator T * const & () const { return this->ptr_; } template ACE_INLINE TAO_Objref_Var_T::operator T *& () { return this->ptr_; } template ACE_INLINE T * TAO_Objref_Var_T::in (void) const { return this->ptr_; } template ACE_INLINE T *& TAO_Objref_Var_T::inout (void) { return this->ptr_; } template ACE_INLINE T *& TAO_Objref_Var_T::out (void) { TAO::Objref_Traits::release (this->ptr_); this->ptr_ = TAO::Objref_Traits::nil (); return this->ptr_; } template ACE_INLINE T * TAO_Objref_Var_T::_retn (void) { T * val = this->ptr_; this->ptr_ = TAO::Objref_Traits::nil (); return val; } template ACE_INLINE T * TAO_Objref_Var_T::ptr (void) const { return this->ptr_; } template ACE_INLINE void TAO_Objref_Var_T::free (void) { TAO::Objref_Traits::release (this->ptr_); } template ACE_INLINE void TAO_Objref_Var_T::reset (T * p) { TAO::Objref_Traits::release (this->ptr_); this->ptr_ = p; } // ****************************************************** template ACE_INLINE TAO_Objref_Out_T::TAO_Objref_Out_T (T *& p) : ptr_ (p) { this->ptr_ = TAO::Objref_Traits::nil (); } template ACE_INLINE TAO_Objref_Out_T::TAO_Objref_Out_T (TAO_Objref_Var_T & p) : ptr_ (p.out ()) { TAO::Objref_Traits::release (this->ptr_); this->ptr_ = TAO::Objref_Traits::nil (); } template ACE_INLINE TAO_Objref_Out_T::TAO_Objref_Out_T (const TAO_Objref_Out_T & p) : ptr_ (p.ptr_) { } template ACE_INLINE TAO_Objref_Out_T & TAO_Objref_Out_T::operator= (const TAO_Objref_Out_T & p) { this->ptr_ = p.ptr_; return *this; } template ACE_INLINE TAO_Objref_Out_T & TAO_Objref_Out_T::operator= (const TAO_Objref_Var_T & p) { this->ptr_ = TAO::Objref_Traits::duplicate (p.ptr ()); return *this; } template ACE_INLINE TAO_Objref_Out_T & TAO_Objref_Out_T::operator= (T * p) { this->ptr_ = p; return *this; } template ACE_INLINE T *& TAO_Objref_Out_T::ptr (void) { return this->ptr_; } template ACE_INLINE TAO_Objref_Out_T::operator T *& () { return this->ptr_; } template ACE_INLINE T * TAO_Objref_Out_T::operator-> (void) { return this->ptr_; } TAO_END_VERSIONED_NAMESPACE_DECL