// -*- C++ -*- TAO_BEGIN_VERSIONED_NAMESPACE_DECL template ACE_INLINE TAO_Objref_Var_T::TAO_Objref_Var_T () : ptr_ (TAO::Objref_Traits::nil ()) { } template ACE_INLINE TAO_Objref_Var_T::~TAO_Objref_Var_T () { TAO::Objref_Traits::release (this->ptr_); } template ACE_INLINE T * TAO_Objref_Var_T::operator-> () 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 () const { return this->ptr_; } template ACE_INLINE T *& TAO_Objref_Var_T::inout () { return this->ptr_; } template ACE_INLINE T *& TAO_Objref_Var_T::out () { TAO::Objref_Traits::release (this->ptr_); this->ptr_ = TAO::Objref_Traits::nil (); return this->ptr_; } template ACE_INLINE T * TAO_Objref_Var_T::_retn () { T * val = this->ptr_; this->ptr_ = TAO::Objref_Traits::nil (); return val; } template ACE_INLINE T * TAO_Objref_Var_T::ptr () const { return this->ptr_; } template ACE_INLINE void TAO_Objref_Var_T::free () { 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 () { return this->ptr_; } template ACE_INLINE TAO_Objref_Out_T::operator T *& () { return this->ptr_; } template ACE_INLINE T * TAO_Objref_Out_T::operator-> () { return this->ptr_; } TAO_END_VERSIONED_NAMESPACE_DECL